[squid-users] Unable to get TCP_MEM_HIT (just TCP_HIT) with rock storage

Alex Rousskov rousskov at measurement-factory.com
Tue Oct 17 16:23:34 UTC 2017


On 10/16/2017 10:30 PM, duanyao wrote:

> When I test squid with rock storage, I have never got a TCP_MEM_HIT
> (just TCP_HIT) in access.log.
> 
> Is this normal, or something is mis-configured?

Neither :-). You are testing with a Vary-controlled response. The shared
memory cache does not support caching of Vary-controlled responses yet.
I failed to find a dedicated feature request for implementing this, but
the problem has been known for several years [1,2,3].

[1]
http://bazaar.launchpad.net/~measurement-factory/squid/bag5s/revision/12743
[2] https://bugs.squid-cache.org/show_bug.cgi?id=3806#c9
[3]
https://github.com/squid-cache/squid/commit/b8a899c01051c27f2d46f5b9fcbcd27622f388ff


> I do get TCP_MEM_HIT with ufs storage.

To be more precise, you are getting TCP_MEM_HIT with a non-shared memory
cache. This is not a Rock problem; it is a shared memory cache problem.
Switching to UFS appears to help because it disables SMP and shared
memory caching in your specific Squid configuration.


Please note that your cache.log does not contain the lines relevant to
storing the response in the memory cache so there may be other,
additional reasons why your test response does not get memory-cached. If
you continue testing and need to report more details, please start from
a clean cache and post the log containing the very first (cache miss)
transaction as well as the subsequent (hit) transactions. Compress the
logs as needed.


Thank you,

Alex.



> I run squid locally, and run `curl -v -x localhost:3128
> http://localhost:8001/1000 > /dev/null` two times successively, and
> expect at least the second one being TCP_MEM_HIT, but it is always TCP_HIT.
> 
> 
> Attachment "squid.conf" is my configuration file; and "cache.rock.log"
> is the part of cache.log during 2 successive accesses to a same URL;
> "anysize-server.js" is the HTTP server at port 8001 for the test, and
> you can run it by `node anysize-server.js`.
> 
> 
> I tested squid 3.5.27 and 4.0.21, both compiled and run on Linux x86_64:
> `./configure --with-default-user=duanyao
> --prefix=/home/duanyao/project/proxy/squid-root/`.
> 
> 
> Thanks.
> 
> 
> Duan, Yao
> 
> 
> 
> _______________________________________________
> squid-users mailing list
> squid-users at lists.squid-cache.org
> http://lists.squid-cache.org/listinfo/squid-users
> 



More information about the squid-users mailing list