Я провел несколько исследований и нашел, что это вычисляет и корректирует pm.max_children значение
https://myshell.co.uk/blog/2012/07/adjusting-child-processes-for-php-fpm-nginx/
но например:
- У меня 8Gb на моем сервере
- У меня хостинг 30 сайтов
- php-fpm средний размер процесса около 40 МБ
- php-fpm максимальный размер процесса около 80 МБ
- Я хочу выделить максимум 5 ГБ памяти для процессов php-fpm
Если я применю это:
pm.max_children = Общий объем ОЗУ, выделенный для веб-сервера / Максимальный размер дочернего процесса
Так что в моем случае:
pm.max_children = 5120/80 = 64
Но если я добавлю pm.max_children = 64 в каждый файл конфигурации сайта php-fpm, это означает, что каждый сайт может использовать 64 дочерних процесса X размером 1 процесс (ex 40mb) = 2560Mb
И если мы представим, что в то же время все 30 веб-сайтов достигли значения pm.max_children, у нас будет: 2560Mb (макс. На веб-сайт) x 30 веб-сайтов = 76 800 Мб
Я прав?
Да, это означает, что когда многие веб-сайты размещены на одном сервере, мы должны разделить результат вычисления pm.max_children = 5120/80 = 64 на количество размещенных веб-сайтов (здесь 30).
То есть 64/30 = 2,1 и pm.max_children = 2 за веб-сайт
Это правильно или нет?
Спасибо