Hi All,

I just want to check if there is any feedback on this? 2.4.12 T&R will be 
opened tomorrow, it would be great to get your feedback soon.

Thanks,
Lucy

-----Original Message-----
From: Lu, Yingqi [mailto:[email protected]] 
Sent: Monday, January 19, 2015 4:32 PM
To: [email protected]
Subject: RE: AW: Time for 2.4.11

Hi All,

Sorry for the delay. Below is a draft version of the documentation on 
"ListenCoresBucketsRatio". Please chime in with your feedback and comments. 
This is my first time to help on the documentation. Please let me know if this 
is sufficient or I need to follow some specific format.

Also, the 2.4 backports of the SO_REUSPORT patch has already been proposed at 
http://svn.apache.org/r1651967. This also includes the link to the 2.4 version 
of the patch. Thanks very much to Yann Ylavic for his help! Everyone, please 
take some time to review this patch and let me know your feedback and comments. 
If you like it, please give us a positive vote for it to be added in 2.4.12.

ListenCoresBucketsRatio Directive

Description: Enables duplicated listener (to use SO_REUSEPORT) feature
Syntax: ListenCoresBucketsRatio num
Default:        ListenCoresBucketsRatio 0
Context: server config
Status: Core
Module: core
The SO_REUPOSTPORT feature introduced in Linux kernel 3.9 enables multiple 
sockets to listen to the same IP:port and automatically round robins 
connections. ListenCoresBucketsRatio is the configuration directive that sets 
the ratio between number of active CPU threads and number of listener buckets. 
For each of the listen bucket, there will be 1 listener and 1 accept mutex 
assigned. Default value of ListenCoresBucketsRatio is 0 which means there is 
only 1 listener bucket so that there is 1 listener and 1 accept mutex. When it 
is set to between 1 and number of active CPU threads, Apache httpd will first 
check if the SO_REUSEPORT feature is supported in the kernel. If yes, the 
number of listener buckets will be calculated as "total number of active CPU 
threads/ ListenCoresBucketsRatio". In some testing cases, especially on big 
core count systems, enabling this feature (set it non-zero) has been tested to 
show significant performance improvement with response time reductions. 

When ListenCoresBucketsRatio is set to non-zero, Apache httpd checks on the 
StartServers/ MinSpareServers/ MaxSpareServers/ MinSpareThreads/ 
MaxSpareThreads directives and make sure there is always at least 1 httpd 
process per listener bucket. You may need to tune these directives based on 
your own environment, a good starting point is to start httpd with 2-4 
processes per listener bucket (for example StartServers = 2 * number of 
listener bucket), keep at least 1 of them idle. You can increase the values 
later if needed.

Thanks,
Yingqi

-----Original Message-----
From: Lu, Yingqi [mailto:[email protected]]
Sent: Thursday, January 15, 2015 9:39 AM
To: [email protected]
Subject: RE: AW: Time for 2.4.11

Hi Yann,

Thanks very much for your help! 

Yes, I think I can help to document the "ListenCoresBucketsRatio", at least to 
draft it. Also, I think I can share the settings from our testing regarding to 
this work.

I will send them later this week.

Thanks,
Yingqi

-----Original Message-----
From: Yann Ylavic [mailto:[email protected]]
Sent: Thursday, January 15, 2015 2:06 AM
To: httpd
Subject: Re: AW: Time for 2.4.11

On Thu, Jan 15, 2015 at 9:25 AM, Yann Ylavic <[email protected]> wrote:
>
> There is still missing the "ListenCoresBucketsRatio" documentation, 
> and I don't think I can do it today, could you?

Also, would you share maybe some recommended settings 
({Min,Max}Spare*,ServerLimit, StartServer, ...) wrt bucketing and this new 
directive?

I did some testing (though with linux-3.14, and httpd-2.2.x backport of the 
patch), and it seems it really helps the scalability (at the limits).
And I did not notice any special dysfunctioning either, including during 
(graceful) restarts.
So +1 for me.

But, since the patch is quite big, it may be hard for reviewers to (in)validate 
today (thurs here, which seems to be the T&R date).
So maybe we can take more time for this (with a patch already available for 
those who care) and wait until 2.4.12 (next next)?
What do you (reviewers) think?

Thanks,
Yann.

Reply via email to