@betal

Высокий la и system cpu на php-fpm?

Ранее мне установили PHP7 (FPM), в отдельной папке /opt/ он работает.
Но в продакшене столкнулся с проблемой высокого System CPU usage (~97%), при нагрузке. Хотя вроде бы нагрузка не очень большая. навскидку 10-15 RPS. User CPU при этом 2-3 %, IO(wa) ~ 0.5%, sy 97%. free RAM> 8GB
Т.е. он работает, работает в 5 - 15 рабочих процессов с загрузкой процессора ~4% user cpu, ~2 % sy, 94%id
потом резко со временем (10 минут - 120 минут в зависимости от нагрузки) la вырастает с 4 до более 200, количество процессов php стремится к максимальному (пробовал как ограничивать так и не ограничивать их количество, сути не меняет). Вроде бы на php5.6 работало, а с php7 навскидку быстрее работать стало процентов на 25, т.е. ресурсов вроде бы хватает. По крайней мере пока он в регрессию не уходит, CPU,RAM,IO очень много.

Подозреваю что это может быть связано с файловым сокетом, к которому подключается nginx, пробовал через strace прогнать php, много вызовов sendto, recvfrom.
Пробовал увеличивать параметры
net.core.wmem_default = 4194394
net.core.rmem_default = 8388608
net.core.netdev_max_backlog=10000
net.core.somaxconn=4096
net.core.rmem_max=16777216
net.core.wmem_max=16777216

Количетсов процессов php стоит в динамик, пробовал ставить в пределах от 80 (уходит в system cpu -> 100% быстро),
пробовал ставить в 800 тоже уходит быстро, если ставить около 240 то в течении часа уходит в регрессию.
Такое ощущение что после отработки процесс не умирает и их число накапливается и постепенно растет, а после какого - то количества резко увеличивается system cpu.
  • Вопрос задан
  • 1421 просмотр
Пригласить эксперта
Ответы на вопрос 1
alex1442
@alex1442
рассмотрите ход запроса в xdebug,
найдите узкие места
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы