Accessibility
 
 
Improving Web Site Performance Using Additional Caching Products
By: Dave Gruber
Product Manager for Allaire's
Web Systems Management Solutions

Technology products have used caching to increase performance for years. Simply put, a cache is a fast storage buffer used to increase the performance of a data request. Today's market offers numerous caching options that will enhance the performance of your ColdFusion Web site. This article reviews some of the more popular offerings out there that use widely adopted caching techniques.

A Little Caching History

DNS and page caching have been around for some time and are now critical to the operations of today's Internet. Specifically, over the past few years, caching has increasingly played a central role in reducing the amount of network traffic that travels across the Internet. ISPs widely implement large-scale caching servers at the edges of their networks to handle redundant requests coming from large user audiences.

Caching is now also becoming more popular for addressing database access speed. A number of vendors offer products positioned between a Web application server and the database server that cache frequently requested blocks of data from the database. Reducing the amount of database I/O can increase overall application performance 2000–4000 percent, depending on the amount of database access your application requires. Let's take a closer look at each of these caching technologies.

Web Caching

Web-caching products have become commonplace in ISPs around the world. Found throughout the Internet, Web caches provide two key benefits:

  1. They reduce networking bandwidth requirements as much as 35 percent. Because requests can be served locally at the edge of the network, a large percentage of requests never have to leave the local ISP and travel over the more expensive WAN.

  2. Web caches speed up the delivery of pages. Serving pages from Web caches at the network edges reduces overall network latency significantly and returns pages to the browser much faster.

Here's how they work. There are billions of available Web pages on the Internet, and a small percentage of these pages (or objects) is requested frequently. For example, the logo on Yahoo.com is displayed on browsers millions of time each day. If each request for that logo went to the server of origin, all those millions of end users would have a long wait for the image. However, storing local copies of the Yahoo logo rather than forwarding each request upstream to the origin server can speed up the request time for the logo.

Web caches are computers dedicated to monitoring which Web objects are frequently requested and storing those objects locally—such as the Yahoo logo. When these objects are later requested, the cache delivers the objects from its local storage rather than forwarding the request on to the origin server. The higher the number of people requesting the same object during its useful life, the more upstream traffic the cache eliminates. By serving object requests locally rather than passing them upstream to the origin server, Web caches reduce network traffic and improve the browsing experience for users.

To provide general access to this technology, a new category of service companies have evolved called content distribution networks. Popular players include Digital Island, Adero, and Akamai. These companies provide a service to push content from your Web site to caching servers at the edges of the Internet. They prepopulate these caches by replicating objects from your site to server farms around that world that are owned and managed by the service companies. In the process, they charge you a monthly service fee for the object replication and hosting. Ultimately, this service places popular content from your Web site in locations convenient to your customers, making your Web site appear much faster.

Database Caching

Another more recent caching option can add significant performance improvements to your local site implementation. A number of vendors, including SpiderCache, TimesTen, and Justa, now offer products that implement an intermediary database cache between your Web application server and your database server. These products can especially enhance the performance of a dynamic Web site. In some cases, they run on the Web application server, and in others they run on a separate server. In either case, they intercept the client's requests for pages, then determine if a cached copy of the complete file exists or if it needs to be generated to serve the client. Because of the high probability of repeat requests for the same dynamic content, this process achieves considerable performance gains.

About the Author

Dave Gruber is currently the Product Manager for Allaire's Web Systems Management solutions, which includes Allaire's clustering solutions and the upcoming new Harvest product. Harvest will provide multiserver management and monitoring, application deployment capabilities, and service-level reporting.

Dave joined Allaire in the spring of 1999 with the acquisition of Bright Tiger Technologies. At Bright Tiger, Dave was the Director of Systems Engineering and was the product evangelist for the award winning ClusterCATS product, now shipping with Allaire's Enterprise class solutions.

He will be discussing Web caching and intermediate database caching, as well as other approaches to improve Web site performance, at the upcoming Allaire Developer Conference 2000. Please join him there.