Oracle9iAS Web Cache Administration and Deployment Guide
Release 2.0.0

Part Number A90372-04
Go To Documentation Library
Library
Go To Product List
Services
Go To Table Of Contents
Contents
Go To Index
Index

Go to previous page Go to next page

1
Introduction to Oracle Web Cache

This chapter describes the performance barriers faced by Web sites and introduces the technology which can provide a complete caching solution.

This chapter contains these topics:

What is the Big Picture for Caching?

The e-business model creates new performance requirements for Web sites. To carry out electronic business successfully, Web sites must protect against poor response time and system outages caused by peak loads. Slow performance translates into lost revenue.

Many high-volume Web sites try to counter this problem by adding more application Web servers to their existing architecture. As more users access these Web sites, more and more application Web servers will have to be added. In short, the manageability costs associated with adding application Web servers often outweigh the benefits.

Static caches and content distribution services can provide some relief. However, these solutions are unable to serve content that is dynamically generated.

Oracle's Solution to Web Site Performance Issues

Faced with these performance challenges, e-businesses need to invest in more cost-effective technologies and services to improve the performance of their sites. Oracle offers Oracle Web Cache to help e-businesses manage Web site performance issues. Oracle Web Cache is a content-aware server accelerator, or reverse proxy server, that improves the performance, scalability, and availability of Web sites that run on Oracle9i Application Server and Oracle8i.

By storing frequently accessed URLs in memory, Oracle Web Cache eliminates the need to repeatedly process requests for those URLs on the application Web server. Unlike legacy proxy servers that handle only static documents, Oracle Web Cache caches both static and dynamically generated content from one or more application Web servers. Because Oracle Web Cache is able to cache more content than legacy proxies, it provides optimal performance by greatly reducing the load on application Web servers.

Figure 1-1 shows the basic architecture. Oracle Web Cache sits in front of application Web servers, caching their content, and providing that content to Web browsers that request it. When Web browsers access the Web site, they send HTTP protocol or HTTPS protocol requests to Oracle Web Cache. Oracle Web Cache, in turn, acts as a virtual server to the application Web servers. If the requested content has changed, Oracle Web Cache retrieves the new content from the application Web servers. The application Web servers may retrieve their content from an Oracle database.

Figure 1-1 Oracle Web Cache Architecture


Text description of owcag022.gif follows
Text description of the illustration owcag022.gif

How Web Caching Works

To Web browsers, Oracle Web Cache acts as the virtual server for application Web servers. You configure Oracle Web Cache with the same IP address that is registered for a site's domain name and the application Web servers' host names. This configuration enables Web browsers to communicate with Oracle Web Cache rather than application Web servers when accessing a Web site.

Figure 1-2 shows how Web caching works. Oracle Web Cache has an IP address of 144.25.190.240 and the application Web server has an IP address of 144.25.190.245. The steps for browser interaction with Oracle Web Cache follow:

  1. A browser sends a request to a Web site named www.company.com.

    This request in turn generates a request to Domain Name System (DNS) for the IP address of the Web site.

  2. DNS returns the IP address of Oracle Web Cache, that is, 144.25.190.240.

  3. The browser sends the request for the Web page to Oracle Web Cache, 144.25.190.240.

  4. If the requested content is in its cache, then Oracle Web Cache sends the content directly to the browser. This is called a cache hit.


    Note:

    Dynamic content is generated by the application Web server and then returned to Oracle Web Cache before being passed to the browser. 


  5. If Oracle Web Cache does not have the requested content or the content is stale or invalid, it hands the request off to the application Web server. This is called a cache miss.

  6. The application Web server sends the content through Oracle Web Cache.

  7. Oracle Web Cache sends the content to the client and makes a copy of the page in cache.


    Note:

    A page stored in the cache is removed when it becomes invalid or outdated, as described in "Cache Freshness and Performance Assurance"


Figure 1-2 Web Server Acceleration


Text description of owcag002.gif follows
Text description of the illustration owcag002.gif

Benefits of Web Caching

Web caching provides the following benefits for Web sites:

Features of Oracle Web Cache

The main features of Oracle Web Cache make it a perfect caching service for e-business Web sites that host online catalogs, news services, and portals. These features include:

Static and Dynamically Generated Content Caching

Oracle Web Cache uses cacheability rules to store documents. These rules fall into two categories:

