Search squid archive

RE: squid2.7 Stable 6 passes in intervals where cpu usage hits 100%

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Amos,

Thanks for the info.

According to what you have mentioned below what do you think should be the
value of cache_swap_low and high values to lower the load on the system
although the hardware is big enough I think to hold such a load (all system
us SAS based with 15k rpm drives and has 16GB of pyshical memory.) 
 
>That indicates that when the cache dir gets more than 95% full it needs 
>to clear at least 2GB of objects (2% of 115,000MB).
>
>Depending on your disks and avg object sizes this may be a large part of 
>the load.

As for the regex acls since like I have said these specified by the
videocache python squid plugin redirector setup I can try turning all of
these off and see if the problem persists or no.
And these regex acls are used only with below access lines

url_rewrite_access deny videocache_deny_url
url_rewrite_access allow videocache_allow_url
url_rewrite_access allow videocache_allow_dom


>A lot of those can be reduced to dstdomain or at least dstdomain 
>followed by a regex.
>
>ie:
>acl A dstdomain .googlevideo.com
>acl R urlpath_regex -i /videoplayback
>
>http_access allow/deny A R
>
>Using dstdomain (very fast test) at the start of an access line to 
>determine if the slower regex later on in the line is even needed can 
>produce a dramatic speed boost in response times.
>
>Where you are testing for file types the rep_mime_type on reply can 
>check the mime faster than a regex can test the entire URL.
>
>Also matching all of that file type by mime from a whole dstdomain can 
>be more effective and faster than a specific regex testing for a range 
>of specific sub-domains and file endings.
>
>Also you do not indicate which if the *_access lines these are being 
>tested in. It's a very good idea to only to them in one of either 
>http_access or http_reply_access, not both.


Ragheb Rustom


-----Original Message-----
From: Amos Jeffries [mailto:squid3@xxxxxxxxxxxxx] 
Sent: Saturday, May 30, 2009 11:16 AM
To: Ragheb Rustom
Cc: squid-users@xxxxxxxxxxxxxxx; crobertson@xxxxxxx
Subject: Re:  squid2.7 Stable 6 passes in intervals where cpu
usage hits 100%

Ragheb Rustom wrote:
> Hi Chris,
> 
> Thank you for the reply. I will use squid -k debug to check what is going
> on.
> 
> As for the additional info sorry for not clearing the squid setup more
> anyway this is squid configuration values you have guessed as taken from
my
> squid.conf
> 
> Wild guesses based on the information given:
> 
> *) You are using UFS for your cache_dir instead of AUFS.
> 
> cache_dir aufs /cache1 115000 16 256
> cache_dir aufs /cache2 115000 16 256
> 
> I am using AUFS not UFS.
> 
> *) Your cache is pretty large and your cache_swap_high and 
> cache_swap_low are still at the defaults
> 
> cache_swap_low 93
> cache_swap_high 95
> 
> Do u think these values are reasonable enough regarding the above values
of
> my Cacche dir or should they be changed.
> 

That indicates that when the cache dir gets more than 95% full it needs 
to clear at least 2GB of objects (2% of 115,000MB).

Depending on your disks and avg object sizes this may be a large part of 
the load.


> *) You are using large lists of regex ACLs
> 
> acl videocache_allow_url url_regex -i \.youtube\.com\/get_video\?
> acl videocache_allow_url url_regex -i \.googlevideo\.com\/videoplayback
> \.googlevideo\.com\/get_video\?
> acl videocache_allow_url url_regex -i \.google\.com\/videoplayback
> \.google\.com\/get_video\?
> acl videocache_allow_url url_regex -i \.google\.[a-z][a-z]\/videoplayback
> \.google\.[a-z][a-z]\/get_video\?
> acl videocache_allow_url url_regex -i
>
(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]
>
?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][
> 0-9]?)\/videoplayback\?
> acl videocache_allow_url url_regex -i
>
(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]
>
?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][
> 0-9]?)\/get_video\?
> acl videocache_allow_url url_regex -i
> proxy[a-z0-9\-][a-z0-9][a-z0-9][a-z0-9]?\.dailymotion\.com\/
> acl videocache_allow_url url_regex -i vid\.akm\.dailymotion\.com\/
> acl videocache_allow_url url_regex -i
> [a-z0-9][0-9a-z][0-9a-z]?[0-9a-z]?[0-9a-z]?\.xtube\.com\/(.*)flv
> acl videocache_allow_url url_regex -i bitcast\.vimeo\.com\/vimeo\/videos\/
> acl videocache_allow_url url_regex -i
> va\.wrzuta\.pl\/wa[0-9][0-9][0-9][0-9]?
> acl videocache_allow_url url_regex -i \.files\.youporn\.com\/(.*)\/flv\/
> acl videocache_allow_url url_regex -i
\.msn\.com\.edgesuite\.net\/(.*)\.flv
> acl videocache_allow_url url_regex -i
> media[a-z0-9]?[a-z0-9]?[a-z0-9]?\.tube8\.com\/
> mobile[a-z0-9]?[a-z0-9]?[a-z0-9]?\.tube8\.com\/
> acl videocache_allow_url url_regex -i \.mais\.uol\.com\.br\/(.*)\.flv
> acl videocache_allow_url url_regex -i
>
\.video[a-z0-9]?[a-z0-9]?\.blip\.tv\/(.*)\.(flv|avi|mov|mp3|m4v|mp4|wmv|rm|r
> am)
> acl videocache_allow_url url_regex -i video\.break\.com\/(.*)\.(flv|mp4)
> acl videocache_allow_dom dstdomain v.mccont.com dl.redtube.com
> .cdn.dailymotion.com
> acl videocache_deny_url url_regex -i http:\/\/[a-z][a-z]\.youtube\.com
> http:\/\/www\.youtube\.com
> 
> acl bad_requests urlpath_regex -i cmd.exe \/bin\/sh default\.ida?XXXXXXX
> omg.pif
> 
> acl music url_regex -i .wav
> acl video url_regex -i .avi .mpe
> acl cddown url_regex -i .iso .raw
> 
> These are all the acl regex entries I use in my squid.conf file mainly
most
> of them are those of videocache.

