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.
