在 2009-07-14二的 00:41 -0700,Elli Albek写道: > Hi, > We have squid as reverse proxy that caches files. There are two types of > cacheable files. I see in the log that one type always gets TCP_HIT:NONE > (response from disk cache) and the other type always gets TCP_MEM_HIT:NONE > (response from memory cache). > > What is the reason that one file type is not cached in memory, but still > cached on disk? If I ask this file a few times in a row it should be in > memory, but it is always on disk. If squid caches it with LRU, shouldn't it > be in the memory cache if it's the last file accessed? > > Response headers for files that are cached always on DISK: > > HTTP/1.x 200 OK > Expires: Tue, 14 Jul 2009 07:39:15 GMT > Cache-Control: max-age=600 > Content-Type: text/xml;charset=UTF-8 > Content-Length: 7963 > Date: Tue, 14 Jul 2009 07:29:15 GMT > Age: 18 > X-Cache: HIT from www.foo.com > Via: 1.1 www.foo.com (squid/2.7.STABLE6) > Connection: keep-alive > > Headers for files that are cached always in MEMORY: > > HTTP/1.x 200 OK > Etag: W/"7624-1237327990000" > Last-Modified: Tue, 17 Mar 2009 22:13:10 GMT > Content-Type: image/gif > Content-Length: 7624 > Expires: Thu, 13 Aug 2009 05:10:48 GMT > Cache-Control: max-age=2592001 > Date: Tue, 14 Jul 2009 07:08:58 GMT > Age: 187 > X-Cache: HIT from www.foo.com > Via: 1.1 www.foo.com (squid/2.7.STABLE6) > Connection: keep-alive > > This is consistent. One file is always on disk, the other always in memory. > No matter how many times I refresh. > > Is there any http header that I can add to the first file to get it into > memory cache? Etag? > > Relevant squid conf: > cache_dir aufs /usr/local/squid/var/cache 200 16 256 > > The rest is the default config file with reverse proxy configuration (should > be cache_replacement_policy lru). There is also an ACL that blocks certain > folders, this should not affect the LRU policy. > > Thanks Maybe this help: maximum_object_size_in_memory 8192 KB maximum_object_size 1024000 KB store_avg_object_size 130 KB