1 заметка с тегом

pm.max_children

Настройка php-fpm

21 августа, 10:53

Отдельно рассмотрим PHP-FPM (Nginx)
нужно правильно рассчитать значения (параметры) в зависимости от объема памяти в системе


Посмотрим сколько памяти используется каждым дочерним процессом (PHP-FPM)

ps -ylC php-fpm --sort:rss


Смотрим столбец RSS. В нем показано использование необработанной физической памяти с помощью процессов PHP-FPM в килобайтах.


Пример:

На сервере RAM 8 гб
максимальный размер дочернего PHP-FPM 20 мб
pm.max_children = 8000 / 20 = 400


Команда для проверки среднего размера потребления памяти одним процессом PHP-FPM

ps --no-headers -o "rss,cmd" -C php-fpm | awk '{ sum+=$1 } END { printf ("%d%s\n", sum/NR/1024,"M") }'


Пример конфига:


pm = dynamic
pm.start_servers = 50
pm.min_spare_servers = 25
pm.max_children = 300
pm.max_spare_servers = 60
pm.max_requests = 600


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

nginx   PHP   PHP-FPM   pm.max_children