Tuning Volera Excelerator for Optimal Performance
Articles and Tips: article
01 Sep 2003
From Technical Information Document (TID) #10082787 http://support.novell.com/cgi-bin/search/searchtid.cgi?/10082787.htm
The default HTTP object cache lifetimes are not optimal for all installations. These can be adjusted from the GUI by selecting Cache > Tuning > Cache Freshness. Consider increasing the values for HTTP maximum, HTTP default, and HTTP minimum. Possible negative side-effects to this increase include extended caching of objects that web site administrators do not intend to have cached (but were NOT explicitly marked as non-cacheable).
The default behavior for Excelerator is not to cache HTTP objects that do not contain HTTP cacheability information in the HTTP headers. This value can be overridden at Cache > Client Accelerator (or Transparent / Web Server Accelerator) > Advanced Options > Cache objects that have no validator or expiration date. Possible negative side-effects to this value adjustment include extended caching of objects that web site administrators do not intend to have cached (but were NOT explicitly marked as non-cacheable).
When a browser issues a "refresh" request, the default behavior for Excelerator is to send If-Modified-Since requests to the origin web server if those HTTP objects already exist in cache. This behavior can be changed by modifying the setting Cache > Client Accelerator (or Transparent / Web Server Accelerator) > Advanced Options > For browser not to cache requests.
"Revalidate" is the default behavior. Alternate values are "Refill," which causes the appliance to request the object from the web server even if a fresh copy of the object is in the appliance's cache; and "Ignore," meaning that the appliance will always vend the object from its cache if a fresh object is found in cache. Possible negative side-effects to using alternate values include potential decrease in bandwidth savings. There is also the potential for browsers to be unable to force a page to refresh from the origin web server.
The default behavior for Excelerator is to allow caching of HTTP objects that contain "?" or "/cgi" in the HTTP path, provided those objects have information in the HTTP headers that specify that they are cacheable. This is designed to prevent the caching of dynamic HTTP data, including results of search queries and CGI scripts, while respecting the cache-control headers that web administrators may have configured for their website. This value can be overridden at Cache > Management > Allow caching of objects with a ? in the URL and Cache > Management > Allow caching of objects with /cgi in the path.
The possible negative side-effects of changing this value include extended caching of search or script results that web site administrators do not intend to have cached.
Excelerator can be configured to pre-download (and "pin" in cache) or to block Web sites that are frequently visited by users on your network. The relative popularity of websites accessed from your network can be determined either by viewing the top ten sites, sorted by most bytes downloaded; or by analysis of HTTP logs from either the Client Accelerator, Transparent Handling, or Web Accelerator proxy services.
Once the most popular Web sites are known, these sites can be pre-downloaded into cache by scheduling downloads of those websites. Configure one-time or periodic downloads of websites at Cache > Download. Configure "pinning" Web sites in cache using the pinlist at Cache > Management.
Alternately, if a high percentage of traffic is directed toward undesirable Web sites, access to these sites can be blocked either by filter or by Access Control. Configure site filters at Cache > Filtering. Configure Access Control at Home > Add-Ons > Access Control Policies. See the Excelerator documentation for further information on Filtering and Access Control.
Possible negative side-effects include Web sites that may have changed since being pre-downloaded, causing Excelerator to vend outdated data until a browser issues a "refresh" request (though this is also true for normal proxy browsing). When using filtering or Access Control, sites may be blocked that users want to access.
By default, Excelerator is configured to cache a maximum of 5000 DNS lookups. This value can be increased at Network > DNS > Advanced DNS Options > Maximum entry threshold.
While usage of each Excelerator installation is different, it is typically safe to increase the maximum entry threshold to 10000 for each GB of memory. In other words, 10000 is an acceptable value for 1024 MB RAM, 20000 for 2048 MB RAM, and so on.
Possible negative side-effects for changing this setting are that additional DNS cache entries will take additional RAM. If the appliance is already being used to near its maximum potential, the decrease in available RAM may cause performance degradation.
By default, if Excelerator has not completed downloading an HTTP object by the time a browser cancels its request, Excelerator will continue to fill the object for one minute. Increasing this value can have a positive effect when Excelerator has a fast connection to the origin server, to the browsers, or to both. This value can be adjusted at Cache > Tuning > Cache Freshness > Continue accelerator fill time and Cache > Tuning > Cache Freshness > Continue forward fill time.
Possible negative side-effects include that when increasing this value when the network connection is very slow can cause Excelerator to continue to fill a cancelled request unnecessarily, thereby consuming extra bandwidth.
When Excelerator requests a Web page from an origin server, Excelerator has the capability to look for embedded image objects and request those objects from the web server even before the browser requests them. This can be done on the assumption that when a browser requests a Web page, it will also request all images on that web page. This "read-ahead" behavior is disabled by default. "Read-ahead" can be enabled from Cache > Tuning > Enable read-ahead images embedded in the page.
Possible negative side-effects are that many Web servers only vend images after setting a cookie on the browser. If this happens, Excelerator will not store the cookie, and will consequently cache the images as broken images (at least for a few seconds). With read-ahead enabled, the images may not show up in the web page until the browser issues a "refresh" request.
To properly enforce cache expiration times, Excelerator must know the correct current time. The best way to do this is to configure the use of NTP servers at System > Date/Time > Use network time protocol. Possible negative side effects include that if the system time or BIOS time is set significantly different from the NTP timeserver's time, time may not synchronize.
If Excelerator has a slow link to the origin server (that is, a slow link to the internet for Client Acceleration and Transparent Handling, or a slow link to the Web server for Web Server Acceleration), it may be necessary to increase the TCP data timeout to allow the origin server sufficient time to respond to requests, especially if those requests are for large files. This value can be adjusted at Network > IP Addresses > TCP Options > Data read timeout.
Possible negative side-effects to changing this value include that the Excelerator may wait too long for data from a non-responsive server before returning a 504 Gateway Timeout error to a browser.
Excelerator has a "fill bandwidth limit" to control the amount of data (up to 65K) that the appliance will download from the origin server ahead of data accepted by the client. This setting is particularly useful for clients with slow connections (like dial-up users) that may initiate requests for large objects and then cancel those requests. To increase the default value of 16383 bytes (16K) up to a maximum value of 65535 bytes (64K), select Cache > Client Accelerator / Transparent Handling / Web Server Accelerator > Advanced Options > Limit the fill bandwidth > Fill bandwidth limit.
Possible negative side-effects is that too high of a value may cause Excelerator to continue to fill a cancelled request unnecessarily, thereby consuming extra bandwidth.
By default, Excelerator will send periodic communications to the configured DNS servers and gateway routers in order to verify that they are available. This feature, and its corresponding monitoring traffic, can be enabled/disabled from Network > DNS > Advanced DNS Options > Monitor DNS server, and Network > Gateway/Firewall > Enable gateway monitoring.
Possible negative side-effects to turning these features off may prevent the Excelerator from knowing that the gateway or DNS server is unavailable until an attempt to send traffic to the gateway or DNS server fails.
* Originally published in Novell AppNotes
The origin of this information may be internal or external to Novell. While Novell makes all reasonable efforts to verify this information, Novell does not make explicit or implied claims to its validity.