Previous Next

Traffic Management and Application Acceleration > Application Acceleration > Caching > Caching Policies

Caching Policies
AppDirector supports caching of HTTP traffic. Caching improves the overall network performance. Using caching, back-end servers are required to serve less content, which can save on fetching data and creating dynamic HTML pages.
Caching can also decrease the number of required TCP connections to the back-end servers. It allows a more efficient use of compression features, as AppDirector can cache compressed objects, and save the need to re-compress the same object for each client request. Caching is memory based. Once Caching is enabled for one Layer 4 Policy or more, up to 50% of available Acceleration Engine memory is used for cache. The amount of memory used depends on traffic and the cached objects and is configurable from 1 % - 50% (default 20%) in the Tuning Table.
Note: If a Caching policy is defined, by default the action is cache all the content.
Caching and Layer 7 Modification
The objective of caching is acceleration whereas the target of Layer 7 modification is to select the correct content from the correct server. Unfortunately, configuring an URL exception list does not always solve the problem.
Layer 7 modification should take precedence over caching as caching is at the client end of the flow. This means that when a request arrives it is considered for serving from cache before all other application services (for example, HTTP modifications). On the other hand, when a server response reaches an Application Services Engine it undergos compression and HTTP modification before being cached.
Caching Decisions
Caching depends on the following decision making process:
1.
2.
3.
4.
Dynamic Caching
There are several issues to consider when caching. Deciding what content is private (user specific) or public, static or changeable. More than 40% of Web content is not marked with caching directives and yet could be optimized.
Two factors to keep in mind when considering whether to cache dynamic pages include the frequency of Web content changes and the demand level for current content (hit count). Anticipated hit count determines the prioritization of Web pages to be cache. More popular Web pages take precedence over less frequently accessed pages.
AppDirector’s Dynamic Caching helps increase your server performance, improving response times by fetching content from cache rather than from the servers for dynamic as well as static content, and in addition simplifies control of the caching configuration.
This is achieved by:
*
*
*
*
Notes:  
*
*
Identifying Optimizable from Non-Optimizable Objects
AppDirector identifies whether an object is optimizable by checking a series of criteria as follows:
1.
2.
a.
b.
c.
d.
e.
3.
4.
5.
6.
7.
When an object meets all the above criteria, it is marked as eligible for caching optimization.
Defining Optimal Caching Times
When an object is identified as eligible for caching, but with no caching time (according to its max-age or expires headers), AppDirector defines an estimated caching time.
Optimizing Dynamic Objects Caching in Browser (Object Versioning)
AppDirector can optimize the caching of objects by browsers. The algorithm for this action is based on controlling object names in the original HTML the references them. This allows AppDirector to check if objects were modified every time that the HTML was recalled and force the browser to update them when needed.
Avoiding Caching Users Private Content
During caching actions, AppDirector is careful to avoid any caching of user personal data, including:
*
*
*
Invalidating Cache Content Changed by Clients
AppDirector allows a cached object to be invalidated following a user action that modifies it. This is performed according to HTTP cache RFC (section 13.10). This defines that any object request with HTTP method POST, PUT or DELETE must cause the object's invalidation. This invalidation occurs only after the server has approved the operation as successful (that is, responds with a 200OK)
This enables caching dynamic content like blog pages, while ensuring that every new posting invalidates the cached version of the page.
Using Leverage Browser Cache Parameter
When cached content is served by AppDirector to a clients browser, the client experiences better Quality of Service (QoS) than if it was served from the server. Further enhancement to client QoS is achieved when the clients Browser caches the content for reusing on the next request that needs it. However, not all content is optimally cached by browsers thus failing to provide the best possible QoS. AppDirector can optimize the browser caching by updating the Cache-Control directives on every cache-served object. The object headers are updated to reflect the future time it can be cached for by the browser according to the AppDirector cache time (whether from server headers or AppDirector Cache URL Exceptions Rule-List). AppDirector also ensures that the content is not served from the browser cache after it is considered stale. AppDirector provides the browser with the time that already exists in the AppDirector Cache, so that the browser can calculate the remaining time correctly.
To configure an AppDirector caching policy
1.
From the AppDirector menu, select Layer 4 Traffic Redirection > Caching Policies. The AppDirector Caching Policy pane displays.
2.
 
3.
Click Set.
4.
Purging Cache
In some cases you may want to purge cache content of HTTP responses. Enter the caching policy ID to purge the cache for a particular caching policy, or ALL to purge the cache for all caching policies, or the object's URL to purge only specific objects from a specific policy or from all policies
To purge cache
1.
From the AppDirector menu, select Layer 4 Traffic Redirection > Caching Policies. The AppDirector Caching Policy pane displays.
2.
3.
Click Set. The cache is purged.
Cache Content Invalidation
AppDirector lets you remove objects from cache by specific object URL or URL with wildcard in it (*). HTTP Cache RFC2616 requires that HTTP requests of certain methods invalidates cache content related to these requests.
*
*
*
*
Note: The same functions can be also performed from AppDirector's WBM interface.
To remove objects from cache by specific object URL or URL with wildcard (*) in it
1.
From the AppDirector menu, select Layer 4 Traffic Redirection > Caching Policies. The AppDirector Caching Policy pane displays.
2.
3.
4.
Click Set. The objects are removed from cache.