martin.pichlma...@continental-corporation.com wrote:
Hello list,

I have a question regarding memory and CPU usage change from 3.0 to 3.1.

I have 4 forwards proxies with ICAP (c-icap and clamav), NTLMv2 authentication, all four proxies each have about 200-400 req/sec
on RedHat AS5 64bit servers with each 16GB mem for about 15k to 30k users.
cache_mem is set to 3.5 GB, no disk cache, some ACLs are used.
With 3.0.STABLE23 the typical memory usage was about 7 GB and CPU usage of about 30-40% for the main squid process, without the helpers or other processes. With 3.1.4 the proxies use up to 2GB more memory and CPU usage rose at times to 60% or 80%.
After a restart of one of the proxies it behaved "normally" since then.

Status: (the CPU usage, Client HTTP out and requests per second are all from last 5 minute-info)

Proxy1: 36% CPU 7.2 GB mem 3.3 MB/s client out 341 req/s Version 3.1.4 Proxy2: 77% CPU 8.6 GB mem 2.6 MB/s client out 384 req/s Version 3.1.4 <----- Proxy3: 53% CPU 8.8 GB mem 6.8 MB/s client out 402 req/s Version 3.1.4 Proxy4: 32% CPU 6.8 GB mem 2.7 MB/s client out 405 req/s Version 3.0.STABLE23

Configuration of the proxies is the same, with only the changes for 3.1, mainly icap config.

Is there some kind of memory leak that additionally causes massive CPU usage, could it be load related or is this normal behaviour?

Martin

With an explicit cache_mem there should be no difference between the two.

Maybe; ICAP needs to buffer traffic twice as much as normal. One buffer queue to ICAP server, one to client.

Maybe; with HTTP/1.1 being advertised now, if you have ignore_expect_100 turned on you can see the number of waiting clients rise. These are active but 'hung' connections which waste more resources until the client times out and continues.

Maybe; There are some known leaks in 3.0/3.1 auth. But that does not account for the extra CPU unless it contributes to making the box swap memory pages.

In general 3.1.4 has a lot of memory fixes than 3.0. Which are supposed to cause less resource waste. Earlier 3.1.x default memory features were broken on 64-bit. Check if turning memory pools on/off has any good effect.

Amos
--
Please be using
  Current Stable Squid 2.7.STABLE9 or 3.1.4

Reply via email to