Understanding cyScape DashCache

 

DashCache™ is a proprietary, application-level cache built directly into BrowserHawk. DashCache allows BrowserHawk to cache the objects it is creating for frequently used browsers so that it can reuse them as needed for other users with the same browser, without actually having to re-instantiate the object or do any work. Likewise repeat instantiations for the same user on your site come form the cache as well.

 

This is best described through an example. Assume Joe is using IE 7.0 on Windows XP, and hits a page on your site that creates an instance of the BrowserHawk object. When that object is created, BrowserHawk stores a copy of it in its cache, and then also returns the object to your web script.

 

Each subsequent time Joe hits a page that instantiates BrowserHawk, the component is smart enough to know that the object it needs for his browser is already in the cache, and that it would be redundant to recreate it and incur the overhead involved in setting all the properties. So instead, it simply returns a copy of the object from its cache.

 

Continuing with this example, assume Mike then comes along with the same browser as Joe. Again, BrowserHawk knows that the object it ultimately would create is already in the cache, so it simply returns another copy of the object – even though the object is for completely different user. This technique essentially gives the BrowserHawk component application scope automatically.

 

DashCache applies only to the Basic properties that BrowserHawk provides answers for. This is because all basic properties have the same results for the same browser type, version and operating system.

 

When any Extended properties are tested along with the Basic properties, the Basic properties are retrieved from the cache. However, because Extended properties differ from user to user with the same browser, Extended property results cannot be stored in a global cache for use by all visitors.

 

For instance Joe may have the Flash plug-in installed, and Mike may not. Therefore BrowserHawk cannot cache the Extended property results from Joe and reuse them for Mike, like can be done with Basic properties (which are the same for all users).

 

That being said, there is still tremendous value in caching each user's Extended property test results in their own cache for reuse during their session. This way information about each user's Extended properties are available on subsequent pages instantly, without the overhead of having to retest their browser each time and incur a round trip. This form of caching is known as BrowserHawk's Automatic Session Caching (ASC) and is discussed in the next topic.

DashCache settings

DashCache settings are completely configurable as to how much memory you want the cache to use, what the time out period is before expiring objects from the cache to make room for newer ones, how often it should clean the cache, etc. On the DashCache settings there is an option to have BrowserHawk recommend these settings for you based on your traffic.

 

Tip: Using DashCache increases performance considerably and is highly recommended.

Important Notes

BrowserHawk dynamically allocates and releases memory as needed for the cache, up to the amount specified in the maximum field.

 

If you use the component under IIS within virtual directories marked to run in their own address space (isolated processes), each isolated process will have its own cache. In other words if you use the object from 2 isolated processes, the maximum memory allocated is 2 times the amount specified in this field.

 

Virtual directories *not* configured to run in separate address spaces, on the other hand, all share the same cache and the memory usage is not a multiple of the number of virtual directories.

 

The "Recommend My Settings" option uses a 12-hour cache as its basis. We have found this to be an ideal period. However, if you wish to use a less aggressive cache (and therefore less memory), consider cutting all recommended numbers in half (for a 6 hour cache) or less.

 

A properly configured cache should result in an 80% or higher cache hit ratio. If you wish to monitor the cache, BrowserHawk exposes information through its properties about the status of the cache, such as number of cache hits and total requests.

 

Note: DashCache is only available in the Professional and Enterprise Editions of BrowserHawk.

 

See Also:

Automatic Session Caching (ASC)