Search squid archive

Re: squid 4.1 default queue-size should consider concurrency

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

 



On Tuesday 03 July 2018 09:39 PM, Alex Rousskov wrote:
Marcus,

     Based on your examples, I suspect that you are misinterpreting what
the queue is. The request is queued only when no helper can accept it.
The queue is not used for requests sent to helpers.

Alex.


Which means my previous interpretation was correct! And I had not misinterpreted it :)

Amish.


On Tuesday 03 July 2018 09:30 PM, Amish wrote:
Umm, may be I mis-interpreted queue-size.

I thought queue-size indicates messages "waiting" in the queue and not those are currently being processed.

So in case of:
   url_rewrite_children 16 concurrency=4

When redirect process is busy --- its currently processing 64 urls.

So max(2*4,2*16)=32 means that 32 URLs are "waiting" in queue. (in addition to 64 being processed)

But if queue-size means ALL urls (64+32) then my formula would be

Default queue-size = (NCHILD*NCONC)+max(2*NCHILD, 2*NCONC)

Regards,

Amish.


On Tuesday 03 July 2018 09:17 PM, Marcus Kool wrote:
If an admin finds it necessary to configure
   url_rewrite_children 16 concurrency=4
the helper subsystem is theoretically capable of processing 64 messages simultaneously. It does not makes sens to use max(2*4,2*16)=32 for queue-size, but should be _at least_ 64.

Since Squid (before introducing the concurrency parameter) wanted to have a queue that is twice the capacity of the helper subsystem (most likely since this was found to be a good value), the logical thing to do is what I proposed and use 2*NCONC*NCHILD, which in the above example is 2*4*16 = 128.

There are many messages on this mailing list about problems with helpers.
One refers to
   external_acl_type session concurrency=100 ttl=3 negative_ttl=0 children-max=1 %LOGIN /usr/lib64/squid/ext_session_acl -a -T 60 -b /var/lib/squid/sessions/ with NCONC=100, NCHILD=1, it is not hard to imagine that a default queue-size of 2 is problematic.
Another one has
   store_id_children 100 startup=0 idle=1 concurrency=1000
with NCONC=1000 and NCHILD=100 the admin wants to process max 1 million requests simultaneously. *I have a suspicion that admins use these large numbers in an attempt to have a good performance but they never reach it since the queue-size stays small.* So, the impact of queue-size should be very clearly documented, better is to use a sane default.

Marcus


On 03/07/18 12:07, Amish wrote:
2*NCONC*NCHILD will possibly lead to too high value as a default and the busy-ness will never be logged.

My proposal of higher of (2*NCONC) and (2*NCHILD) would mean that load is now regularly high enough that atleast 2 more children are needed.

We can start with that and then find a better formula.

Amish


On Tuesday 03 July 2018 07:49 PM, Marcus Kool wrote:
The original intention of this default value is have a queue that is twice the size of the messages being processed, so for helpers with concurrency=NCONC and num_children=NCHILD it makes a lot of sense to set the default queue length to 2*NCONC*NCHILD. I do not understand that "compatibility" with doing the wrong calculation is a good thing.

Marcus


On 03/07/18 05:16, Amos Jeffries wrote:
On 03/07/18 20:00, Amish wrote:
Hello,

In squid 4.1 new option "queue-size" was introduced.

In most (or all) cases default "queue-size" is set to children-max*2.

But I believe it should be higher of (children-max*2) OR (concurrency*2)

Or it can be some better formula but the point I am trying to make is
that, "concurrency" should be taken in to account for calculating
default value of "queue-size".

Please consider.

FYI; When we add a directive or option to control some behaviour that
already happens the default is usually set to the value all existing
Squid are using so nobody gets an unexpected surprise with upgrade.

That can change later once more people have experimented to find what a
better value actually is.

Cheers
Amos

_______________________________________________
squid-users mailing list
squid-users@xxxxxxxxxxxxxxxxxxxxx
http://lists.squid-cache.org/listinfo/squid-users




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

  Powered by Linux