httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Yann Ylavic <ylavic....@gmail.com>
Subject Re: [Bug 53555] Scoreboard full error with event/ssl
Date Sat, 30 Apr 2016 13:17:08 GMT
On Sat, Apr 30, 2016 at 1:04 PM, Yann Ylavic <ylavic.dev@gmail.com> wrote:
>
> How about:
>
> Index: server/mpm/event/event.c
> ===================================================================
> --- server/mpm/event/event.c    (revision 1741696)
> +++ server/mpm/event/event.c    (working copy)
> @@ -2857,7 +2857,7 @@ static void perform_idle_server_maintenance(int ch
>                  (status == SERVER_GRACEFUL);
>              any_dead_threads = any_dead_threads || (status == SERVER_DEAD);
>              all_dead_threads = all_dead_threads &&
> -                (status == SERVER_DEAD || status == SERVER_GRACEFUL);
> +                (status == SERVER_DEAD);
>
>              /* We consider a starting server as idle because we started it
>               * at least a cycle ago, and if it still hasn't finished starting
> _
>
> AIUI, that would (re)use *in priority* scoreboard entries of processes
> *fully* idle.
> So possibly admins could configure ServerLimit = N *
> (MaxRequestWorkers / ThreadsPerChild), where N would be the number of
> graceful restarts expected to not mix worker entries of old/new
> generation processes.

Hmm, not that easy actually.
perform_idle_server_maintenance() is currently based on
ap_daemons_limit processes (as possibly are codes using
AP_MPMQ_MAX_DAEMONS), not on server_limit.
Using the spare "server_limit - ap_daemons_limit" room at runtime
would require changing ap_daemons_limit dynamically/accordingly...

Is setting "AP_MPMQ_MAX_DAEMONS = server_limit" an option with
mpm_{event,worker}, so that we could make dynamic ap_daemons_limit
internal to those MPMs, whereas AP_MPMQ_MAX_DAEMONS users would
continue to "work"?

Mime
View raw message