Может ли php-fpm обрабатывать больше коннектов, чем pm.max_children?
pm.max_children=100
Кол-во процессов, которое сервер нормально держит.
Проблема: иногда бывают всплески, когда единомоментно может прийти 120-150 запросов. Из-за лимита в 100 процессов часть запросов отвалится. Но сама обработка выполняется очень быстро (<0.1 секунды). И чтобы решить проблему со всплесками достаточно заставить доп. запросы подождать доли секунды, пока воркеры освободятся.
Возможно ли сделать такое средствами php-fpm или nginx? Если можно использовать haproxy или другое решение, тоже подойдет.
neol, по описанию в документации так и не понял, за что отвечает backlog. Это именно то, о чем я спрашиваю, а именно: если все php-fpm процессы в данный момент заняты обработкой, то новые запросы пойдут в очередь по тому лимиту, который задан в backlog? Проще говоря, nginx передаст запрос в proxy_pass и будет ждать?
neol, действительно, проверил. Поставил один fpm воркер, эксперементировал с backlog параметром. 502 bad gateway nginx отдает, когда backlog значение очень маленькое. Спасибо за помощь.