Apache HTTP с MPM Event и PHP-FPM

Q
На сайте с 20.07.2014
Offline
78
3135

Привет.

Установил сабж на VPS. Просчитал оперативку, процессы, все дела и прописал настройки в файле /etc/php/8.2/fpm/pool.d/www.conf. Все нормально работает. Но при сильном всплеске трафика сайт перестает открываться. Смотрю статистику VPS – там ресурсы на уровне 20%, но сервер рвет соединения. Поднимал в этом конфиге pm.max_children с 350 до 50000 и ничего особо не изменялось.

Нужно ли прописывать лимиты еще где-то, например в /etc/apache2/mods-available/mpm_event.conf ?

Андрей
На сайте с 30.09.2009
Offline
482
#1
Quadrin :

Привет.

Установил сабж на VPS. Просчитал оперативку, процессы, все дела и прописал настройки в файле /etc/php/8.2/fpm/pool.d/www.conf. Все нормально работает. Но при сильном всплеске трафика сайт перестает открываться. Смотрю статистику VPS – там ресурсы на уровне 20%, но сервер рвет соединения. Поднимал в этом конфиге pm.max_children с 350 до 50000 и ничего особо не изменялось.

Нужно ли прописывать лимиты еще где-то, например в /etc/apache2/mods-available/mpm_event.conf ?

У PHP-FPM не один параметр, их много. Изучайте логи. Там всегда есть ответ на ваш вопрос.

EuroHoster.org ( https://eurohoster.org/ru/ ) - территория быстрых серверов. Выделенные серверы, VPS, SSL, домены и VPN.
Q
На сайте с 20.07.2014
Offline
78
#2
Андрей #:

У PHP-FPM не один параметр, их много. Изучайте логи. Там всегда есть ответ на ваш вопрос.

Как я понял из гайдов и # комментов в самом конфиге – можно поставить режим статик и постоянное кол-во дочерних процессов, то есть вот так: pm = static pm.max_children = 350. Именно так я и делал. И менял эту величину до 5000. А свободной памяти как оставалось условно 15-20 гигов, так и оставалось. 

Логи говорят такое:

[proxy_fcgi:error] [pid 19309:tid 140075417446144] [client 93.95.162.143:60864] AH01067: Failed to read FastCGI header, referer: https://.....

[proxy_fcgi:error] [pid 19309:tid 140075417446144] (104)Connection reset by peer: [client 93.95.162.143:60864] AH01075: Error dispatching request to : , referer: https://.....

Андрей
На сайте с 30.09.2009
Offline
482
#3

Еще раз говорю, в конфиге не один параметр. Если вы можете только это менять, то лучше обратится к хостеру. Логи нужно смотреть не только в один проблемный момент, но и до этого какое-то время. Нужно найти точку, когда проблема только начинается. Кроме этого уровень детализации логов можно поднять.

Aisamiery
На сайте с 12.04.2015
Offline
293
#4

А у самого php есть какие нибудь логи, у приложения например? 

Вы же понимаете, что например у MySQL тоже есть max_connection и если там 100 по умолчанию, то только 100 из ваших 350 смогут подключится, остальные упадут с ошибкой too many connections

Разработка проектов на Symfony, Laravel, 1C-Bitrix, UMI.CMS, OctoberCMS
srv24.net
На сайте с 05.12.2023
Offline
5
#5

nginx случайно не стоит на сервере? 

в любом случае выше правы - ответ есть в логах по любому, важно только найти в каких. Смотрите все логи. и у php-fpm есть свои логи отдельно. 

https://srv24.net - аренда выделенных серверов по всему миру

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий