Caching In on the Enterprise grid Turbo-Charge Your Applica ations w1 Oracleas Web cache An Oracle Technical W hite Paper September 2005 ORACLE FUSION MIDDLEWARE
Caching In on the Enterprise Grid Turbo-Charge Your Applications with OracleAS Web Cache An Oracle Technical White Paper September 2005
OracleAs Web Cache Introduction to Grid Computing Information Technology Challenges Organizations Face Today..3 Grid Computing and Oracle,s grid Computing Offering Oracle Application Server 10g and its Benefits Performance, Scalability, and QoS on the Grid The Dynamic Content Dilemma Peak loads, Flash Crowds, Lights Out The End User is King…… Introducing Oracle Application Server Web Cache Efficient Use of Low-Cost, Existing Hardware Static and Dynamic Content Caching Invalidation for Cache Consistency polio Invalidation Messages Partial-Page Caching and Personalized Page Assembly ESI for Java (ESt-JSR 128 Automatic Compression Linear Scalability on Commodity Hardware…… Workload Management and reliability…… Web Server Load Balancing, Failover, and Connection Pooling..19 Surge Protection and Throttling Quality of Service Assurance Cache Clustering… Partitioning the Web Object Space for Linear Capacity Content Provisioning Failure Detection and Auto-Restart for Hands-Off Manageability 23 On-line Reconfiguration Without Loss of Service 24 Reduced Load on the Origin Servers…… End-User Experience Management. ole Deployment Op terogeneous Environment Branch Office hierarchies Customers and Return on Investment ROI: A Case Study of Di More Information.…. OracleAs Web Cache 10g(10.1.)-Technical White poration, All Rights Reserved
Page 2 OracleAS Web Cache 10g (10.1.2) -- Technical White Paper Copyright © 1999-2005 Oracle Corporation, All Rights Reserved OracleAS Web Cache Introduction to Grid Computing.................................................................... 3 Information Technology Challenges Organizations Face Today.......... 3 Grid Computing and Oracle’s Grid Computing Offering...................... 3 Oracle Application Server 10g and its Benefits ........................................ 4 Performance, Scalability, and QoS on the Grid............................................ 4 The Dynamic Content Dilemma................................................................ 5 Peak Loads, Flash Crowds, Lights Out ..................................................... 6 The End User is King .................................................................................. 6 Introducing Oracle Application Server Web Cache..................................... 7 Efficient Use of Low-Cost, Existing Hardware............................................ 8 Static and Dynamic Content Caching........................................................ 9 Invalidation for Cache Consistency ......................................................... 13 Expiration Policies ................................................................................. 13 Invalidation Messages............................................................................ 13 Partial-Page Caching and Personalized Page Assembly........................ 14 ESI for Java (JESI) – JSR 128 .............................................................. 16 Automatic Compression............................................................................ 17 Linear Scalability on Commodity Hardware........................................... 18 Workload Management and Reliability ........................................................ 19 Web Server Load Balancing, Failover, and Connection Pooling......... 19 Surge Protection and Throttling............................................................... 20 Quality of Service Assurance .................................................................... 20 Cache Clustering ......................................................................................... 21 Partitioning the Web Object Space for Linear Capacity................... 22 Content Provisioning............................................................................. 23 Failure Detection and Auto-Restart for Hands-Off Manageability 23 On-line Reconfiguration Without Loss of Service............................ 24 Reduced Load on the Origin Servers .................................................. 24 End-User Experience Management.............................................................. 25 Flexible Deployment Options....................................................................... 27 Integrated with the Oracle Technology Stack ........................................ 28 Heterogeneous Environments.................................................................. 29 Branch Office Hierarchies......................................................................... 29 Customers and Return on Investment......................................................... 30 ROI: A Case Study of Digital River........................................................ 31 Turning Cache into Cash ...................................................................... 32 Summary........................................................................................................... 32 More Information ........................................................................................... 33
INTRODUCTION TO GRID COMPUTING Information Technology Challenges Organizations Face Today The primary challenge facing organizations today is the high cost of their information technology infrastructure. This high cost arises from three related 1. Excess Computing Capacity that is poorly utilized due to the need to build capacity for peaks and the inability to use th 2. Expensine Capacity Growth due to the inability to add capacity quickly, when needed, and in low-cost, modular units to avoid further compounding the xcess capacity 3. Higb Cost of Management due to the complexity of systems; the specialized tools, procedures, and skills required; and the large amounts of human intervention needed to manage systems Grid Computing and Oracle's Grid Computing Offering Grid Computing is a new software architecture designed to effectively pool together large amounts of low-cost modular storage and servers to create a virtual computing resource across which work can be transparently distributed to use capacity efficiently, at low cost, and with high availability. The resources in a grid pooling resources together, Grid Computing can offer dependable, consistent, pervasive, and inexpensive access to these resources regardless of their location and when needed, thereby fulfilling the need for computing capacity on-demand While grid Computing has primarily been used by the scientific community to solve very specialized problems, the rapid evolution of cost-effective networked storage; high speed, high density blade servers; high speed network interconnects and low cost operating systems; together with the evolving capabilities of systems software(databases and application servers) to exploit these advances have now made it possible for enterprises to leverage the benefits of Grid Computing Oracle offers a comprehensive solution to manage information and run Enterprise Applications on Grids using Oracle Database 10g and Oracle Application Server 10g. Both Oracle Database 10g and Oracle Application Server 10g can be managed in a Grid Computing environment using Oracle Grid Control. Together thes products address the challenges faced by IT organizations today Radically Reduce or Eliminate Excess Computing Capacity by automatically load balancing workloads to use spare capacity efficiently, eliminating"islands Proride Inexpen sine Capacity Growth by adding capacity on-demand in low cost modular units OracleAS Web Cache 10g(10.1.2)-Technical White Pape poration, All Rights Reserved
Page 3 OracleAS Web Cache 10g (10.1.2) -- Technical White Paper Copyright © 1999-2005 Oracle Corporation, All Rights Reserved INTRODUCTION TO GRID COMPUTING Information Technology Challenges Organizations Face Today The primary challenge facing organizations today is the high cost of their information technology infrastructure. This high cost arises from three related causes: 1. Excess Computing Capacity that is poorly utilized due to the need to build capacity for peaks, and the inability to use the spare capacity efficiently 2. Expensive Capacity Growth due to the inability to add capacity quickly, when needed, and in low-cost, modular units to avoid further compounding the problem of excess capacity 3. High Cost of Management due to the complexity of systems; the specialized tools, procedures, and skills required; and the large amounts of human intervention needed to manage systems. Grid Computing and Oracle’s Grid Computing Offering Grid Computing is a new software architecture designed to effectively pool together large amounts of low-cost modular storage and servers to create a virtual computing resource across which work can be transparently distributed to use capacity efficiently, at low cost, and with high availability. The resources in a Grid can include storage, servers, databases, application servers, and applications. By pooling resources together, Grid Computing can offer dependable, consistent, pervasive, and inexpensive access to these resources regardless of their location and when needed, thereby fulfilling the need for computing capacity on-demand. While Grid Computing has primarily been used by the scientific community to solve very specialized problems, the rapid evolution of cost-effective networked storage; high speed, high density blade servers; high speed network interconnects; and low cost operating systems; together with the evolving capabilities of systems software (databases and application servers) to exploit these advances have now made it possible for enterprises to leverage the benefits of Grid Computing. Oracle offers a comprehensive solution to manage information and run Enterprise Applications on Grids using Oracle Database 10g and Oracle Application Server 10g. Both Oracle Database 10g and Oracle Application Server 10g can be managed in a Grid Computing environment using Oracle Grid Control. Together these products address the challenges faced by IT organizations today: • Radically Reduce or Eliminate Excess Computing Capacity by automatically load balancing workloads to use spare capacity efficiently, eliminating “islands of computation” • Provide Inexpensive Capacity Growth by adding capacity on-demand in lowcost modular units
Radially Lomer Cost of Management by centralizing administration of the esources in a grid and automating provisioning and administration tasks these res Oracle Application Server 10g and its Benefits Oracle Application Server 10g, the next generation of Oracle's Integrated Software Infrastructure for Enterprise Applications, has been designed to enable grid Computing. It has been designed to effectively pool together large numbers of low-cost servers to create a virtual computing resource across which enterprise applications can be transparently distributed to use capacity efficiently, at low cost, and with high availability. Any existing application that runs on Oracle Applicatio Server can transparently take advantage of Grid Computing without any change Service-Oriented Applications will find additional benefits when deployed in a Grid. Oracle Application Server 10g provides a number of Grid Computing features, most importantly Radicaly reduce or Eliminate Exzess Computing Capacity through Policy-Based Resource Management; Metrics-based Workload Management; and a variety of advanced back-up, disaster recovery, and clustered fail-over solutions to provide maximum availability in a grid. Proride modular, Inexpensive Capacity Growth through Automated Installation, Configuration, and Software Provisioning(including both software cloning and patch management) across hundreds of nodes in a grid Radically lower Cost of management and eliminate human errors in management through Centralized Systems Monitoring, Unified Application Server Cluster Management (including Cluster Monitoring, Cluster Optimization, and Cluster-wide Application Deployment), and centralized Identity Management across a Grid. PERFORMANCE, SCALABILITY, AND QOS ON THE GRID IT managers and software developers face strict performance, scalability, and quality of service(Qos)requirements for Web-based applications, whether or not their applications are deployed in a grid environment. To be successful, IT' administrators must protect against poor response times and system outages caused by peak loads, at the same time, they must also contain costs. For their part, successful application developers must consider performance and scalability at design time, not as a post-deployment tuning exercise. Today's IT managers and software developers face three main performance-related 1. Dynamic, Web-based applications are compu re asked to do more with less 2. Unexpected traffic surges can cause delays and outages, yet planning for peak loads is cost-prohibitive OracleAS Web Cache 10g(10.1.2)-Technical White Pape poration, All Rights Reserved
Page 4 OracleAS Web Cache 10g (10.1.2) -- Technical White Paper Copyright © 1999-2005 Oracle Corporation, All Rights Reserved • Radically Lower Cost of Management by centralizing administration of the resources in a Grid and automating provisioning and administration tasks across these resources Oracle Application Server 10g and its Benefits Oracle Application Server 10g, the next generation of Oracle’s Integrated Software Infrastructure for Enterprise Applications, has been designed to enable Grid Computing. It has been designed to effectively pool together large numbers of low-cost servers to create a virtual computing resource across which enterprise applications can be transparently distributed to use capacity efficiently, at low cost, and with high availability. Any existing application that runs on Oracle Application Server can transparently take advantage of Grid Computing without any changes. Service-Oriented Applications will find additional benefits when deployed in a Grid. Oracle Application Server 10g provides a number of Grid Computing features, most importantly: • Radically Reduce or Eliminate Excess Computing Capacity through Policy-Based Resource Management; Metrics-based Workload Management; and a variety of advanced back-up, disaster recovery, and clustered fail-over solutions to provide maximum availability in a Grid. • Provide Modular, Inexpensive Capacity Growth through Automated Installation, Configuration, and Software Provisioning (including both software cloning and patch management) across hundreds of nodes in a Grid. • Radically Lower Cost of Management and eliminate human errors in management through Centralized Systems Monitoring, Unified Application Server Cluster Management (including Cluster Monitoring, Cluster Optimization, and Cluster-wide Application Deployment), and centralized Identity Management across a Grid. PERFORMANCE, SCALABILITY, AND QOS ON THE GRID IT managers and software developers face strict performance, scalability, and quality of service (QoS) requirements for Web-based applications, whether or not their applications are deployed in a Grid environment. To be successful, IT administrators must protect against poor response times and system outages caused by peak loads; at the same time, they must also contain costs. For their part, successful application developers must consider performance and scalability at design time, not as a post-deployment tuning exercise. Today’s IT managers and software developers face three main performance-related challenges: 1. Dynamic, Web-based applications are compute-intensive, yet IT personnel are asked to do more with less 2. Unexpected traffic surges can cause delays and outages, yet planning for peak loads is cost-prohibitive
3. Users are demanding sub-second response times, yet visibility into end- user service levels is poor The Dynamic Content Dilemma While fast response times are crucial for revenue generation, companies must also retain users and control costs if they want to become (or remain) profitable. The problem of user retention is most often addressed by delivering dynamic personalized content to each user. Yet as the Aberdeen group aptly warns, customizing each Web page raises the ever-present cost specter. " Customized content generated at the moment of request often translates into high hardware, software and data management costs. Without an adequate infrastructure, customized content could do more harm than good -degrading the firms brand, slowing customer service, or, in the worst case, causing a customer to turn away and go to a competitor. 1 One alternative is to design Web pages using only static content. In terms of computation and resource utilization, static content is easy to generate and deliver, and most static Web sites will perform adequately under heavy load. One of the problems with this approach is that without a dynamic, database-driven infrastructure, content management becomes difficult. Every time an update is nade. the static Web site has to be While static content may have been sufficient for first-generation Web design, todays e-businesses must offer customers a more compelling user experience. E business is anything but static. Companies must exchange data in real-time with other companies, and customer retention demands an interactive, one-to-one relationship with consumers. For these reasons and more, database-driven, ated content is at the heart of today's Web-based applic architecture Despite its prominent architectural role, dynamic content generation poses significant challenges for e-business managers who struggle to control costs without sacrificing perfo rmance To paraphrase the Aberdeen Group report cited earlier, generating content on the fly involves several steps that inevitably utilize a large amount of computing power and, under load, can lead to performance bottlenecks The typical steps can be summarized as follows. In order for a Web browser to request content from a Web server, the users chent machine must first connect to the Web server Once connected the browsers Http request has to be parsed by the Web server thE Http request may contain parameters and header information that must be passed to a"presentation"mechanism for appropriate content retrieval and formatting. If the requested content requires formatting by a servlet or SP, then the Web server must connect to a runtime environment(e. g Apache Tomcat), which may be running on a separate machine. Once invoked, the servlet may instantiate a number of Java classes which query a database, requiring further network connections, since the database is typically running on a dedicated machine of its own. Ultimately, the formatted content is returned to the Web I Aberdeen Group, Aazlerating Web Site Perfornance by Caching Dynamic Content, January 2001 OracleS Web Cache 10g(1 Technical White Pape ation, All Rights Reserved
Page 5 OracleAS Web Cache 10g (10.1.2) -- Technical White Paper Copyright © 1999-2005 Oracle Corporation, All Rights Reserved 3. Users are demanding sub-second response times, yet visibility into enduser service levels is poor The Dynamic Content Dilemma While fast response times are crucial for revenue generation, companies must also retain users and control costs if they want to become (or remain) profitable. The problem of user retention is most often addressed by delivering dynamic, personalized content to each user. Yet as the Aberdeen Group aptly warns, customizing each Web page raises the ever-present cost specter. “Customized content generated at the moment of request often translates into high hardware, software and data management costs. Without an adequate infrastructure, customized content could do more harm than good – degrading the firm's brand, slowing customer service, or, in the worst case, causing a customer to turn away and go to a competitor.”1 One alternative is to design Web pages using only static content. In terms of computation and resource utilization, static content is easy to generate and deliver, and most static Web sites will perform adequately under heavy load. One of the problems with this approach is that without a dynamic, database-driven infrastructure, content management becomes difficult. Every time an update is made, the static Web site has to be redesigned and republished. While static content may have been sufficient for first-generation Web design, today’s e-businesses must offer customers a more compelling user experience. Ebusiness is anything but static. Companies must exchange data in real-time with other companies, and customer retention demands an interactive, one-to-one relationship with consumers. For these reasons and more, database-driven, dynamically generated content is at the heart of today’s Web-based application architectures. Despite its prominent architectural role, dynamic content generation poses significant challenges for e-business managers who struggle to control costs without sacrificing performance. To paraphrase the Aberdeen Group report cited earlier, generating content on the fly involves several steps that inevitably utilize a large amount of computing power and, under load, can lead to performance bottlenecks. The typical steps can be summarized as follows. In order for a Web browser to request content from a Web server, the user’s client machine must first connect to the Web server. Once connected, the browser’s HTTP request has to be parsed by the Web server. The HTTP request may contain parameters and header information that must be passed to a “presentation” mechanism for appropriate content retrieval and formatting. If the requested content requires formatting by a servlet or JSP, then the Web server must connect to a runtime environment (e.g., Apache Tomcat), which may be running on a separate machine. Once invoked, the servlet may instantiate a number of Java classes which query a database, requiring further network connections, since the database is typically running on a dedicated machine of its own. Ultimately, the formatted content is returned to the Web 1 Aberdeen Group, Accelerating Web Site Performance by Caching Dynamic Content, January 2001
server, which finally delivers the full page to the browser. The browser may then initiate several subsequent Http rEqueSts to retrieve the embedded(static) page For any given Web-based application, a large percentage of dynamic requests are made for identical or similar content, meaning that repeated requests for dnamic pages place a significant strain on application infrastructure. The higher the user load, the more accentuated the inefficiencies. To deal with this challenge, IT managers need state of-the-art caching and compression mechanisms that enable more efficient use of existing, low-cost hardware Peak Loads, Flash Crowds, Lights Out Considering the runtime, disk I/O, and network operations just described, one can appreciate how the computational overhead associated with building pages"on the for thousands of concurrent users can result in increasing delays and failures in data delivery. Many enterprise data centers try to counter this problem by addin more servers to their existing architectures. In order to sustain performance under ever-mounting loads, a successful CIO may need to multiply her investment in hardware and software by a factor of ten or more on a yearly basis. Capital outlay of such inordinate magnitude is not unheard of, and many online businesses and enterprise IT' departments have disproportionately large data center infrastructures for this reason But capacity planning is not a simple task. Even very large application infrastructures sometimes fail to produce the scalability, availability, and response time service levels demanded by a growing customer base, as illustrated by a number of high-profile Web site outages over the past few years. Not only is the number of Internet and enterprise users increasing, but also the volume and frequency of denial-of-service attacks are on the rise. The days when hardware companies offered free equipment to high-profile dotcom startups are long gone. In todays profit-conscious economy, the ultimate challeng for software developers and systems managers is to make dynamic applications perform and scale while at the same time lowering the infrastructure costs required to meet capacity targets. Caching and compression can help, but IT managers also need sophisticated workload management tools at their disposal in order to cost effectively contain flash crowds and other unexpected surges in traffic The End User is King End users expect Web-based applications to be fast. A 2001 Zona Research report entitled The Need for Speed II highlights the importance of adhering to what has become known as the"eight second rule": if consumers cannot download a Wel page within eight seconds, they may jump to a competitor's site or take their business off the Web entirely. With regard to the economic impact of slow Web sites, Zona finds"more than $25 billion [annually] in potential lost business due to Web performance issues. 2 Zona Research, Tbe Need for Speed ll, April 200 OracleAS Web Cache 10g(10.1.2)-Technical White Pape poration, All Rights Reserved
Page 6 OracleAS Web Cache 10g (10.1.2) -- Technical White Paper Copyright © 1999-2005 Oracle Corporation, All Rights Reserved server, which finally delivers the full page to the browser. The browser may then initiate several subsequent HTTP requests to retrieve the embedded (static) page elements. For any given Web-based application, a large percentage of dynamic requests are made for identical or similar content, meaning that repeated requests for dynamic pages place a significant strain on application infrastructure. The higher the user load, the more accentuated the inefficiencies. To deal with this challenge, IT managers need stateof-the-art caching and compression mechanisms that enable more efficient use of existing, low-cost hardware. Peak Loads, Flash Crowds, Lights Out Considering the runtime, disk I/O, and network operations just described, one can appreciate how the computational overhead associated with building pages “on the fly” for thousands of concurrent users can result in increasing delays and failures in data delivery. Many enterprise data centers try to counter this problem by adding more servers to their existing architectures. In order to sustain performance under ever-mounting loads, a successful CIO may need to multiply her investment in hardware and software by a factor of ten or more on a yearly basis. Capital outlay of such inordinate magnitude is not unheard of, and many online businesses and enterprise IT departments have disproportionately large data center infrastructures for this reason. But capacity planning is not a simple task. Even very large application infrastructures sometimes fail to produce the scalability, availability, and response time service levels demanded by a growing customer base, as illustrated by a number of high-profile Web site outages over the past few years. Not only is the number of Internet and enterprise users increasing, but also the volume and frequency of denial-of-service attacks are on the rise. The days when hardware companies offered free equipment to high-profile dotcom startups are long gone. In today’s profit-conscious economy, the ultimate challenge for software developers and systems managers is to make dynamic applications perform and scale while at the same time lowering the infrastructure costs required to meet capacity targets. Caching and compression can help, but IT managers also need sophisticated workload management tools at their disposal in order to costeffectively contain flash crowds and other unexpected surges in traffic. The End User is King End users expect Web-based applications to be fast. A 2001 Zona Research report entitled The Need for Speed II highlights the importance of adhering to what has become known as the “eight second rule”: if consumers cannot download a Web page within eight seconds, they may jump to a competitor’s site or take their business off the Web entirely. With regard to the economic impact of slow Web sites, Zona finds “more than $25 billion [annually] in potential lost business due to Web performance issues.”2 2 Zona Research, The Need for Speed II, April 2001
.. when the numbers are all added up Economic impact aside, eight seconds is actually a long time to wait for a Web page this amounts to a stunning to load. Business applications users, in particular, are accustomed to sub-second response times serviced by legacy client/server and terminal/mainframe design practices of many of the largest With an average page response time of And yet most developers and If managers have no idea what service levels their end more than 17 seconds running across users are experiencing. This is because existing monitoring tools and services are group(as seen by 56kbps modem insufficient: users), it is clear that retailers are much more concerned about delivering fancy The data prorided by serrices and tools is misleading. End users do not sit in graphics and dynamic banner ads te service providers' data centers. And client software, hardware, connection Internet buyers than they are with speed, and physical location vary from user to user levels to potential buyers. The huge bulk The data is incomplete. Traditional monitoring solutions only monitor some of the pages some of the time. The solutions do not monitor the entire abandon nearly one out of every two application all of the time. Nor are they capable of tracking the experience buying attempts on retail Web sites. The of individual, named users, such as the company President or CEO total dollar value of that abandonment could mount to over $25 billion this The solution scope is limited. Too often, intranet applications are simply ignored. Many IT shops stress test an application before putting it production, but then wait until users complain before they realize there is a Zona Research, The Need for Speed ll performance issue with a live system. In this equation, the quality of service experienced by actual end users is lost. IT unknown and unresolved, to the detriment of the ever-important en uscr performance metrics. Without this knowledge, performance problems rema INTRODUCING ORACLE APPLICATION SERVER WEB CACHE Caching, compression, and workload management are key technologies that promise to alleviate the computational and economic burdens faced by todays overstrained application infrastructures. Nearly all applications benefit from hav Web content cached on nodes between the consumers searching for content any a the content source itself, known as the origin server. Compressing the content not only saves bandwidth but can significantly improve response times for remote users or users on low-bandwidth networks. And workload management ensures quality of service during peak loads and unforeseen traffic spikes The main challenges of dynamic Web page caching are the volatility and variation the same page, individual users may see different content ace s fog to persona of the content. Some parts of a page may change more rapidly than others, and for preferences or roles. To address these challenges, Oracle Application Server contains innovative Web caching technology-OracleAs Web Cache -designed to increase throughput, shorten response times, boost scalability, ensure reliability, and reduce infrastructure costs. Often referred to as a"reverse proxy", OracleAs Web Cache is a state-of-the-art serner acceleration solution, yielding throughput rates of several thousand requests per second on commodity hardware. OracleAS Web Cache 10g(10.1.2)-Technical White Pape poration, All Rights Reserved
Page 7 OracleAS Web Cache 10g (10.1.2) -- Technical White Paper Copyright © 1999-2005 Oracle Corporation, All Rights Reserved Economic impact aside, eight seconds is actually a long time to wait for a Web page to load. Business applications users, in particular, are accustomed to sub-second response times serviced by legacy client/server and terminal/mainframe applications. And yet most developers and IT managers have no idea what service levels their end users are experiencing. This is because existing monitoring tools and services are insufficient: • The data provided by services and tools is misleading. End users do not sit in service providers’ data centers. And client software, hardware, connection speed, and physical location vary from user to user. • The data is incomplete. Traditional monitoring solutions only monitor some of the pages some of the time. The solutions do not monitor the entire application all of the time. Nor are they capable of tracking the experience of individual, named users, such as the company President or CEO. • The solution scope is limited. Too often, intranet applications are simply ignored. Many IT shops stress test an application before putting it production, but then wait until users complain before they realize there is a performance issue with a live system. In this equation, the quality of service experienced by actual end users is lost. IT managers and developers need better tools to gather real-world application performance metrics. Without this knowledge, performance problems remain unknown and unresolved, to the detriment of the ever-important end user. INTRODUCING ORACLE APPLICATION SERVER WEB CACHE Caching, compression, and workload management are key technologies that promise to alleviate the computational and economic burdens faced by today’s overstrained application infrastructures. Nearly all applications benefit from having Web content cached on nodes between the consumers searching for content and the content source itself, known as the origin server. Compressing the content not only saves bandwidth but can significantly improve response times for remote users or users on low-bandwidth networks. And workload management ensures quality of service during peak loads and unforeseen traffic spikes. The main challenges of dynamic Web page caching are the volatility and variation of the content. Some parts of a page may change more rapidly than others, and for the same page, individual users may see different content according to personal preferences or roles. To address these challenges, Oracle Application Server contains innovative Web caching technology – OracleAS Web Cache – designed to increase throughput, shorten response times, boost scalability, ensure reliability, and reduce infrastructure costs. Often referred to as a “reverse proxy”, OracleAS Web Cache is a state-of-the-art server acceleration solution, yielding throughput rates of several thousand requests per second on commodity hardware. “…when the numbers are all added up, this amounts to a stunning condemnation of the Web site content design practices of many of the largest electronic retailing sites in the country. With an average page response time of more than 17 seconds running across the group (as seen by 56kbps modem users), it is clear that retailers are much more concerned about delivering fancy graphics and dynamic banner ads to Internet buyers than they are with delivering acceptable performance levels to potential buyers. The huge bulk of dialup modem users will continue to abandon nearly one out of every two buying attempts on retail Web sites. The total dollar value of that abandonment could mount to over $25 billion this year.” Zona Research, The Need for Speed II
Oracle Applicauion Seive Figure 1: Deployed between browser clients and application Web servers, Oracle AS Web Cache uses caching and compression technologies to speed the delivery of Web-based applications. OracleS Web Cache 10g is the Key Oracle AS Web Cache features include software industry,'s leading application acceleration solution. Efficient use of low-cost, existing hardwar Designed for enterprise grid Workload management and reliability computing, OracleAs Web Cache End-user experience management and compression technologies to optimize application performanc Flexible deployment options and integration with the Oracle stack nd more efficiently utilize low-cost, existing hardware cos. Built-in The following pages will address the features listed above, making sure to highlight workload management features the benefits of each. Briefly, the benefits of Oracle AS Web Cache can be measured ensure application reliability and by dramatic improvements in the following areas help maintain quality of service Resouroe u sage- higher throughput and scalability under heavy loads And new in this release, end-user performance User experience-faster response times without sacrificing personalization monitoring features provide Arailabiliry-intelligent workload management Productinity-no need to roll your own cache means faster time-to-market Bottom line-reduced 1 ructure load translates into cost savings Intelligence- better visibility into end-user service levels EFFICIENT USE OF LOW-COST EXISTING HARDWARE A high percentage of Web application requests are made for identical or similar ontent, meaning that repeated requests for dynamic pages place a significant strain on application infrastructure. The more users on the system, the more apparent the OracleS Web Cache 10g(1 Technical White Paper ation, All Rights Reserved
Page 8 OracleAS Web Cache 10g (10.1.2) -- Technical White Paper Copyright © 1999-2005 Oracle Corporation, All Rights Reserved Figure 1: Deployed between browser clients and application Web servers, OracleAS Web Cache uses caching and compression technologies to speed the delivery of Web-based applications. Key OracleAS Web Cache features include: • Efficient use of low-cost, existing hardware • Workload management and reliability • End-user experience management • Flexible deployment options and integration with the Oracle stack The following pages will address the features listed above, making sure to highlight the benefits of each. Briefly, the benefits of OracleAS Web Cache can be measured by dramatic improvements in the following areas: • Resource usage – higher throughput and scalability • User experience – faster response times without sacrificing personalization • Availability – intelligent workload management • Productivity – no need to roll your own cache means faster time-to-market • Bottom line – reduced infrastructure load translates into cost savings • Intelligence – better visibility into end-user service levels EFFICIENT USE OF LOW-COST, EXISTING HARDWARE A high percentage of Web application requests are made for identical or similar content, meaning that repeated requests for dynamic pages place a significant strain on application infrastructure. The more users on the system, the more apparent the OracleAS Web Cache 10g is the software industry's leading application acceleration solution. Designed for enterprise grid computing, OracleAS Web Cache leverages state-of-the-art caching and compression technologies to optimize application performance and more efficiently utilize low-cost, existing hardware resources. Built-in workload management features ensure application reliability and help maintain quality of service under heavy loads. And new in this release, end-user performance monitoring features provide unparalleled insight into end-user service levels
inefficiencies become. To make more efficient use of existing, low-cost hardware, IT managers can turn to the intelligent caching and compression services of OracleAS Web Cache Static and Dynamic Content Caching With its ability to cache both static and dynamically generated Web content, Oracle AS Web Cache takes the pressure off busy Web sites and Web-based applications by storing frequently accessed pages in memory, eliminating the need to repeatedly process requests for those pages on mid-tier servers and databases. In a typical deployment, OracleAS Web Cache is logically positioned in front of a farm of application Web servers, caching their content, and providing that content to Web browsers that request it. Acting as the virtual server for the application, Oracle AS Web Cache intercepts all requests made to the Web site. Web Cache either returns the requested objects if they are present in the cache or, upon a cache miss", forwards the request via Http to one of the application Web servers the server farm. The application Web server, also known as the origin server, generates the response and sends it back to Oracle AS Web Cache. The response may be generated using JSP, Servlet, CGI, PHP, PL/SQL, ASP, or any other technology capable of outputting content for transmission over Http. Oracles Web Cache stores any cacheable objects returned by the origin server and forwards With Oracle AS Web Cache serving the response to the browser. performance increase is great Caching policies are configured by an administrator using"caching rules"and require no application modifications. However, developers may also opt to express cacheability policies in response headers. As OracleAs Web Cache becomes increased bandwidth and server populated, it is able to serve more of the requested content itself. This, in turn, frees up processing resources on the Web, application and database servers ass processing- not just on the rs, but also by web Oracle AS Web Cache is truly unique in the marketplace. Products and services that cache static content are typically unable to serve dynamic content because they lack ner has more time to get out the means to manage the consistency of Web pages vis-a-vis the data sources used Specialized experience is all about. to create them. When deployed as server accelerators, traditional (naive) caching products force customers to rely on expensive and complex content propagation tools to update their caches with new content. Furthermore, these content Bicycle Components, Inc. propagation tools cannot handle the volume and frequency of content updates demanded by today's dynamic Web-based application architectures In contrast, OracleAs Web Cache was built from the ground up to cache volatile Web content. OracleAs Web Cache employs event-and time-based invalidation mechanisms to maintain consistency with origin data sources, such as file systems, content management tools, databases and content feeds. Using a combination of administrative commands, database triggers and programmatic interfaces, site administrators and application developers can purge cached content as frequently as the original content changes OracleAS Web Cache 10g(10.1.2)-Technical White Pape poration, All Rights Reserved
Page 9 OracleAS Web Cache 10g (10.1.2) -- Technical White Paper Copyright © 1999-2005 Oracle Corporation, All Rights Reserved inefficiencies become. To make more efficient use of existing, low-cost hardware, IT managers can turn to the intelligent caching and compression services of OracleAS Web Cache. Static and Dynamic Content Caching With its unique ability to cache both static and dynamically generated Web content, OracleAS Web Cache takes the pressure off busy Web sites and Web-based applications by storing frequently accessed pages in memory, eliminating the need to repeatedly process requests for those pages on mid-tier servers and databases. In a typical deployment, OracleAS Web Cache is logically positioned in front of a farm of application Web servers, caching their content, and providing that content to Web browsers that request it. Acting as the virtual server for the application, OracleAS Web Cache intercepts all requests made to the Web site. Web Cache either returns the requested objects if they are present in the cache or, upon a “cache miss”, forwards the request via HTTP to one of the application Web servers in the server farm. The application Web server, also known as the origin server, generates the response and sends it back to OracleAS Web Cache. The response may be generated using JSP, Servlet, CGI, PHP, PL/SQL, ASP, or any other technology capable of outputting content for transmission over HTTP. OracleAS Web Cache stores any cacheable objects returned by the origin server and forwards the response to the browser. Caching policies are configured by an administrator using “caching rules” and require no application modifications. However, developers may also opt to express cacheability policies in response headers. As OracleAS Web Cache becomes populated, it is able to serve more of the requested content itself. This, in turn, frees up processing resources on the Web, application and database servers. OracleAS Web Cache is truly unique in the marketplace. Products and services that cache static content are typically unable to serve dynamic content because they lack the means to manage the consistency of Web pages vis-à-vis the data sources used to create them. When deployed as server accelerators, traditional (naïve) caching products force customers to rely on expensive and complex content propagation tools to update their caches with new content. Furthermore, these content propagation tools cannot handle the volume and frequency of content updates demanded by today's dynamic Web-based application architectures. In contrast, OracleAS Web Cache was built from the ground up to cache volatile Web content. OracleAS Web Cache employs event- and time-based invalidation mechanisms to maintain consistency with origin data sources, such as file systems, content management tools, databases and content feeds. Using a combination of administrative commands, database triggers and programmatic interfaces, site administrators and application developers can purge cached content as frequently as the original content changes. “With OracleAS Web Cache serving up dynamic content, the performance increase is great enough that Specialized can significantly reduce the need for increased bandwidth and server horsepower at the back end. And less processing – not just on the database servers, but also by Web server applications – means the customer has more time to get out and ride, which is what the Specialized experience is all about.” Ron Pollard, CIO, Specialized Bicycle Components, Inc
Browser Web Cache Web App Server Database 1. Client sends Http request 2. Web Cache responds immediately if cached object is available 3. If object is not in cache, Web Cache requests object from Application Serv 4. Application Server generates response(may include Database queries) 5. Application Server responds to Web Cache 6. If response is cacheable, Web Cache retains a copy for subsequent requests 7. Web Cache compresses page and responds to Client Figure 2: How Web Cache works "With OracleAs Web Cache serving In addition to intelligent consistency management, an effective dynamic caching up dynamic content solution must address content disambiguation, session management and personalization. Disambiguating content is essential for properly storing and enough that Specialized can delivering documents and maintaining high cache hit rates. URLS, normally th unique identifiers for static content caches, are often insufficient for dynamic increased bandwidth and serve horsepower at the back end And content due to request-specific content generated by applications. For example,a less processing- not just on the browser-aware application may generate different responses for different browsers database servers, but also by Web for the same URI server applications- means the Likewise, Web-based applications often need to maintain session state(such as customer has more time to get out shopping carts)for every user. Some applications embed the session state within pecialized experience is all about. the URL and hyperlinks as an alternative to cookies. A naive cache would interrupt Ron Pollard, cIO, Specialized Additionally, pages with embedded session state become unique for each session Bicycle Components, Inc. Unlike traditional static caches, OracleAs Web Cache supports a number of dvanced caching policies for dynamically generated content, such as caching multiple-version documents for the same URL, and session-aware rules for pages containing session informatior OracleAS Web Cache 10g(10.1.2)-Technical White Pap right 0 1999-2005 Oracle Corporation, All Rights Reserved
Page 10 OracleAS Web Cache 10g (10.1.2) -- Technical White Paper Copyright © 1999-2005 Oracle Corporation, All Rights Reserved Figure 2: How Web Cache works. In addition to intelligent consistency management, an effective dynamic caching solution must address content disambiguation, session management and personalization. Disambiguating content is essential for properly storing and delivering documents and maintaining high cache hit rates. URLs, normally the unique identifiers for static content caches, are often insufficient for dynamic content due to request-specific content generated by applications. For example, a browser-aware application may generate different responses for different browsers for the same URL. Likewise, Web-based applications often need to maintain session state (such as shopping carts) for every user. Some applications embed the session state within the URL and hyperlinks as an alternative to cookies. A naïve cache would interrupt the session establishment during cache hits and prevent new session creation. Additionally, pages with embedded session state become unique for each session and defeat simple caches. Unlike traditional static caches, OracleAS Web Cache supports a number of advanced caching policies for dynamically generated content, such as caching multiple-version documents for the same URL, and session-aware rules for pages containing session information. “With OracleAS Web Cache serving up dynamic content, the performance increase is great enough that Specialized can significantly reduce the need for increased bandwidth and server horsepower at the back end. And less processing – not just on the database servers, but also by Web server applications – means the customer has more time to get out and ride, which is what the Specialized experience is all about.” Ron Pollard, CIO, Specialized Bicycle Components, Inc