Simon Waters wrote:
On Friday 29 August 2008 03:40:21 Amos Jeffries wrote:
For various reasons we have a number of multimedia files on this end of
the
connection, all large, and all with no explicit expiry information (which
I
can adjust if it helps).
That will help. Enormously. The longer it can be explicitly known
cacheable the better (RRC states only up to a year though).
Can I ask why? Is the default "LRU" or "heap LFUDA" policy concerned with
expiry dates.
With known expiry info, squid can calculate fresh/stale properly.
Without it Squid has to estimate and periodically refreshes the object.
The LRU/LFUDA algorithms are only related to garbage collection on
objects in the cache.
refresh_pattern can tune the freshness estimation algorithm in your
cache. But nothing beats proper authoritative info about an objects
freshness. Since that will affect every cache on the web.
However are there other likely "gotchas" with handling larger files?
Some people find it more efficient to store them on disk rather than in
memory. If your squid is already 64-bit or handling it nicely then no
problem.
I don't think there is a performance issue here with memory. I think it is
just down to how the proxy decides which files to keep. As I said the goal is
to offload bandwidth usage.
Theres an issue ion Squid-2.x related to the size of memory chunks that
can play badly with very large files. If you are not seeing that, then fine.
I'm pondering dropping the caching of small objects, since mostly they cause a
refresh_hit in this reverse proxy configuration, and the saving on bandwidth
isn't huge (although presumably it saves a trip over a congested link).
There is also a large number of small image files which I believe can have a
long expiry date set in Apache, I just need to check that with the guy who
did the file naming algorithmn. This would probably be a bigger win.
Perhaps I just need a cache which is as larger than all the data to be
served - which might be possible to organise given the current price of disk
space.
Amos
--
Please use Squid 2.7.STABLE4 or 3.0.STABLE8