Model and Methodology
3.9 Defining the Experimental Phases and Workloads
The uniform() model initially ranks all the objects with the same probability, meaning that it chooses the object randomly from the the set of objects which previously have been requested. However, since the objects from the beginning of the test are more often requested than the later objects, it still implies some notion of popularity.
3.9 Defining the Experimental Phases and Workloads
As noted above, one key requirement for an experiment to run successfully is that thefrozen working setshould be sized appropriately. The frozen working set is the maximum size to which the original working set which grows during the fill phase to generate cache misses. However, this parameter cannot be set directly.
Moreover, the growth of the working set varies according to several factors, in-cluding the length of the fill phase, the object size range and type, the extent of object cache-ability, and the like. Thus the size of frozen working set is different from workload to workload despite using same WSS setting of 100 MB. Thus, substantial experimentation and tweaking is required to determine the proper parameters for a workload in order to achieve the desired traffic characteristics and other properties.
Several different workloads were designed and tuned for use in this research.
They are described individually in the following subsections.
3.9.1 The best effort method
In this scenario, the robots were configured to use the best effort method. The best effort method means that a robot sends the next request as soon as a response is received for the previous request, but not sooner. In practice,this means that no robot makes parallel connections at any given time. In this sce-nario, the cache never gets overloaded. This method shows how fast a proxy is by "nature" – what request rate the proxy is convenient with – and the rate of requests is indirectly justified by the proxy itself.
To run such a test, the req_ rate variable of robot objects is set to null or is simply removed from the robot part of the configuration files. The workload specifications which were used in this part are given in Table3.3. Note that the frozen working set size is the one resulting from specifying the other parameters.
3.9. DEFINING THE EXPERIMENTAL PHASES AND WORKLOADS
Best Effort workload
Varnish Apache Traffic Server
Working set size (MB) 100 100
Cache Size (MB) 1100 1100
Frozen WSS (GB) 2.9 3.2
Mean object size (xact) 147625 141027
Robot population 100 100
Content Type All All
Peak Rate not specified not specified
Table 3.3: Parameters for the Best Effort workload
The following graph illustrates the content type mix for this workload.
Figure 3.6: Content type distribution The phases used for this workload are described in Table3.4.
Phase Request rate(%Peak) Recurrence (%) Goal
warm 10 to 100 5 5 min
fill 100 5 2*Cache Size
link fill to 100 95 5 min
top1 100 95 60 min
dec 100 to 10 95 5 min
idle 10 95 10 min
inc 10 to 100 95 5 min
top2 best effort 95 120 min
cool 100 to 0 95 1 min
Table 3.4: The Phases for the Best Effort Workload 3.9.2 Baseline Workloads
A series of baseline workloads were created in order to measure cache perfor-mance under controlled circumstances with limited amounts of variation. These workloads use a single content type and the constant method request rate pro-file. In the constant method, the robots are instructed to send requests at a constant rate throughout the test. The req_rate variable for each robot specifies the interval after which the client should send a new request.
3.9. DEFINING THE EXPERIMENTAL PHASES AND WORKLOADS
req_rate = 0.4/sec;
In these workloads, each robot is instructed to issues requests at an average request rate of 0.4 requests/sec. WHile the clients are capable of generating much higher request rates, that is somewhat artificial in that typical real world clients in the web do not generate such large amounts of requests. Therefore a small value for each individual client was chosen.
A large part of this work was conducted using individual types of objects. That means that the three major type of web objects (Images, HTML and Down-load) are used one by one to determine the baseline behaviour for each proxy.
The workloads cannot be totally identical in these cases. For example, using a working set size which is suitable for HTML objects would generate a much higher, excessive frozen working set for Downloads and a smaller frozen WSS for Images. Thus, each workload has its own specifications. The specifications used for each workload are specified in the corresponding section of the results discussion in Chapter 4. However, the phases are identical for each baseline and are shown in Table3.5.
Phase Request rate(%Peak) Recurrence (%) Goal
warm 10 to 100 5 5 min
fill 100 5 2*Cache Size
link fill to 100 95 5 min
Table 3.5: The Phases for each individual content type workload 3.9.3 The increasing rate workload
After completing the baseline experiments, a final scenario were designed to combine all the object types. In this case, the request rate was gradually in-creased during one phase in order to simulate a real, stressful load for the cache.
The phases and workload specifications for this workload are described in con-junction with the results in Chapter 4 in order to facilitate the discussion. The results for bothtop1 andincphases are important in this test. The top1 phase is a phase with a relatively low request rate which is not stressful and simulates a normal web traffic situation. In the phaseinc, on the other hand, the load is increased gradually to reach to the saturation points of the proxies.