HTTP caching is one of the most important mechanisms of increasing website performance. It allows to substantially reduce bandwidth and offload the server from sending resources cached on the client. Users with empty cache and users with primed cache impact the Web servers load differently. While HTTP caching is an essential factor impacting server load, it is frequently overlooked in load testing.
StresStimulus provides a comprehensive mechanism of emulating the browser caching factor. The Cache Control property allows to configure a mix of virtual users with different browsing history (cache) management. Every VU can either have cache enabled or disabled.
There are 2 flavors of a VU with enabled cache: new user and returning user.
Note: The caching rules are determined by the server's recorded response headers. For information about browser caching rules, see RFC 2616, Caching in HTTP.
Disabling the cache control will render all VUs with disabled browser caches. Enabling the browser cache will render all VUs with enabled browser caches. In this case the New VU % property will appear. It is used to emulate the proportion of new vs. returning users. Cache control properties are summarized in the table below:
|Cache Control||Disabled||Every VU will not emulate browser cache capabilities. Every request will be sent, and every request will have recorded caching headers removed.|
Every VU will emulate browser cache capabilities. Every VU can emulate storing resources in the browser cache for further subsequent iterations.
See below for further options.
|New VU%||A number between 0 and 100%||The percent of VUs that will be new with cache enabled. The rest will be returning with cache enabled. This setting is only available with Cache Control enabled.|
Note: Cache properties described in this section are not available on the Test Case level if Test Case Groups are used. In this case, these properties are available in the Test Case Group section (see Sequential Test Case Groups).