On Wed, May 24, 2023 at 7:46 AM Mateusz Kempski
<mkemp...@xtm-intl.com.invalid> wrote:
>
> They are all identical VMs. We can also reproduce this on bigger
> servers. I don't think this is caused by Rocky or Ubuntu config. I can
> see 2 problems during my tests.
> 1. httpd does not add any servers when test is running. It kills
> keepalive connections and logs "all workers busy or dying" but does
> not add any, maybe one at the end of the test. For example if I set
> StartServers to 3 it goes up to 4 at the end of the test even though
> it has ServerLimit set to 120.
> 2. httpd seems to not register that it has free workers even when I
> set StartServers to 120. There are thousands of idle threads and it
> still logs "all workers busy or dying" and kills keepalive
> connections. This can be worked around by setting ThreadsPerChild and
> ThreadLimit much higher and lowering StartServers/ServerLimit
> respectively.
> For example with following settings I can easily process over 1500
> concurrent connections without errors and keepalive killing:
> ```
> <IfModule mpm_event_module>
> ThreadsPerChild 200
> ThreadLimit 200
> StartServers 10
> ServerLimit 15
> MinSpareThreads 75
> MaxSpareThreads 3000
> MaxRequestWorkers 3000
> MaxConnectionsPerChild 0
> </IfModule>
> ```
> Why does httpd behaves this way? It seems to not be intended
> considering ThreadsPerChild is limited to 64 by default by
> ThreadLimit. I will try to report a bug to httpd devs as it looks like
> one to me.

Can you save a few snapshots of the output of /server-status under load?

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
For additional commands, e-mail: users-h...@httpd.apache.org

Reply via email to