@ultrix
Линукс, Виндовс, инженер.

Почему php-fpm плодит процессы и грузит систему?

Есть сервер заббикс версии 3.0. Работал всегда исправно. Недавно стал жутко тормозить. Исследования показали, что плодятся процессы php-fpm и жутко грузят систему. Причем отследить какую-то закономерность пока что не удалось.

Лог php-fpm
[23-Jan-2018 14:55:17.187223] DEBUG: pid 8266, fpm_pctl_perform_idle_server_maintenance(), line 379: [pool www] currently 20 active children, 0 spare children, 20 running children. Spawning rate 1
[23-Jan-2018 14:55:18.188435] DEBUG: pid 8266, fpm_pctl_perform_idle_server_maintenance(), line 379: [pool www] currently 20 active children, 0 spare children, 20 running children. Spawning rate 1
[23-Jan-2018 14:55:19.189574] DEBUG: pid 8266, fpm_pctl_perform_idle_server_maintenance(), line 379: [pool www] currently 20 active children, 0 spare children, 20 running children. Spawning rate 1
[23-Jan-2018 14:55:19.304932] WARNING: pid 8266, fpm_request_check_timed_out(), line 271: [pool www] child 9011, script '/usr/share/zabbix/map.php' (request: "GET /map.php") executing too slow (13.250784 sec), logging
[23-Jan-2018 14:55:19.305105] WARNING: pid 8266, fpm_request_check_timed_out(), line 271: [pool www] child 8353, script '/usr/share/zabbix/map.php' (request: "GET /map.php") executing too slow (12.110724 sec), logging
[23-Jan-2018 14:55:19.305144] DEBUG: pid 8266, fpm_got_signal(), line 76: received SIGCHLD
[23-Jan-2018 14:55:19.305169] NOTICE: pid 8266, fpm_children_bury(), line 227: child 8353 stopped for tracing
[23-Jan-2018 14:55:19.305175] NOTICE: pid 8266, fpm_php_trace(), line 144: about to trace 8353
[23-Jan-2018 14:55:19.305548] NOTICE: pid 8266, fpm_php_trace(), line 172: finished trace of 8353
[23-Jan-2018 14:55:19.305563] NOTICE: pid 8266, fpm_children_bury(), line 227: child 9011 stopped for tracing
[23-Jan-2018 14:55:19.305568] NOTICE: pid 8266, fpm_php_trace(), line 144: about to trace 9011
[23-Jan-2018 14:55:19.305729] NOTICE: pid 8266, fpm_php_trace(), line 172: finished trace of 9011
[23-Jan-2018 14:55:19.305742] DEBUG: pid 8266, fpm_got_signal(), line 76: received SIGCHLD
[23-Jan-2018 14:55:19.305748] DEBUG: pid 8266, fpm_event_loop(), line 419: event module triggered 1 events
[23-Jan-2018 14:55:20.190686] DEBUG: pid 8266, fpm_pctl_perform_idle_server_maintenance(), line 379: [pool www] currently 20 active children, 0 spare children, 20 running children. Spawning rate 1
[23-Jan-2018 14:55:32.640866] WARNING: pid 8266, fpm_request_check_timed_out(), line 271: [pool www] child 9040, script '/usr/share/zabbix/map.php' (request: "GET /map.php") executing too slow (13.057358 sec), logging
[23-Jan-2018 14:55:32.641051] DEBUG: pid 8266, fpm_got_signal(), line 76: received SIGCHLD
[23-Jan-2018 14:55:32.641077] NOTICE: pid 8266, fpm_children_bury(), line 227: child 9040 stopped for tracing
[23-Jan-2018 14:55:32.641085] NOTICE: pid 8266, fpm_php_trace(), line 144: about to trace 9040
[23-Jan-2018 14:55:32.641415] NOTICE: pid 8266, fpm_php_trace(), line 172: finished trace of 9040
[23-Jan-2018 14:55:32.641428] DEBUG: pid 8266, fpm_event_loop(), line 419: event module triggered 1 events
[23-Jan-2018 14:55:33.205565] DEBUG: pid 8266, fpm_pctl_perform_idle_server_maintenance(), line 379: [pool www] currently 20 active children, 0 spare children, 20 running children. Spawning rate 1
[23-Jan-2018 14:55:39.211917] DEBUG: pid 8266, fpm_pctl_perform_idle_server_maintenance(), line 379: [pool www] currently 20 active children, 0 spare children, 20 running children. Spawning rate 1
[23-Jan-2018 14:55:39.308203] WARNING: pid 8266, fpm_request_check_timed_out(), line 271: [pool www] child 8969, script '/usr/share/zabbix/map.php' (request: "GET /map.php") executing too slow (10.989382 sec), logging
[23-Jan-2018 14:55:39.308357] DEBUG: pid 8266, fpm_got_signal(), line 76: received SIGCHLD
[23-Jan-2018 14:55:39.308381] NOTICE: pid 8266, fpm_children_bury(), line 227: child 8969 stopped for tracing
[23-Jan-2018 14:55:39.308388] NOTICE: pid 8266, fpm_php_trace(), line 144: about to trace 8969
[23-Jan-2018 14:55:39.308678] NOTICE: pid 8266, fpm_php_trace(), line 172: finished trace of 8969
[23-Jan-2018 14:55:39.308691] DEBUG: pid 8266, fpm_event_loop(), line 419: event module triggered 1 events
[23-Jan-2018 14:55:40.213576] DEBUG: pid 8266, fpm_pctl_perform_idle_server_maintenance(), line 379: [pool www] currently 20 active children, 0 spare children, 20 running children. Spawning rate 1


