httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Yann Ylavic <ylavic....@gmail.com>
Subject Re: mod_http2 and Frequent wake-ups for mpm_event
Date Sun, 22 Jan 2017 21:22:10 GMT
Hi Stefan,

On Sun, Jan 22, 2017 at 8:00 PM, Stefan Priebe - Profihost AG
<s.priebe@profihost.ag> wrote:
> Am 22.01.2017 um 18:02 schrieb Eric Covener:
>> On Sun, Jan 22, 2017 at 11:21 AM, Stefan Priebe - Profihost AG
>> <s.priebe@profihost.ag> wrote:
>>> Hi Stefan,
>>>
>>> no i was mistaken customer isn't using mod_proxy - but I think this is
>>> the patch causing me problems:
>>> https://github.com/apache/httpd/commit/a61a4bd02e483fb45d433343740d0130ee3d8d5d
>>>
>>> What do you think?
>>>
>>
>> If that is the culprit, you could likely minimize it & help confirm with
>>
>> * Increase MaxSpareTheads to the current value of MaxClients (aka
>> MaxRequestWorkers)
>> * Make sure MaxRequestsPerChild is 0.
>
> Why not just revert that one?

This commit is likely not the "culprit", but probably the one that
brings up the issue.

It makes so that mpm event's threads/keepalive connections get
terminated more agressively/quickly on graceful restart, for the new
generation of children processes to be able to handle new connections
also more quickly.

I agree with Eric that the next test would be to avoid "maintenance"
graceful restarts by tunning MaxSpareTheads and MaxRequestsPerChild as
suggested, mod_http2 should then expect the same behaviour from the
mpm as with 2.4.23.

You may still reproduce the crash with "explicit" graceful restarts
(e.g. "apache[2]ctl -k graceful" or "/etc/init.d/apache2 reload"), but
if it proves to be stable otherwise the issue is still about double
cleanup/close when http2 pools/buckets are in place.


@icing: Any special expectation in mod_h2 with regard to mpm workers
threads' lifetime (or keepalive connections that should stay alive for
the configured limit)?
I see that beam buckets make use of thread local storage/keys for
locking, and that they also handle the double cleanup like eoc buckets
did before 1.8.9, but can't follow all the paths yet.
Maybe something to look at there?

Mime
View raw message