Re: [squid-users] Squid CPU 100% infinite loop

From: Alex Rousskov <rousskov_at_measurement-factory.com>
Date: Wed, 15 May 2013 11:55:25 -0600

On 05/15/2013 10:35 AM, loic.blot wrote:

> I have problems with squid 3.3.4. Every 30 minutes (with 300 users),
> squid goes to an infinite loop and freeze all web connections (99.9% CPU used)

If this happens every 30 minutes after Squid start, then it is probably
some regularly-scheduled Squid maintenance job. We need to find what it
is and fix it. If this happens around the same time within an hour,
regardless of when Squid was started, then it could be some regular HTTP
transaction.

I suggest getting a stack trace by either attaching gdb to Squid when
this happens OR making Squid dump core when this happens by sending it a
SIGABRT signal. The former is preferred. Both require a non-stripped
Squid binary.

Alternatively, if my "regularly-scheduled Squid maintenance job" is
correct, you may be able to figure out what it is by sending mgr:events
cache manger queries to Squid before this happens and watch the suspect
job propagate to the top of the list.

Finally, if you can afford to run with ALL,9 debugging or similar for 30
minutes, that too may identify the culprit.

HTH,

Alex.

> Squid is installed under OpenBSD 5.2
>
> Here are my compile options:
>
> Squid Cache: Version 3.3.4 configure options: '--enable-pf-transparent'
> '--enable-follow-x-forwarded-for' '--with-large-files' '--enable-ssl'
> '--disable-ipv6' '--enable-esi' '--enable-kill-parent-hack'
> '--disable-snmp' '--with-pthreads' '--enable-ltdl-convenience'
> '--enable-auth-basic=none' '--enable-auth-digest=none'
> '--enable-external-acl-helpers=none'
>
>
> Here is the configuration:
>
> authenticate_ttl 2 hour
> authenticate_ip_ttl 1 hours
> include /etc/squid/squid.acl.conf
> include /etc/squid/squid.http_access.conf
> http_port 3128
> http_port 3129 intercept
>
> hierarchy_stoplist cgi-bin ?
> cache_mem 6800 MB
> maximum_object_size_in_memory 10 MB
> minimum_object_size 2 KB
> maximum_object_size 6 MB
> access_log stdio:/var/log/squid/access.log
> cache_store_log none
> buffered_logs on
> cache_log /var/log/squid/cache.log
> coredump_dir /tmp
> url_rewrite_program /usr/local/bin/squidGuard -c
> /etc/squidguard/squidguard.conf
> url_rewrite_children 192 startup=150 idle=10 concurrency=0
> # Add any of your own refresh_pattern entries above these.
> refresh_pattern ^ftp: 1440 20% 10080
> refresh_pattern -i (/cgi-bin/|?) 0 0% 0
> refresh_pattern . 0 20% 4320
> quick_abort_min 0 KB
> quick_abort_max 0 KB
> negative_ttl 0 seconds
> positive_dns_ttl 12 hours
> negative_dns_ttl 8 seconds
> connect_timeout 15 seconds
> request_timeout 45 seconds
> persistent_request_timeout 35 seconds
> shutdown_lifetime 3 seconds
> cache_mgr si_at_lan.fr
> mail_from proxy-pl_at_lan.fr
> cache_effective_user _squid
> cache_effective_group _squid
> httpd_suppress_version_string on
> visible_hostname Proxy-PL
> unique_hostname prox1
> hostname_aliases dns.lan.fr
> digest_generation off
> icp_port 0
> allow_underscore on
> dns_retransmit_interval 1 seconds
> dns_timeout 2 seconds
> append_domain .lan.fr
> ipcache_size 10240
> ipcache_low 90
> ipcache_high 95
> fqdncache_size 10240
> client_db off
> maximum_single_addr_tries 2
> balance_on_multiple_ip on
> pipeline_prefetch on
>
>
> Any idea ?
>
> Thanks for advance.
Received on Wed May 15 2013 - 17:55:33 MDT

This archive was generated by hypermail 2.2.0 : Thu May 16 2013 - 12:00:06 MDT