V
V
VS2016-10-18 13:02:39
PHP
VS, 2016-10-18 13:02:39

Why is php-fpm loading cpu opd 100%?

Good day.
I have been dealing with a problem on the site for a day now, and there is only one reason - slow work. Which is visible in a long ttfb on the site for an average of 20 seconds. I searched for a long time and found that each newly created php-fpm process loads the CPU up to 100%.
The server is nginx + mysql + php-fpm + xcache.
4-x Intel(R) Atom(TM) CPU C2750 @ 2.40GHz
4gb RAM
found a similar problem here http://phpclub.ru/talk/threads/High-load-on... but there it is unclear whether it was resolved or not.
What could be the problem?


# 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 itself

[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 = /

Answer the question

In order to leave comments, you need to log in

5 answer(s)
Александр Аксентьев, 2016-10-18
@tirael777

blackfire.io
или
xdebug

M
Mikhail Osher, 2016-10-18
@miraage

Держу пари, дело в коде.

G
Grigory Esin, 2016-10-18
@xotey83

1. Если есть opcache, то xcache, в общем-то, не нужен.
2. У вас есть /var/log/php-fpm.log.slow --- там можно увидеть какие запросы являются медленными. Возьмите топ-5 самых медленных запросов и профилируйте код, чтобы увидеть что именно там тормозит. Воспользуйтесь функцией php.net/manual/function.getrusage.php --- она покажет использование ресурсов процессом. Это дело можно логировать и строить графики. Таким образом найдёте того "гадёныша", который грузит процессор.
UPD.
Без профилирования и детальных логов невозможно сказать где именно находится проблема.

V
V S, 2016-10-19
@tirael777 Автор вопроса

получилось найти информацию по функции, но как её изменить не знаю...
uploads.ru/rSA2G.jpg

M
mobidev, 2018-12-28
@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 процесса

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question