A lot of those can be reduced to dstdomain or at least dstdomain 
followed by a regex.

ie:
acl A dstdomain .googlevideo.com
acl R urlpath_regex -i /videoplayback

http_access allow/deny A R

Using dstdomain (very fast test) at the start of an access line to 
determine if the slower regex later on in the line is even needed can 
produce a dramatic speed boost in response times.

Where you are testing for file types the rep_mime_type on reply can 
check the mime faster than a regex can test the entire URL.

Also matching all of that file type by mime from a whole dstdomain can 
be more effective and faster than a specific regex testing for a range 
of specific sub-domains and file endings.

Also you do not indicate which if the *_access lines these are being 
tested in. It's a very good idea to only to them in one of either 
http_access or http_reply_access, not both.


> 
> I will use the squid -k debug and try and get more info of what is going
on
> during the high cpu usage period and will share whatever I find on
> squid-users mail list.
> 
> Thanks Chris for your support.
> 
> Ragheb
> 
> -----Original Message-----
> From: crobertson@xxxxxxx [mailto:crobertson@xxxxxxx] 
> Sent: Friday, May 29, 2009 10:18 PM
> To: squid-users@xxxxxxxxxxxxxxx
> Subject: Re:  squid2.7 Stable 6 passes in intervals where cpu
> usage hits 100%
> 
> Ragheb Rustom wrote:
>> Dear All,
>>
>> I have been noticing for some time now that my squid server passes in
> nearly
>> regular intervals during the day where the squid process CPU usage hits
> 100%
>> for around 20 - 30 seconds or so during which squid will not serve
> requests.
>> After these 20 -30sec the squid CPU usage drops to around 5 - 13% and
>> website navigation is normal again. This happens like I said before at
>> nearly regular intervals during each day several times and it happens
only
>> for around 20 -30sec. I have been observing the cache.log file but there
> is
>> nothing apparent there. Is there a way that I know what squid is doing
> when
>> this problem happens to try and resolve it as trying to solve it like it
> is
>> now with no info about what is going on is somewhat vague.
> 
> squid -k debug
> 
>>  I think this
>> problem happened after I have changed memory and disk replacement
policies
>> from lru to heap but I am not so sure that this is the source of the
>> problem. I am using squid2.7-Stable6 on a fedora9 server which is a dual
>> xeon quad 2.8Ghz CPU with 16Gb of Ram installed and 3 SAS hard drives.
One
>> more thing this server is also running videocache 1.9.1 but it has been
>> running videocache also before the problem started with no problems
>> whatsoever. I appreciate any help you can offer me.
>>   
> 
> Wild guesses based on the information given:
> 
> *) You are using UFS for your cache_dir instead of AUFS.
> *) Your cache is pretty large and your cache_swap_high and 
> cache_swap_low are still at the defaults
> *) You are using large lists of regex ACLs
> 
>> Sincerely, 
>>
>> Ragheb Rustom
>> Smartelecom S.A.R.L
>> Sin el fil - Mar Elias Street
>> Absi Center - Ground Floor
>> Beirut, Lebanon
>> Email: ragheb@xxxxxxxxxxxxxxx
>>   
> 
> Chris
> 
> 


-- 
Please be using
   Current Stable Squid 2.7.STABLE6 or 3.0.STABLE15
   Current Beta Squid 3.1.0.8 or 3.0.STABLE16-RC1



[Index of Archives]     [Linux Audio Users]     [Samba]     [Big List of Linux Books]     [Linux USB]     [Yosemite News]

  Powered by Linux