Amos Jeffries-2 wrote: > > On Mon, 27 Jul 2009 12:14:29 -0700 (PDT), jotacekm <minuzzo@xxxxxxxxxxxx> > wrote: >> Hello. >> Recently we have added a lot more clientes behind a squid proxy, and now >> cpu >> utilizitaion is usually 70-95%. The processor is a intel dual core 2160 > @ >> 1.80GHz. Users started complaing about the speed on accessing pages, and >> the >> link is fine. >> >> Here is squidclient mgr:info: >> >> Squid Object Cache: Version 2.6.STABLE5 >> Start Time: Fri, 24 Jul 2009 20:19:16 GMT >> Current Time: Mon, 27 Jul 2009 19:09:07 GMT >> Connection information for squid: >> Number of clients accessing cache: 1561 >> Number of HTTP requests received: 8590404 >> Number of ICP messages received: 0 >> Number of ICP messages sent: 0 >> Number of queued ICP replies: 0 >> Number of HTCP messages received: 0 >> Number of HTCP messages sent: 0 >> Request failure ratio: 0.00 >> Average HTTP requests per minute since start: 2021.3 > > 2k req/min is getting close to what people report for saturation of older > 2.6 forward proxies. > First performance improvement will be simply an upgrade to 2.7. > > >> Average ICP messages per minute since start: 0.0 >> Select loop called: 122560206 times, 2.081 ms avg >> Cache information for squid: >> Request Hit Ratios: 5min: 23.0%, 60min: 21.9% >> Byte Hit Ratios: 5min: 13.3%, 60min: 14.7% >> Request Memory Hit Ratios: 5min: 16.3%, 60min: 17.0% >> Request Disk Hit Ratios: 5min: 26.3%, 60min: 29.9% >> Storage Swap size: 4609784 KB >> Storage Mem size: 65692 KB >> Mean Object Size: 15.67 KB >> Requests given to unlinkd: 455490 >> Median Service Times (seconds) 5 min 60 min: >> HTTP Requests (All): 1.24267 1.46131 >> Cache Misses: 1.54242 1.81376 >> Cache Hits: 0.28853 0.30459 >> Near Hits: 1.31166 1.62803 >> Not-Modified Replies: 0.23230 0.23230 >> DNS Lookups: 0.29097 0.31806 >> ICP Queries: 0.00000 0.00000 >> Resource usage for squid: >> UP Time: 254991.358 seconds >> CPU Time: 56029.670 seconds >> CPU Usage: 21.97% >> CPU Usage, 5 minute avg: 94.38% >> CPU Usage, 60 minute avg: 93.36% >> Process Data Segment Size via sbrk(): 193008 KB >> Maximum Resident Size: 0 KB >> Page faults with physical i/o: 70 >> Memory usage for squid via mallinfo(): >> Total space in arena: 193008 KB >> Ordinary blocks: 179871 KB 6058 blks >> Small blocks: 0 KB 0 blks >> Holding blocks: 1080 KB 2 blks >> Free Small blocks: 0 KB >> Free Ordinary blocks: 13136 KB >> Total in use: 180951 KB 93% >> Total free: 13136 KB 7% >> Total size: 194088 KB >> Memory accounted for: >> Total accounted: 111416 KB >> memPoolAlloc calls: 973288506 >> memPoolFree calls: 972077571 >> File descriptor usage for squid: >> Maximum number of file descriptors: 4096 >> Largest file desc currently in use: 1604 >> Number of file desc currently in use: 1308 >> Files queued for open: 0 >> Available number of file descriptors: 2788 >> Reserved number of file descriptors: 100 >> Store Disk files open: 30 >> IO loop method: epoll >> Internal Data Structures: >> 300182 StoreEntries >> 14733 StoreEntries with MemObjects >> 14414 Hot Object Cache Items >> 294106 on-disk objects >> >> And here is part of of squid.conf: >> >> http_port 3128 >> visible_hostname xxx >> hierarchy_stoplist cgi-bin ? >> acl QUERY urlpath_regex cgi-bin \? >> cache deny QUERY > > _after_ upgrading to the most recent 2.6 or a 2.7. Remove the QUERY > entries > above. > >> acl apache rep_header Server ^Apache >> broken_vary_encoding allow apache >> access_log /var/log/squid/access.log squid >> cache_store_log none >> hosts_file /etc/hosts >> >> >> # >> > ---------------------------------------------------------------------------------------------------------- >> cache_mem 64 MB >> cache_dir ufs /var/spool/squid 5000 50 256 > > #1 change that to aufs if using a Linux or variants. diskd if using BSD > or > variants. Change to Linux or BSD if using Windows. > > #2 up the cache size as much as you can. Local objects are much faster to > retrieve than external ones. > The more local objects you can store the faster Squid responds. > From my experience its around an order of magnitude or more req/sec > handled > from cache as from network. > > Memory cache is better for speed than disk, but can be lost more easily > and > you can get bigger cache total spending RAM on indexes and disk on object > storage. > > After the upgrade to 2.7 you have access to a stable COSS system which is > very much more efficient for the small files. It's worth a try. > >> cache_replacement_policy heap LFUDA >> maximum_object_size 51200 KB > > There is good evidence that the web now has a lot of traffic in the 2MB to > 250MB range from multimedia objects. > This will bear investigating in your traffic and see if the limit above is > still good. > > >> maximum_object_size_in_memory 64 KB >> memory_replacement_policy heap GDSF >> logfile_rotate 3 >> >> >> # >> > ---------------------------------------------------------------------------------------------------------- >> refresh_pattern ^ftp: 1440 20% 10080 >> refresh_pattern ^gopher: 1440 0% 1440 > > Add: > refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 > >> refresh_pattern . 0 20% 4320 >> acl all src 0.0.0.0/0.0.0.0 >> acl manager proto cache_object >> acl localhost src 127.0.0.1/255.255.255.255 >> acl to_localhost dst 127.0.0.0/8 >> >> >> >> max_open_disk_fds 2046 > > Definitely raise that. Your stats show that many _new_ requests arriving > every second. > Each single request eats 2-3 FD and may last from seconds to hours. > >> >> # timeouts >> connect_timeout 30 seconds >> shutdown_lifetime 5 seconds >> forward_timeout 2 minutes >> pconn_timeout 30 seconds > > You _want_ pconn to last a fairly long while. There is no CPU or bandwidth > overhead. > Possibly also enabling client and server persistent connections. > >> persistent_request_timeout 1 minute >> request_timeout 2 minute >> >> Is there anything that i can do to lower the cpu utilization, or do i > have >> to upgrade the hardware? > > There are a number of other perfromance optimizations possible within the > build options and in other squid.conf settings. You don't say what they > are > set at, so we can't suggest any right now. > > Amos > > Hello, Thanks for you help. I'll try the modifications you mentioned and report here if they worked. About the build options, this squid was not compiled, it was installed via apt-get in a debian etch. And the other squid.conf options are just acls and allows / denies. -- View this message in context: http://www.nabble.com/High-CPU-utilization-tp24686629p24697787.html Sent from the Squid - Users mailing list archive at Nabble.com.