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 20004000 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:
- 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.
- 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.
|