В сообщении от Tuesday 15 December 2009 16:06:37 fedorischev написал(а): > Hello, list ! > > Several days ago I find that squid 3.0STABLE16 eating cpu when client using > HTTP connect and his request is hitting by squid delay pool. I posted > message on list and were noticed to be using squid3.0STABLE20 - last stable > version in 3.0 branch. I tried to upgrade our squid to 3.0STABLE20 and the > problem is still exist. > > The problem is described below: > > Clients, who using http CONNECT for downloading files & hitting the generic > squid delay pool, increase squid server's CPU loading to 90-100%. > > Here is described test: > > part of squid.conf: > #-------------------------------------------------------------------------- >----------------------- acl class0 src 172.16.7.107/32 > acl class0_time time T 00:00-23:59 > http_access allow class0 class0_time > > delay_class 5 1 > delay_access 5 allow class0 > #16Kbyte-shaper > delay_parameters 5 16000/16000 > #-------------------------------------------------------------------------- >----------------------- > > 172.16.7.107 - it's my test machine. > > I tried to download file through squid3.0STABLE20. Top reports 100% CPU > immediately after download started. I used small self-writed utility for > tests that may CONNECT'ing to proxy. > > English is not my native tongue, sorry if I describing problem not very > well. > > Here is some additional information: > > squid -v: > > Squid Cache: Version 3.0.STABLE20 > configure options: '--build=x86_64-redhat-linux-gnu' > '--host=x86_64-redhat-linux-gnu' > '--target=x86_64-redhat-linux-gnu' > '--program-prefix=' > '--prefix=/usr' > '--exec-prefix=/usr' > '--bindir=/usr/bin' > '--sbindir=/usr/sbin' > '--sysconfdir=/etc' > '--includedir=/usr/include' > '--libdir=/usr/lib64' > '--libexecdir=/usr/libexec' > '--sharedstatedir=/usr/com' > '--mandir=/usr/share/man' > '--infodir=/usr/share/info' > '--exec_prefix=/usr' > '--bindir=/usr/sbin' > '--libexecdir=/usr/lib64/squid' > '--localstatedir=/var' > '--datadir=/usr/share' > '--sysconfdir=/etc/squid' > '--disable-dependency-tracking' > '--enable-arp-acl' > '--enable-auth=basic,digest,ntlm,negotiate' > '--enable-basic-auth-helpers=LDAP,MSNT,NCSA,PAM,SMB,YP,getpwnam,multi-domai >n-NTLM,SASL' '--enable-negotiate-auth-helpers=squid_kerb_auth' > '--enable-cache-digests' > '--enable-cachemgr-hostname=localhost' > '--enable-delay-pools' > '--enable-digest-auth-helpers=password' > '--enable-epoll' > '--enable-external-acl-helpers=ip_user,ldap_group,unix_group,wbinfo_group' > '--enable-icap-client' > '--enable-ident-lookups' > '--enable-linux-netfilter' > '--enable-ntlm-auth-helpers=SMB,fakeauth' > '--enable-referer-log' > '--enable-removal-policies=heap,lru' > '--enable-snmp' > '--enable-ssl' > '--enable-storeio=aufs,diskd,null,ufs' > '--enable-useragent-log' > '--enable-wccpv2' > '--with-aio' > '--with-default-user=squid' > '--with-filedescriptors=16384' > '--with-dl' '--with-openssl=/usr/kerberos' > '--with-pthreads' > 'build_alias=x86_64-redhat-linux-gnu' > 'host_alias=x86_64-redhat-linux-gnu' > 'target_alias=x86_64-redhat-linux-gnu' > 'CFLAGS=-fPIE -Os -g -pipe -fsigned-char -O2 -g -pipe -Wall > -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector > --param=ssp-buffer-size=4 -m64 -mtune=generic' 'LDFLAGS=-pie' > 'CXXFLAGS=-fPIE -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions > -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' > 'FFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions > -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' > > > [root@test-proxy ~]# cat /etc/redhat-release > CentOS release 5.3 (Final) > [root@test-proxy ~]# arch > x86_64 > [root@test-proxy ~]# cat /proc/version > Linux version 2.6.18-128.el5 (mockbuild@xxxxxxxxxxxxxxxxxxxx) (gcc version > 4.1.2 20080704 (Red Hat 4.1.2-44)) #1 SMP Wed Jan 21 10:41:14 EST 2009 > > > I'll put an email to Henrik Nordstrom with detailed debug info. Do I must > make a bugreport on squid-cache.org or/and do something else ? > > Thank for tips & help. I do not need commercial squid support. I only want to help developers to determine potential bug and fix it. WBR.