Настройка pm.max_children для PHP-FPM
pm.max_children — это ключевой параметр в конфигурации PHP-FPM, который определяет максимальное количество одновременно работающих дочерних процессов для обработки входящих запросов. Каждый процесс обрабатывает один запрос, поэтому значение этого параметра напрямую влияет на производительность сервера.
Когда ваш сайт или приложение начинает получать все больше трафика, вы можете столкнуться с предупреждением в логах ошибок PHP-FPM:
Это сообщение указывает на то, что количество одновременных запросов превысило текущее значение параметра pm.max_children
. Хотя такие предупреждения не всегда означают серьезные проблемы, их нельзя игнорировать, особенно если трафик продолжает расти.
В этой статье мы рассмотрим, как найти оптимальное значение pm.max_children
и других связанных с ним настройках PHP-FPM, чтобы обеспечить стабильную работу сервера.
Для расчета оптимального значения pm.max_children
необходимо учитывать объем доступной оперативной памяти (RAM) на вашем сервере и среднее потребление памяти одним процессом PHP-FPM.
4 ГБ
оперативной памяти.Шаг 1: Проверка использования памяти процессами PHP-FPM
JUQwJUE3JUQxJTgyJUQwJUJFJUQwJUIxJUQxJThCJTIwJUQxJTgzJUQwJUI3JUQwJUJEJUQwJUIwJUQxJTgyJUQxJThDJTJDJTIwJUQxJTgxJUQwJUJBJUQwJUJFJUQwJUJCJUQxJThDJUQwJUJBJUQwJUJFJTIwJUQwJUJGJUQwJUIwJUQwJUJDJUQxJThGJUQxJTgyJUQwJUI4JTIwJUQwJUI4JUQxJTgxJUQwJUJGJUQwJUJFJUQwJUJCJUQxJThDJUQwJUI3JUQxJTgzJUQwJUI1JUQxJTgyJTIwJUQwJUJBJUQwJUIwJUQwJUI2JUQwJUI0JUQxJThCJUQwJUI5JTIwJUQwJUJGJUQxJTgwJUQwJUJFJUQxJTg2JUQwJUI1JUQxJTgxJUQxJTgxJTIwUEhQLUZQTSUyQyUyMCVEMCVCMiVEMSU4QiVEMCVCRiVEMCVCRSVEMCVCQiVEMCVCRCVEMCVCOCVEMCVCQyUyMCVEMSU4MSVEMCVCQiVEMCVCNSVEMCVCNCVEMSU4MyVEMSU4RSVEMSU4OSVEMSU4MyVEMSU4RSUyMCVEMCVCQSVEMCVCRSVEMCVCQyVEMCVCMCVEMCVCRCVEMCVCNCVEMSU4MyUzQQ==
JUQwJTk3JUQwJUI0JUQwJUI1JUQxJTgxJUQxJThDJTNB
-C php-fpm8.2
— фильтрует процессы по имени (замените версию PHP на вашу).-o rss=
— выводит объем физической памяти (в килобайтах), используемой каждым процессом.
Пример вывода:
JUQwJUE3JUQxJTgyJUQwJUJFJUQwJUIxJUQxJThCJTIwJUQxJTgwJUQwJUIwJUQxJTgxJUQxJTgxJUQxJTg3JUQwJUI4JUQxJTgyJUQwJUIwJUQxJTgyJUQxJThDJTIwJUQxJTgxJUQxJTgwJUQwJUI1JUQwJUI0JUQwJUJEJUQwJUI1JUQwJUI1JTIwJUQwJUI3JUQwJUJEJUQwJUIwJUQxJTg3JUQwJUI1JUQwJUJEJUQwJUI4JUQwJUI1JTJDJTIwJUQwJUI4JUQxJTgxJUQwJUJGJUQwJUJFJUQwJUJCJUQxJThDJUQwJUI3JUQxJTgzJUQwJUI5JUQxJTgyJUQwJUI1JTIwJUQwJUJBJUQwJUJFJUQwJUJDJUQwJUIwJUQwJUJEJUQwJUI0JUQxJTgzJTNB
Например, если среднее значение равно 40147.5 KB
, это означает, что каждый процесс PHP-FPM использует около 40 МБ
памяти.
Шаг 2: Расчет доступной памяти для PHP
JUQwJTlEJUQwJUI1JTIwJUQwJUIyJUQxJTgxJUQxJThGJTIwJUQwJUI0JUQwJUJFJUQxJTgxJUQxJTgyJUQxJTgzJUQwJUJGJUQwJUJEJUQwJUIwJUQxJThGJTIwJUQwJUJGJUQwJUIwJUQwJUJDJUQxJThGJUQxJTgyJUQxJThDJTIwJUQwJUI0JUQwJUJFJUQwJUJCJUQwJUI2JUQwJUJEJUQwJUIwJTIwJUQwJUIxJUQxJThCJUQxJTgyJUQxJThDJTIwJUQwJUIyJUQxJThCJUQwJUI0JUQwJUI1JUQwJUJCJUQwJUI1JUQwJUJEJUQwJUIwJTIwJUQwJUJGJUQwJUJFJUQwJUI0JTIwUEhQLUZQTS4lMjAlRDAlOUQlRDAlQjUlRDAlQkUlRDAlQjElRDElODUlRDAlQkUlRDAlQjQlRDAlQjglRDAlQkMlRDAlQkUlMjAlRDAlQkUlRDElODElRDElODIlRDAlQjAlRDAlQjIlRDAlQjglRDElODIlRDElOEMlMjAlRDElODAlRDAlQjUlRDAlQjclRDAlQjUlRDElODAlRDAlQjIlMjAlRDAlQjQlRDAlQkIlRDElOEYlMjAlRDAlQjQlRDElODAlRDElODMlRDAlQjMlRDAlQjglRDElODUlMjAlRDElODElRDAlQjglRDElODElRDElODIlRDAlQjUlRDAlQkMlRDAlQkQlRDElOEIlRDElODUlMjAlRDAlQkYlRDElODAlRDAlQkUlRDElODYlRDAlQjUlRDElODElRDElODElRDAlQkUlRDAlQjIlMjAlRDAlQjglMjAlRDAlQjQlRDAlQkUlRDAlQjElRDAlQjAlRDAlQjIlRDAlQjglRDElODIlRDElOEMlMjAlRDAlQjElRDElODMlRDElODQlRDAlQjUlRDElODAlMjAlRDAlQjQlRDAlQkIlRDElOEYlMjAlRDAlQkYlRDElODAlRDAlQjUlRDAlQjQlRDAlQkUlRDElODIlRDAlQjIlRDElODAlRDAlQjAlRDElODklRDAlQjUlRDAlQkQlRDAlQjglRDElOEYlMjAlRDAlQkYlRDAlQjUlRDElODAlRDAlQjUlRDAlQjMlRDElODAlRDElODMlRDAlQjclRDAlQkElRDAlQjglMjAlRDElODElRDAlQjglRDElODElRDElODIlRDAlQjUlRDAlQkMlRDElOEIu
JUQwJUE0JUQwJUJFJUQxJTgwJUQwJUJDJUQxJTgzJUQwJUJCJUQwJUIwJTIwJUQxJTgwJUQwJUIwJUQxJTgxJUQxJTg3JUQwJUI1JUQxJTgyJUQwJUIwJTNB
Пример расчета:
- Всего доступно памяти :
4 ГБ = 4096 МБ = 4096000 КБ
. - Зарезервировано памяти :
1 ГБ = 1024 МБ = 1024000 КБ
(резерв для ОС и других служб). - Буфер (10%) :
0.4 ГБ = 409.6 МБ = 409600 КБ
.
Подставляем значения:
Шаг 3: Расчет максимального количества процессов
JUQwJUEyJUQwJUI1JUQwJUJGJUQwJUI1JUQxJTgwJUQxJThDJTJDJTIwJUQwJUI3JUQwJUJEJUQwJUIwJUQxJThGJTIwJUQwJUI0JUQwJUJFJUQxJTgxJUQxJTgyJUQxJTgzJUQwJUJGJUQwJUJEJUQxJTgzJUQxJThFJTIwJUQwJUJGJUQwJUIwJUQwJUJDJUQxJThGJUQxJTgyJUQxJThDJTIwJUQwJUI4JTIwJUQxJTgxJUQxJTgwJUQwJUI1JUQwJUI0JUQwJUJEJUQwJUI1JUQwJUI1JTIwJUQwJUJGJUQwJUJFJUQxJTgyJUQxJTgwJUQwJUI1JUQwJUIxJUQwJUJCJUQwJUI1JUQwJUJEJUQwJUI4JUQwJUI1JTIwJUQwJUJGJUQwJUIwJUQwJUJDJUQxJThGJUQxJTgyJUQwJUI4JTIwJUQwJUJFJUQwJUI0JUQwJUJEJUQwJUI4JUQwJUJDJTIwJUQwJUJGJUQxJTgwJUQwJUJFJUQxJTg2JUQwJUI1JUQxJTgxJUQxJTgxJUQwJUJFJUQwJUJDJTJDJTIwJUQwJUJDJUQwJUJFJUQwJUI2JUQwJUJEJUQwJUJFJTIwJUQxJTgwJUQwJUIwJUQxJTgxJUQxJTgxJUQxJTg3JUQwJUI4JUQxJTgyJUQwJUIwJUQxJTgyJUQxJThDJTIwcG0ubWF4X2NoaWxkcmVuJTNB
Пример:
- Среднее использование памяти одним процессом :
40147.5 КБ (40 МБ)
. - Доступная память для PHP :
2662400 КБ
.
JUQwJTk0JUQwJUJCJUQxJThGJTIwJUQwJUIxJUQwJUJFJUQwJUJCJUQxJThDJUQxJTg4JUQwJUI1JUQwJUI5JTIwJUQxJTgxJUQxJTgyJUQwJUIwJUQwJUIxJUQwJUI4JUQwJUJCJUQxJThDJUQwJUJEJUQwJUJFJUQxJTgxJUQxJTgyJUQwJUI4JTIwJUQxJTgwJUQwJUI1JUQwJUJBJUQwJUJFJUQwJUJDJUQwJUI1JUQwJUJEJUQwJUI0JUQxJTgzJUQwJUI1JUQxJTgyJUQxJTgxJUQxJThGJTIwJUQwJUJFJUQxJTgxJUQxJTgyJUQwJUIwJUQwJUIyJUQwJUI4JUQxJTgyJUQxJThDJTIwJUQwJUI3JUQwJUIwJUQwJUJGJUQwJUIwJUQxJTgxJTIwJUQwJUI4JTIwJUQxJTgzJUQxJTgxJUQxJTgyJUQwJUIwJUQwJUJEJUQwJUJFJUQwJUIyJUQwJUI4JUQxJTgyJUQxJThDJTIwJUQwJUI3JUQwJUJEJUQwJUIwJUQxJTg3JUQwJUI1JUQwJUJEJUQwJUI4JUQwJUI1JTIwcG0ubWF4X2NoaWxkcmVuJTIwJUQwJUJEJUQwJUI1JUQwJUJDJUQwJUJEJUQwJUJFJUQwJUIzJUQwJUJFJTIwJUQwJUJEJUQwJUI4JUQwJUI2JUQwJUI1JTJDJTIwJUQwJUJEJUQwJUIwJUQwJUJGJUQxJTgwJUQwJUI4JUQwJUJDJUQwJUI1JUQxJTgwJTJDJTIwNTAu
Шаг 4: Настройка связанных параметров
JUQwJTlGJUQwJUJFJUQxJTgxJUQwJUJCJUQwJUI1JTIwJUQxJTgwJUQwJUIwJUQxJTgxJUQxJTg3JUQwJUI1JUQxJTgyJUQwJUIwJTIwcG0ubWF4X2NoaWxkcmVuJTJDJTIwJUQwJUJEJUQwJUIwJUQxJTgxJUQxJTgyJUQxJTgwJUQwJUJFJUQwJUI5JUQxJTgyJUQwJUI1JTIwJUQwJUJFJUQxJTgxJUQxJTgyJUQwJUIwJUQwJUJCJUQxJThDJUQwJUJEJUQxJThCJUQwJUI1JTIwJUQwJUJGJUQwJUIwJUQxJTgwJUQwJUIwJUQwJUJDJUQwJUI1JUQxJTgyJUQxJTgwJUQxJThCJTNB
cG0ubWF4X2NoaWxkcmVuJTIwJTNEJTIwNTA=
pm.start_servers = 13 # 25% от max_children
cG0ubWluX3NwYXJlX3NlcnZlcnMlMjAlM0QlMjAxMyUyMCUyMCUyMyUyMDI1JTI1JTIwJUQwJUJFJUQxJTgyJTIwbWF4X2NoaWxkcmVu
pm.max_spare_servers = 38 # 75% от max_children
Заключение
JUQwJTlGJUQxJTgwJUQwJUIwJUQwJUIyJUQwJUI4JUQwJUJCJUQxJThDJUQwJUJEJUQwJUIwJUQxJThGJTIwJUQwJUJEJUQwJUIwJUQxJTgxJUQxJTgyJUQxJTgwJUQwJUJFJUQwJUI5JUQwJUJBJUQwJUIwJTIwJUQwJUJGJUQwJUIwJUQxJTgwJUQwJUIwJUQwJUJDJUQwJUI1JUQxJTgyJUQxJTgwJUQwJUJFJUQwJUIyJTIwUEhQLUZQTSUyQyUyMCVEMSU4MiVEMCVCMCVEMCVCQSVEMCVCOCVEMSU4NSUyMCVEMCVCQSVEMCVCMCVEMCVCQSUyMHBtLm1heF9jaGlsZHJlbiUyQyUyMCVEMCVCRiVEMCVCRSVEMCVCNyVEMCVCMiVEMCVCRSVEMCVCQiVEMSU4RiVEMCVCNSVEMSU4MiUyMCVEMCVCOCVEMCVCNyVEMCVCMSVEMCVCNSVEMCVCNiVEMCVCMCVEMSU4MiVEMSU4QyUyMCVEMCVCRiVEMCVCNSVEMSU4MCVEMCVCNSVEMCVCMyVEMSU4MCVEMSU4MyVEMCVCNyVEMCVCQSVEMCVCOCUyMCVEMSU4MSVEMCVCNSVEMSU4MCVEMCVCMiVEMCVCNSVEMSU4MCVEMCVCMCUyMCVEMCVCOCUyMCVEMCVCRSVEMCVCMSVEMCVCNSVEMSU4MSVEMCVCRiVEMCVCNSVEMSU4NyVEMCVCOCVEMCVCMiVEMCVCMCVEMCVCNSVEMSU4MiUyMCVEMSU4MSVEMSU4MiVEMCVCMCVEMCVCMSVEMCVCOCVEMCVCQiVEMSU4QyVEMCVCRCVEMSU4MyVEMSU4RSUyMCVEMSU4MCVEMCVCMCVEMCVCMSVEMCVCRSVEMSU4MiVEMSU4MyUyMCVEMCVCMiVEMCVCMCVEMSU4OCVEMCVCNSVEMCVCMyVEMCVCRSUyMCVEMSU4MSVEMCVCMCVEMCVCOSVEMSU4MiVEMCVCMCUyMCVEMCVCOCVEMCVCQiVEMCVCOCUyMCVEMCVCRiVEMSU4MCVEMCVCOCVEMCVCQiVEMCVCRSVEMCVCNiVEMCVCNSVEMCVCRCVEMCVCOCVEMSU4Ri4lMjAlRDAlOTIlRDAlQjAlRDAlQjYlRDAlQkQlRDAlQkUlMjAlRDAlQkYlRDAlQkUlRDAlQkMlRDAlQkQlRDAlQjglRDElODIlRDElOEMlMkMlMjAlRDElODclRDElODIlRDAlQkUlMjAlRDElODAlRDAlQjAlRDElODElRDElODclRDAlQjUlRDElODIlMjAlRDAlQjQlRDAlQkUlRDAlQkIlRDAlQjYlRDAlQjUlRDAlQkQlMjAlRDAlQkUlRDElODElRDAlQkQlRDAlQkUlRDAlQjIlRDElOEIlRDAlQjIlRDAlQjAlRDElODIlRDElOEMlRDElODElRDElOEYlMjAlRDAlQkQlRDAlQjAlMjAlRDElODAlRDAlQjUlRDAlQjAlRDAlQkIlRDElOEMlRDAlQkQlRDAlQkUlRDAlQkMlMjAlRDAlQjglRDElODElRDAlQkYlRDAlQkUlRDAlQkIlRDElOEMlRDAlQjclRDAlQkUlRDAlQjIlRDAlQjAlRDAlQkQlRDAlQjglRDAlQjglMjAlRDAlQkYlRDAlQjAlRDAlQkMlRDElOEYlRDElODIlRDAlQjglMjAlRDAlQkYlRDElODAlRDAlQkUlRDElODYlRDAlQjUlRDElODElRDElODElRDAlQjAlRDAlQkMlRDAlQjglMjBQSFAtRlBNJTIwJUQwJUI4JTIwJUQwJUI0JUQwJUJFJUQxJTgxJUQxJTgyJUQxJTgzJUQwJUJGJUQwJUJEJUQxJThCJUQxJTg1JTIwJUQxJTgxJUQwJUI4JUQxJTgxJUQxJTgyJUQwJUI1JUQwJUJDJUQwJUJEJUQxJThCJUQxJTg1JTIwJUQxJTgwJUQwJUI1JUQxJTgxJUQxJTgzJUQxJTgwJUQxJTgxJUQwJUIwJUQxJTg1Lg==
ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОДДЕРЖИ АВТОРА ДОНАТОМ
Обсуждение
Нет комментариев.