|  |
IBM Cache Advisor
A tool that assists customers and developers in effectively identifying and caching dynamic pages.
Date Posted: January 19, 2006
|
|
 |
 |
|
What is Cache Advisor?
Cache Advisor is an intelligent advising tool that generates optimal caching recommendations. The tool determines what needs to be cached and how to cache it without requiring significant knowledge of page design and cache infrastructure by customers and developers. Furthermore, it provides intelligent recommendations based on supporting evidence in order to increase caching opportunities when they arise, rather than using the old method of resorting to a programmer's intuition to figure out what should be cached.
The tool builds in expert system knowledge via user input, if it exists, in order to enhance the accuracy of the caching recommendations, and it generates a basic cache policy automatically. Note that this cache policy must be fine-tuned before it can be used in a production system. In addition, a GUI is created that displays the object relationships, in addition to the resulting recommendations, without requiring the developer to pore over lines of text or code. Using this tool reduces incorrect cache configurations that may cause system performance degradation.
How does it work? This tool uses a reverse-engineering approach in order to analyze the dynamic Web pages during authoring time and produces intelligent caching recommendations based on various dynamic properties of a page. This tool is designed for generic dynamic Web pages; however, the current implementation works for J2EE applications that use the technology of JavaServer Pages (JSP).
The tool consists of four main components: Scanner, Analyzer, Generator, Visualizer. The Scanner component takes a list of dynamic pages as input. Then, based on a dynamic page model (JSP, ASP, etc.), the Scanner puts out the dynamic page entities (relationships data described by an XML file). This data is then fed into the Analyzer component to be analyzed using the cacheability algorithm with "user-defined object" weighting schemes based on the Object Dependency Graph (ODG) model.
The Analyzer generates caching recommendations in an analysis report with Certainty Factors for each hypothesis (cached as a page fragment, cached as a composite page, or not cached). The Analyzer's output is in the form of an enhanced ODG with additional attributes described by an XML file. This enhanced ODG is used in the Generator component in order to generate a cache policy for the system based on the system's cache policy model. The enhanced ODG can also be passed to the Visualizer component for a graphical view of the objects and their dependencies.
|
|
 |

|  | About the technology author(s): James Tang is a staff developer working with the IBM WebSphere® Commerce Runtime and Performance Team. He holds a double-major Bachelor of Math degree in computer science and combinatorics and optimization from the University of Waterloo. During his career at IBM, Mr. Tang has worked on various components in the WebSphere Commerce product and has played a key role in maximizing the performance of WebSphere Commerce Web sites.
Cyrus T. Mills is an IBM software engineer working with the Service-Oriented Architecture Asset Repository (SOAR) Team. He holds a Master of Applied Science degree in computer engineering and Bachelor of Math in computer science from the University of Waterloo. While completing his research at IBM's Center for Advanced Studies (CAS), Mr. Mills worked with the WCS Performance Team.
| |
|
| |
|