Oracle Corp.s release last fall of its Oracle9i Application Server marked the first determined effort in the market to combine the benefits of caching with an application server.
The product includes a Web cache and a read-only database cache, and both have the potential to expedite dynamic Web page generation (the whole point of an application server) without a lot of extra hardware or much extra complexity.
Caching can save money by letting businesses do more with less: In eWeek Labs tests, we were able to support many more users using the same test database hardware with a cache because the database needed to process far fewer queries overall.
"The big value here is dramatically reducing the hardware costs of this infrastructure," said John Magee, senior director of Oracle Internet Platform marketing, in Redwood Shores, Calif.
Although Oracle9i Web Cache is part of Oracle9i Application Server (and not available separately), the Web cache surprisingly has no connection whatsoever with the application server.
Oracle9i Web Cache is a stand-alone Web server that listens on its own dedicated port and passes HTTP requests it can?t or shouldnt cache back to another Web server (in this case, the application server). It can easily be installed on its own as well as by using its own installer.
To the application server, the Web cache looks like just another Web browser client. As such, it can be used with any application server on the market.
We tested the 9i Web Cache on Microsoft Corp.s Windows NT and Red Hat Inc.s Red Hat Linux and used the Apache Groups Tomcat as an application server. Oracle9i Application Server costs an expensive $30 per CPU MHz on Intel machines and $45 per CPU MHz on non-Intel-architecture Unix servers.
Oracle9i Web Cache is designed to cache HTML-based content, especially dynamic HTML-based content. The company has no plan right now to add features to cache streaming media and doesnt currently support SSL (Secure Sockets Layer) traffic, so it cannot be used to speed up secure Web traffic. SSL support is planned for release later this year.
Oracle9i Web Cache has specific support for not caching pages when particular cookie values change, such as a cookie containing a dynamically set session ID (we could identify by name particular cookies we wanted the cache to handle in special ways). As expected, the cache parses URL parameters to ensure that only requests to pages using the same parameters as previously cached pages are returned from the cache.
In tests, we saw huge speedups in some cases, but they varied widely depending on the amount of dynamic vs. static content and the complexity of database queries behind each page. For example, we went from 14 requests per second (uncached result) to 406 requests per second (cached result) on a dynamic catalog page.
At this point, our client driver system was at 100 percent CPU usage while the cache server was only at about 20 percent CPU usage, so the bottleneck was at the client, not the server.
Static content probably wont show these kinds of gains. On a static content test, we got 447 requests per second using Oracle9i Web Cache compared with 469 requests per second using Microsoft?s Internet Information Server.