On Wed, May 24, 2023 at 7:46 AM Mateusz Kempski <mkempski@xxxxxxxxxxxx.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-unsubscribe@xxxxxxxxxxxxxxxx For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx