13.6 swap.state

 <  Day Day Up  >  

A swap.state file is a journal of objects that have been added to, and removed from, a cache directory. Each cache_dir has its own swap.state file. When Squid starts up, it reads the swap.state files to rebuild its in-memory indexes of cached objects. These files are a relatively critical part of Squid's operation.

By default, each swap.state file is located in its corresponding cache directory. Thus, each state file automatically stays with each cache_dir . This is important if you ever decide to reorder your cache_dir lines or if you remove one or more from the list.

If you prefer to put them in a different location, you can use the cache_swap_log directive:

 cache_swap_log /usr/local/squid/var/logs/swap.state 

In this case, Squid creates a swap.state file for each directory by appending a numeric suffix. For example, if you have four cache directories, Squid creates the following:

 /usr/local/squid/var/logs/swap.state.00 /usr/local/squid/var/logs/swap.state.01 /usr/local/squid/var/logs/swap.state.02 /usr/local/squid/var/logs/swap.state.03 

In this situation, if you add, remove, or rearrange cache_dir lines, you may need to rename the swap.state files manually to keep everything consistent.

Technically, the swap.state format is storage scheme-dependent. However, all storage schemes use the same format in the current versions of Squid. The swap.state file uses a fixed- size (48-byte) binary format. Fields are written in host-byte order and are thus not necessarily portable between different operating systems. Table 13-3 describes the fields of a swap.state entry.

Table 13-3. swap.state entry fields

Name

Size, in bytes

Description

op

1

Operation on the entry: added (1) or deleted (2).

file number

4

Same as the fourth field of store.log , except it is stored in binary.

timestamp

4

A timestamp corresponding to the time when the response was generated or last validated . Taken from the Date header for responses that have one. Stored as the number of seconds since the Unix epoch .

lastref

4

A timestamp corresponding to the most recent access to the object.

expires

4

The object's expiration time, taken from an Expires header or Cache-Control max-age directive.

last-modified

4

The object's Last-Modified value.

swap file size

4

The amount of space the object occupies on disk. This includes HTTP headers and other Squid-specific meta-information .

refcount

2

The number of times this object has been requested .

flags

2

Various internal flags used by Squid.

key

16

The MD5 hash of the corresponding URI. Same as the key in store.log , except this one is stored in binary.

 <  Day Day Up  >  


Squid
Squid: The Definitive Guide
ISBN: 0596001622
EAN: 2147483647
Year: 2004
Pages: 401
Authors: Duane Wessels

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net