Cache Invalidation

Oracle Web Cache supports invalidation as a mechanism to keep its cache consistent with the content on the application Web servers, origin databases, or other dynamically generated means.

Administrators can invalidate cache content in one of two ways:

Performance Assurance

When a large number of documents have been invalidated, the retrieval of a new documents can result in overburdened application Web servers.

To handle performance issues while maintaining cache consistency, Oracle Web Cache uses built-in performance assurance heuristics that enable it to assign a queue order to documents. These heuristics determine which documents can be served stale and which documents must be refreshed immediately. Documents with a higher priority are refreshed first. Documents with a lower priority are refreshed at a later time.

The queue order of documents is based on the popularity of documents and the validity of documents assigned during invalidation. If the current load and capacity of the application Web server is not exceeded, the most popular and least valid documents are refreshed first.

See Also:

"Cache Freshness and Performance Assurance" for further information about performance assurance 

Surge Protection of Application Web Servers

Oracle Web Cache passes requests for non-cacheable or stale documents to the application Web servers. To prevent an overload of requests on the application Web servers, Oracle Web Cache has a surge protection feature that enables you to set a limit on the number of concurrent requests that the application Web servers can handle. When the limit is reached, subsequent requests are queued to wait up to a maximum amount of time. If the maximum wait time is exceeded, Oracle Web Cache rejects the request and serves a site busy apology page to the Web browser that initiated the request.

Load Balancing of Application Web Servers

Most Web sites are served by multiple application Web servers running on multiple computers that share the load of HTTP and HTTPS requests. This feature enables Web sites to be built with a collection of servers for better scalability and reliability. Oracle Web Cache is designed to manage requests for up to 100 application Web servers. All requests that Oracle Web Cache cannot serve are passed to the application Web servers. Oracle Web Cache has a load balancing feature that distributes these requests over a set of application Web servers. To configure load balancing, you set the capacity (concurrent connections) for each application Web server. Based on the capacity assigned, Oracle Web Cache prescribes the relative percentage load of each application Web server.

Figure 1-3 shows three application Web servers, whereby 30 percent of traffic goes to www.server1.com, 30 percent goes to www.server2.com, and 40 percent goes to www.server3.com.

Figure 1-3 Load Balancing


Text description of owcag003.gif follows
Text description of the illustration owcag003.gif

See Also:

 

Backend Failover

After a specified number of continuous request failures, Oracle Web Cache considers an application Web server as failed. When an application Web server fails, Oracle Web Cache automatically distributes the load over the remaining application Web servers based on the remaining proportion. Oracle Web Cache polls the failed application Web server for its current up/down status until it is back online.

The failover feature is shown in Figure 1-4. An outage of www.server3.com, which was receiving 40 percents of requests, results in 50 percent of the requests going to www.server1.com and 50 percent of requests going to www.server2.com. This is based on a 30 percent load for both www.server1.com and www.server2.com. If www.server1.com were to fail instead, based on a 30 percent load for www.server2.com and a 40 percent load for www.server3.com, 42.86 percent of the requests would go to www.server2.com and 57.14 percent of requests would go to www.server3.com.

When the failed server returns to operation, Oracle Web Cache will include it in the load mix as previously prescribed.

Figure 1-4 Failover


Text description of owcag004.gif follows
Text description of the illustration owcag004.gif

Application Web Server Binding

Oracle Web Cache supports Web sites that use session IDs and/or session cookies to bind user sessions to a given application Web server in order to maintain state for a period of time. To utilize the session binding feature, the application Web server itself must maintain state, that is, it must be stateful. Web sites bind user sessions by including session data in the HTTP header or body it sends to Web browsers in such a way that the browser is forced to include it with its next request. This data is transferred either with parameters embedded in the URL or cookies, which are text strings stored on the client.

Figure 1-5 shows how Oracle Web Cache supports documents that use application Web server binding:

  1. When a request first comes in, Oracle Web Cache uses load balancing to decide which application Web server to send it to. In this example, www.server2.com was chosen.

  2. If the requested document requires application Web server binding, the application Web server sends the session information back to the browser through Oracle Web Cache in the form of a cookie or an embedded URL parameter.

  3. Oracle Web Cache sends subsequent requests for the session to the application Web server that established the session, bypassing load balancing. In this example, www.server2.com handles the subsequent requests.

    See Also:

    "Binding a Session to an Application Web Server" for configuration details 