Лог php-fpm-slow

[23-Jan-2018 14:57:09.329814] [pool www] pid 9040
script_filename = /usr/share/zabbix/map.php
[0x00007fe2fed799e0] get() /usr/share/zabbix/include/classes/api/services/CMap.php:256
[0x00007ffe350accc0] get() unknown:0
[0x00007fe2fed78f48] call_user_func_array() /usr/share/zabbix/include/classes/api/clients/CLocalApiClient.php:123
[0x00007fe2fed78d20] callMethod() /usr/share/zabbix/include/classes/api/wrappers/CFrontendApiWrapper.php:97
[0x00007fe2fed78c18] callClientMethod() /usr/share/zabbix/include/classes/api/wrappers/CApiWrapper.php:94
[0x00007fe2fed787e0] callMethod() /usr/share/zabbix/include/classes/api/wrappers/CFrontendApiWrapper.php:63
[0x00007fe2fed786b8] callMethod() /usr/share/zabbix/include/classes/api/wrappers/CApiWrapper.php:82
[0x00007ffe350acfc0] __call() unknown:0
[0x00007fe2fed77520] get() /usr/share/zabbix/include/maps.inc.php:366
[0x00007fe2fed75490] add_elementNames() /usr/share/zabbix/map.php:105

[23-Jan-2018 14:57:19.325910] [pool www] pid 8996
script_filename = /usr/share/zabbix/map.php
[0x00007fe2fed799a0] get() /usr/share/zabbix/include/classes/api/services/CMap.php:261
[0x00007ffe350accc0] get() unknown:0
[0x00007fe2fed78f08] call_user_func_array() /usr/share/zabbix/include/classes/api/clients/CLocalApiClient.php:123
[0x00007fe2fed78ce0] callMethod() /usr/share/zabbix/include/classes/api/wrappers/CFrontendApiWrapper.php:97
[0x00007fe2fed78bd8] callClientMethod() /usr/share/zabbix/include/classes/api/wrappers/CApiWrapper.php:94
[0x00007fe2fed787a0] callMethod() /usr/share/zabbix/include/classes/api/wrappers/CFrontendApiWrapper.php:63
[0x00007fe2fed78678] callMethod() /usr/share/zabbix/include/classes/api/wrappers/CApiWrapper.php:82
[0x00007ffe350acfc0] __call() unknown:0
[0x00007fe2fed774e0] get() /usr/share/zabbix/include/maps.inc.php:366


Собственно логично предположить, что проблема в php скрипте map. Только вот как её исправить ? и что именно это за проблема ? Бывает так, что веб интерфейс забикс работает пол дня идеально, открывая всё что угодно, в том числе и все карты, за милисекунды, а потом резко начинается *опа. Все тормозит и открывается по 10 секунд. Причем я никак не могу отследить, после каких и чьих действий это происходит.

К сожалению скриптопрограммированием я не занимался и совершенно не могу понять что нужно исправить в скрипте. Да и честно говоря, я почему-то уверен, что дело не в нём, ведь периодами веб работает идеально (не может быть же такого, что скрипт отработал 100 раз нормально, а потом стал резко отрабатывать сбойно, а потом снова нормально).

Подскажите, куда капнуть ? Где глянуть ?
  • Вопрос задан
  • 1578 просмотров
Пригласить эксперта
Ответы на вопрос 2
opium
@opium
Просто люблю качественно работать
ну можно обновиться до последней версии, там все стало совсем по другому раз
ну и посмотреть логи медленных запросов в мускуле
Ответ написан
@Fortop
Tech/Team lead
не может быть же такого, что скрипт отработал 100 раз нормально, а потом стал резко отрабатывать сбойно, а потом снова нормально

Может.
Но информации недостаточно.

Версии пхп - не указаны.
Железо - не указано.
Работают ли на этом сервере другие приложения - не указано

Это то, что нужно узнать в первую очередь для постановки хотя бы начального диагноза в виде "в какую сторону копать".
Ответ написан
Ваш ответ на вопрос

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

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