Welcome! Log In Create A New Profile

Advanced

Проблема с fpm на php 5.5

Posted by Алексей Соколов 
Алексей Соколов
Проблема с fpm на php 5.5
November 18, 2013 07:10AM
Здравствуйте.

Используется следующая конфигурация:
1) веб-сервер: nginx/1.5.6
2) php+xcache:

php -v
> PHP 5.5.6 (cli) (built: Nov 13 2013 07:48:35)
> Copyright (c) 1997-2013 The PHP Group
> Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies
> with XCache v3.1.0, Copyright (c) 2005-2013, by mOo
> with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans
> with XCache Cacher v3.1.0, Copyright (c) 2005-2013, by mOo
>
>

Суть проблемы заключается в том, что по какой-то причине fpm не
подхватывает некоторые опции, установленные для пула.
Появились такие сообщения в логе ошибок:

[18-Nov-2013 12:10:47] WARNING: [pool sitepool] seems busy (you may need to
increase pm.start_servers, or pm.min/max_spare_servers), spawning 16
children, there are 0 idle, and 297 total children
[18-Nov-2013 12:10:48] WARNING: [pool sitepool] server reached
pm.max_children setting (300), consider raising it

И это при том, что конфигурация pm имеет следующий вид:

pm = dynamic
> pm.max_children = 500
> pm.start_servers = 50
> pm.min_spare_servers = 30
> pm.max_spare_servers = 150
>

Судя по логам, fpm сбрасывает значение 500 в 300? В режиме debug ничего не
написано об этом.


Так же есть еще проблема, которая возможно связана с вышеуказанной.
По какой-то причине процессы все время валятся с такими записями (режим
debug):

[18-Nov-2013 13:35:49.144928] DEBUG: pid 25005, fpm_got_signal(), line 76:
> received SIGCHLD
> [18-Nov-2013 13:35:49.144987] NOTICE: pid 25005, fpm_children_bury(), line
> 252: [pool sitepool] child 25238 exited with code 0 after 0.003081 seconds
> from start
> [18-Nov-2013 13:35:49.145669] NOTICE: pid 25005, fpm_children_make(), line
> 421: [pool sitepool] child 25239 started
> [18-Nov-2013 13:35:49.145689] DEBUG: pid 25005, fpm_event_loop(), line
> 419: event module triggered 1 events
> [18-Nov-2013 13:35:49.148980] DEBUG: pid 25005, fpm_got_signal(), line 76:
> received SIGCHLD
> [18-Nov-2013 13:35:49.149034] NOTICE: pid 25005, fpm_children_bury(), line
> 252: [pool sitepool] child 25239 exited with code 0 after 0.003374 seconds
> from start
> [18-Nov-2013 13:35:49.149683] NOTICE: pid 25005, fpm_children_make(), line
> 421: [pool sitepool] child 25240 started
> [18-Nov-2013 13:35:49.149703] DEBUG: pid 25005, fpm_event_loop(), line
> 419: event module triggered 1 events
> [18-Nov-2013 13:35:49.153028] DEBUG: pid 25005, fpm_got_signal(), line 76:
> received SIGCHLD
> [18-Nov-2013 13:35:49.153080] NOTICE: pid 25005, fpm_children_bury(), line
> 252: [pool sitepool] child 25240 exited with code 0 after 0.003403 seconds
> from start
> [18-Nov-2013 13:35:49.153904] NOTICE: pid 25005, fpm_children_make(), line
> 421: [pool sitepool] child 25241 started
> [18-Nov-2013 13:35:49.153940] DEBUG: pid 25005, fpm_event_loop(), line
> 419: event module triggered 1 events
>
[18-Nov-2013 13:35:49.737577] DEBUG: pid 25005,
> fpm_pctl_perform_idle_server_maintenance(), line 379: [pool sitepool]
> currently 6 active children, 44 spare children, 50 running children.
> Spawning rate 1
>

По этим записям есть 2 вопроса:
1) Почему процессы вообще валятся, если "pm.max_requests = 0"? На сколько я
помню, в версии php 5.4 такого небыло.
2) Почему такое малькое время выполнения работы ("0.003374 seconds from
start")?


Вот весь конфиг пула:

[sitepool]
> user = apache
> group = apache
> listen = /var/run/php-fpm/sitepool.sock
> listen.backlog = 1024
> pm = dynamic
> pm.max_children = 500
> pm.start_servers = 50
> pm.min_spare_servers = 30
> pm.max_spare_servers = 150
> pm.max_requests = 0
> env[PATH] = /usr/local/bin:/usr/bin:/bin:/usr/sbin
> php_admin_value[register_globals] = off
> php_admin_value[session.name] = STATPHPSESSIONID
>



Есть ли какие-то мысли по этой теме?

--

---
Вы получили это сообщение, поскольку подписаны на группу highload-php-ru.

Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес highload-php-ru+unsubscribe@googlegroups.com.
Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out.
Sergey Kobzar
Re: Проблема с fpm на php 5.5
November 18, 2013 07:14AM
On 11/18/13 13:49, Алексей Соколов wrote:
> Здравствуйте.
>
> Используется следующая конфигурация:
> 1) веб-сервер: nginx/1.5.6
> 2) php+xcache:

а xcache еще зачем если в 5.5 появился opcache?
Или последний выключен?

--

---
Вы получили это сообщение, поскольку подписаны на группу highload-php-ru.

Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес highload-php-ru+unsubscribe@googlegroups.com.
Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out.
Alexey A. Rybak
Re: Проблема с fpm на php 5.5
November 18, 2013 07:56AM
>
>> [18-Nov-2013 12:10:47] WARNING: [pool sitepool] seems busy (you may need
> to increase pm.start_servers, or pm.min/max_spare_servers), spawning 16
> children, there are 0 idle, and 297 total children
> [18-Nov-2013 12:10:48] WARNING: [pool sitepool] server reached
> pm.max_children setting (300), consider raising it
>
> И это при том, что конфигурация pm имеет следующий вид:
>
> pm = dynamic
>> pm.max_children = 500
>> pm.start_servers = 50
>> pm.min_spare_servers = 30
>> pm.max_spare_servers = 150
>>
>
> Судя по логам, fpm сбрасывает значение 500 в 300? В режиме debug ничего не
> написано об этом.
>

чудес не бывает, это я про "fpm сбрасывает значение 500 в 300".
если у вас в файле 500, а в логе 300, о чём это говорит?
о том что надо под запущенным fpm смотреть phpinfo и внимательно смотреть,
какой именно конфиг-файл читается.
также поможет grep pm.max_children = 300 ;)


--

wbr,
Alexey Rybak
Badoo Development (badoo.com)

--

---
Вы получили это сообщение, поскольку подписаны на группу highload-php-ru.

Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес highload-php-ru+unsubscribe@googlegroups.com.
Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out.
Re: Проблема с fpm на php 5.5
June 28, 2015 01:49PM
Здравствуйте!

Решилась ли как-то проблема?

У меня похожая ситуация когда воркеры php-fpm отрабатывают ровно один запрос и сразу падают, ps выдаёт кучу зомби дочерних php-fpm процессов.

PHP 5.4.42
nginx/1.6.2

В конфиге php-fpm вот так:

pm = dynamic
pm.max_children = 60
pm.min_spare_servers = 10
pm.max_spare_servers = 20
pm.max_requests = 300
Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 217
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready