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

Ahmad Alzaeem ahmed.zaeem at netstream.ps
Thu Sep 24 20:10:41 UTC 2015


Hi alex

Thanks for answering me

As I told you

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

I have already added that key  u mentioned below which is :

net.local.dgram.recvspace = 1262144
But I have
When I do sysctl -p
I have 

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



any other tricks I can change with squid ???

I can use ur version 3.3.11 to increase timeout and handle more listening ports.

But I have other idea

What about I do "if else" option

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

Awaiting ur reply about the patch and how using it

Many thankx

-----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.




More information about the squid-users mailing list