@tirael777
SysAdmin

Почему php-fpm грузит цп опд 100%?

Доброго дня.
Уже который день разбираюсь с проблемой на сайте, а причина одна - медленная работа. Которая видна в долгом ttfb на сайте в среднем 20 сек. Долго искал смотрел и обнаружил что каждый вновь созданный процесс php-fpm грузит цп аж до 100%.
Сервер такой nginx +mysql+php-fpm+xcache.
4-x Intel(R) Atom(TM) CPU C2750 @ 2.40GHz
4gb ОЗУ
нашёл подобную проблему тут http://phpclub.ru/talk/threads/Высокая-нагрузка-на... но там она непонятно решилась или нет.
В чём может быть проблема?


# php5-fpm -v
PHP 5.6.26-0+deb8u1 (fpm-fcgi) (built: Sep 21 2016 12:37:42)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
with XCache v3.2.0, Copyright (c) 2005-2014, by mOo
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
with XCache Optimizer v3.2.0, Copyright (c) 2005-2014, by mOo
with XCache Cacher v3.2.0, Copyright (c) 2005-2014, by mOo
with XCache Coverager v3.2.0, Copyright (c) 2005-2014, by mOo


сам www.conf

[www]
user = www-data
group = www-data
listen = /var/run/php5-fpm.sock
listen.owner = www-data
listen.group = www-data
pm = ondemand
pm.max_children = 1000
pm.start_servers = 3
pm.min_spare_servers = 2
pm.max_spare_servers = 4
request_slowlog_timeout = 1
slowlog = /var/log/php-fpm.log.slow
chdir = /
  • Вопрос задан
  • 7758 просмотров
Решения вопроса 1
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
Пригласить эксперта
Ответы на вопрос 4
miraage
@miraage
Старый прогер
Держу пари, дело в коде.
Ответ написан
1. Если есть opcache, то xcache, в общем-то, не нужен.
2. У вас есть /var/log/php-fpm.log.slow --- там можно увидеть какие запросы являются медленными. Возьмите топ-5 самых медленных запросов и профилируйте код, чтобы увидеть что именно там тормозит. Воспользуйтесь функцией php.net/manual/function.getrusage.php --- она покажет использование ресурсов процессом. Это дело можно логировать и строить графики. Таким образом найдёте того "гадёныша", который грузит процессор.

UPD.
Без профилирования и детальных логов невозможно сказать где именно находится проблема.
Ответ написан
@tirael777 Автор вопроса
SysAdmin
получилось найти информацию по функции, но как её изменить не знаю...
uploads.ru/rSA2G.jpg
Ответ написан
Комментировать
@mobidev
pm = ondemand
pm.max_children = 4
pm.start_servers = 1
pm.min_spare_servers = 1
pm.max_spare_servers = 1
request_slowlog_timeout = 1

вот так сделай, 1 процесс грузит Атом на 20-25%, соотвественно для Интел Атом максималочка 4 процесса
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы