Specifications

The question remains as to how long all the other objects stored in the cache
should stay there. To determine this, all objects in the cache are assigned
three different states:
1. FRESH: When this object is requested, it is sent without comparing it
to the the original object on the web to see if it has changed.
2. NORMAL: The original server is queried to see if the object has
changed. If it changed, the cache copy is updated.
3. STALE: The object is no longer considered valid and will be down-
loaded again from the server.
Web and proxy servers find out the status of an object by adding headers
to these objects such as “Last modified” or “Expires” and the corresponding
date. Other headers specifying that objects must not be cached are used as
well.
Objects in the cache are normally replaced, due to a lack of free hard disk
space, using algorithms such as LRU (Last Recently Used), which serve to
replace cache objects. It consists of first replacing the less requested objects.
System Requirements
The most important thing is to determine the maximum load the system will
have to bear. It is, therefore, important to pay more attention to the load
picks, because these might be more than four times the day’s average. When
in doubt, it would be better to overestimate the system’s requirements, be-
cause having Squid working close to the limit of its capabilities could lead to
a severe loss in the quality of the service.
Hard Disk
Speed: choosing fast hard disks
Speed plays an important role in the caching process, so should be of utmost
concern. In hard disks, this parameter is described as “random-seek time”,
measured in milliseconds. As a rule of thumb, the lower this value, the bet-
ter.
According to the Squid User’s Guide (
http://www.squid-cache.org),
for a system using only one disk, the formula for calculating the number of
requests per second from the seek time of the disks is quite easy:
170 System Requirements