Я наблюдаю поведение, из-за которого наши серверы apache httpd не отвечают в производственной среде с очень высокой степенью параллелизма соединения. Серверы настроены на использование режима событий MPM. Я слежу за серверами с помощью mod_status, который дает мне некоторую информацию о внутреннем состоянии серверов. В процессе производства я вижу очень похожие значения для ConnsTotal и BusyWorkers:
Processes: 16
BusyWorkers: 1418
IdleWorkers: 182
ConnsTotal: 1460
Я пытаюсь воспроизвести это с той же конфигурацией, аналогичным оборудованием в тестовой среде, и я вижу очень разные значения для этих полей:
Processes: 50
BusyWorkers: 4730
IdleWorkers: 170
ConnsTotal: 700
У них обоих одинаковый конфиг:
<IfModule mpm_event_module>
StartServers 3
MinSpareThreads 75
MaxSpareThreads 500
ThreadLimit 100
ServerLimit 50
ThreadsPerChild 100
MaxRequestWorkers 5000
MaxConnectionsPerChild 0
</IfModule>
В случае с производственными серверами кажется, что серверы перестают отвечать из-за нехватки памяти. А в тестовой среде я считаю, что запросы отбрасываются из-за ограничения на количество рабочих процессов.
Спасибо