[squid-users] squid with SMP registeration time out when i use 10K opened sessions

Alex Rousskov rousskov at measurement-factory.com
Thu Sep 24 20:26:35 UTC 2015


On 09/24/2015 02:10 PM, Ahmad Alzaeem wrote:

> If I use 2k ips with 2 worker , squid works ok If I use 10kbports without SMP , squid is ok
> With 10K  + 2 workers , we have reg timeout

The bigger (workers * ports) product is, the more likely you are to run
out of the UDS buffer space because unpatched Squid workers request
sharing of all http_ports at once.


> error: "net.local.dgram.recvspace" is an unknown key

Sorry, I do not know what that option is called in your environment.


> if process # 1 , I give it ports 3K If process # 2 , I give it 3
> K And so on ....will that success ??

I am not sure, but I suspect that you will get different workers
listening on different ports, without sharing. It is not a configuration
SMP Squid was designed for, and workers will still send UDS requests to
share their ports (a worker does not know whether other workers are
using its port). It does not hurt to try.

Alex.



> -----Original Message-----
> From: Alex Rousskov [mailto:rousskov at measurement-factory.com]
> Sent: Thursday, September 24, 2015 7:10 PM
> To: squid-users at lists.squid-cache.org
> Cc: Ahmad Alzaeem
> Subject: Re: [squid-users] squid with SMP registeration time out when i use 10K opened sessions
> 
> On 09/24/2015 08:54 AM, Ahmad Alzaeem wrote:
> 
>> If I run it with no SMP 10000 listenting ports  , it works ok and 
>> problem
>>
>> If I run squid with 10000  listening port with 2 workers èkid timeout 
>> registeration
> 
>> 2015/09/24 14:51:25 kid2| Closing HTTP port [::]:29995
>> 2015/09/24 14:51:25 kid2| Closing HTTP port [::]:29996
>> 2015/09/24 14:51:25 kid2| Closing HTTP port [::]:29997
>> 2015/09/24 14:51:25 kid2| Closing HTTP port [::]:29998
>> 2015/09/24 14:51:25 kid2| Closing HTTP port [::]:29999
>> 2015/09/24 14:51:25 kid2| Closing HTTP port [::]:30000
> ...
>> FATAL: kid2 registration timed out
> 
>> do we need to increase timeout ?? since it take long time to load the 
>> the ips.
> 
> 
> The existing SMP http_port sharing algorithm needs lots of UDS buffer space to share lots of ports. You may be able to get your configuration working by allocating lots of UDS buffer space (sysctl net.local.dgram.recvspace and such), but it may turn out to be impossible for 10K ports. If there is not enough UDS buffer space, increasing timeout will not help.
> 
> 
> The attached patch for Squid v3.3.11 changes the port sharing algorithm to minimize memory usage (at the expense of registration time). Please see the patch preamble for technical details. The patch worked with 3K ports (24 workers * 128 http_ports each); the registration lasted less than 5 seconds.
> 
> I do not recall whether we have tested the patch with 10K ports -- you may need to increase the hard-coded kid registration timeout to handle 10K ports with a patched Squid.
> 
> Sorry, I do not have a patch for other Squid versions at this time.
> 
> 
> HTH,
> 
> Alex.
> 
> 
> _______________________________________________
> squid-users mailing list
> squid-users at lists.squid-cache.org
> http://lists.squid-cache.org/listinfo/squid-users
> 



More information about the squid-users mailing list