2016-12-06 4 views
-1

У меня есть сценарий PHP с одной строкой, который печатает PID с помощью getmypid(), каждый раз, когда скрипт вызывается через FPM, PID изменяется, но я ожидал, что pid будет таким же. Я думал, что цель FPM в том, что новый процесс не будет появляться каждый раз, тем самым ускоряя работу?Правильно ли для PHP-FPM запускать новый процесс для каждого запроса?

+0

это * совершенно новый * каждый раз? или это один из * набора * PID? набор, возможно, содержащий * n * разные PID, где * n * - количество потоков ЦП, которое имеет ваша машина? –

ответ

0

Франц Глейхманн прав, бассейн был больше, чем я думал.

0

Это, вероятно, вам нужно будет немного узнать конфигурацию php fpm в вашем файле www.conf (или любом файле conf в зависимости от вашей ОС). Поэтому, в зависимости от вашей конфигурации, FPM, как правило, развивает больше детей в зависимости от ваших требований, следовательно, отличается номером pid.

Выберите способ управления процессом дочерних процессов .

Возможные значения:
статическая - фиксированное число (pm.max_children) дочерних процессов

динамический - количество дочерних процессов устанавливаются динамически на основе следующих директив. При таком управлении процессом всегда будет по крайней мере 1 ребенок.

pm.max_children - максимальное количество детей, которые могут быть живы в одно и то же время.
pm.start_servers - количество детей, созданных при запуске.

pm.min_spare_servers - минимальное количество детей в состоянии ожидания (ожидание процесса). Если число «незанятых» процессов меньше этого числа, тогда будут созданы дети .
pm.max_spare_servers - максимальное количество детей в состоянии ожидания (ожидание процесса). Если число «холостых» процессов больше этого числа, тогда некоторые дети будут убиты.

ondemand - при запуске детей не создаются. Дети будут разветвляться при подключении новых запросов.

Следующий параметр используется:

pm.max_children - максимальное количество детей, которые могут быть живы в то же время.

pm.process_idle_timeout - Количество секунд, после которых будет пропущен незанятый процесс. Примечание. Это значение является обязательным.