On 6/03/2013 5:57 a.m., jiluspo wrote:
Good day,
I was hoping where I could find users/developers squid's CPU
profiling and benchmarks was published. I'd like to know where squid is more
hungrier.
I did some test which kind of unclear for me to get conclusion. Currently at
connection established vs request/sec.
Hi jipespo,
You are asking two things..
service metrics:
The HTTP statelessness and keep-alive features mean that req/sec
should be many, many times larger than connections/sec established.
There is no limit to the number of transactions performed on one
connection. The whole connections vs req/sec varies from second to
second depending on what the traffic behaviour is.
The most accurate, reliable metrics in this area are:
req/sec completed - for total proxy service capacity
connections/sec opened - for new-client service response times. This
will be capped somewhere by TCP port and socket availability.
We have a collection of submissions at
http://wiki.squid-cache.org/KnowledgeBase/Benchmarks. But this does not
include any connection established information.
CPU profiling:
Depends a lot on the traffic load and VERY much on the configuration. We
(the squid dev team and various others) have made some attempts on and
off to get a usable corpus of documentation - but have not yet succeeded
in creating anything close to generically usable.
Web Polygraph is used for seed testing, but other than some req/sec
metric we don't record much out of it.
There is a profiler built into Squid that traces function usage.
- It does not work very well and crashes on multi-threaded components
like AUFS. The fix got shunted down my TODO list.
oprofile and strace tools can get a detailed analysis of Squid library
usage.
- AFAIK, both of these only measure the amount of work offloaded into
kernel or system libraries. So they won't give you much on what Squid
was doing internally.
Amos