Squid configuration manual

Reference manual for squid's configuraiton directives

View the Project on GitHub

Index Alphabetical Index

Option Name:

shared_transient_entries_limit

Suggested Config:


Details:

This directive limits the size of a table used for sharing current
transaction information among SMP workers. A table entry stores meta
information about a single cache entry being delivered to Squid
client(s) by one or more SMP workers. A single table entry consumes
less than 128 shared memory bytes.

The limit should be significantly larger than the number of
concurrent non-collapsed cachable responses leaving Squid. For a
cache that handles less than 5000 concurrent requests, the default
setting of 16384 should be plenty.

Using excessively large values wastes shared memory. Limiting the
table size too much results in hash collisions, leading to lower hit
ratio and missed SMP request collapsing opportunities: Transactions
left without a table entry cannot cache their responses and are
invisible to other concurrent requests for the same resource.

A zero limit is allowed but unsupported. A positive small limit
lowers hit ratio, but zero limit disables a lot of essential
synchronization among SMP workers, leading to HTTP violations (e.g.,
stale hit responses). It also disables shared collapsed forwarding:
A worker becomes unable to collapse its requests on transactions in
other workers, resulting in more trips to the origin server and more
cache thrashing.
Index Alphabetical Index