Figure 1-5 Application Web Server Binding

Text description of owcag005.gif follows
Text description of the illustration owcag005.gif

Security Features

Oracle Web Cache provides the following security-related features:

Restricted Administration

Oracle Web Cache restricts administration with the following features:

Secure Sockets Layer (SSL) Support

The Secure Sockets Layer (SSL) protocol, developed by Netscape Corporation, is an industry-accepted standard for network transport layer security. SSL provides authentication, encryption, and data integrity, in a public-key infrastructure (PKI). By supporting SSL, Oracle Web Cache is able to cache pages for HTTPS requests.

As shown in Figure 1-6, you can configure Oracle Web Cache to receive HTTPS browser requests. In addition, you can secure connections between the application Web server and the database with SSL.

Figure 1-6 SSL for Secure Connections


Text description of owcag027.gif follows
Text description of the illustration owcag027.gif


Limitations:

HTTPS support has the following limitations in this release:

  • Oracle Web Cache does not provide authentication or access control.

  • Oracle Web Cache does not support client-side certification.

  • The HTTPS protocol is not supported between Oracle Web Cache and application Web server(s).

 

SSL interacts with the following entities:

Certificate Authority

A certificate authority (CA) is a trusted third party that certifies the identity of third parties and other entities, such as users, databases, administrators, clients, and servers. The certificate authority verifies the party identity and grants a certificate, signing it with the its private key. The Oracle Web Cache certificate must be signed by a CA.

Different CAs may have different identification requirements when issuing certificates. One may require the presentation of a user's driver's license, while others may require notarization of the certificate request form, or fingerprints of the requesting party.

The CA publishes its own certificate, which includes its public key. Each network entity has a list of certificates of the CAs it trusts. Before communicating with another entity, a given entity uses this list to verify that the signature on the other entity's certificate is from a known, trusted CA.

Network entities can obtain their certificates from the same or different CAs. By default, Oracle Advanced Security automatically installs trusted certificates from VeriSign, RSA, Entrust, and GTE CyberTrust when you install a new wallet (See: Wallet).

Certificate

A certificate is created when a party's public key is signed by a trusted CA. A certificate ensures that a party's identification information is correct, and that the public key actually belongs to that party.

A certificate contains the party's name, public key, and an expiration date--as well as a serial number and certificate chain information. It can also contain information about the privileges associated with the certificate.

When a network entity receives a certificate, it verifies that it is a trusted certificate--one issued and signed by a trusted certificate authority. A certificate remains valid until it expires or is terminated.

Wallet

A wallet is a transparent database used to manage authentication data such as keys, certificates, and trusted certificates needed by SSL. A wallet has an X.509 version 3 certificate, private key, and list of trusted certificates.

Security administrators use the Oracle Wallet Manager to manage security credentials on the Oracle Web Cache server. Wallet owners use it to manage security credentials on clients. Specifically, Oracle Wallet Manager is used to do the following:

How SSL Works

The authentication process between the browser and Oracle Web Cache consists of the following basic steps:

  1. The browser initiates a connection to Oracle Web Cache by using HTTPS.

  2. SSL performs the handshake between the browser and Oracle Web Cache.

At the commencement of an HTTPS network connection between a browser and Oracle Web Cache, an SSL handshake is performed. An SSL handshake between the browser and Oracle Web Cache includes the following actions:

Administration

Oracle Web Cache provides a graphical user interface tool called Oracle Web Cache Manager that combines configuration and monitoring options to provide an integrated environment for configuring and managing Oracle Web Cache and the Web sites it caches for. With Oracle Web Cache Manager, you can easily:

Compression

You can select to have Oracle Web Cache compress both cacheable and non-cacheable documents upon insertion into the cache for browsers. Because compressed documents are smaller in size, they are delivered faster to browsers with fewer round-trips, reducing overall latency. On average, Oracle Web Cache is able to compress text files by a factor of 4. For example, 300 KB files are compressed down to 75 KB.


Go to previous page Go to next page
Oracle
Copyright © 2001 Oracle Corporation.

All Rights Reserved.
Go To Documentation Library
Library
Go To Product List
Services
Go To Table Of Contents
Contents
Go To Index
Index