Многодоменная оптимизация NGINX + PHP-FPM

Я пытаюсь оптимизировать параметры PHP-FPM на VPS с несколькими доменами. Каждый домен настроен с собственным пользователем / группой, NGINX использует разные сокеты PHP-FPM. Для каждого домена я настроил правильного пользователя / группу.

Я обнаружил, что использование памяти было слишком высоким, причиной была неправильная конфигурация параметров дочерних элементов / сервера на PHP-FPM.

Конфигурация для каждого site выглядит следующим образом (только релевантная часть):

pm = dynamic
pm.max_children = 6
pm.start_servers = 2
pm.min_spare_servers = 2
pm.max_spare_servers = 4
pm.max_requests = 300

Настроено 11 доменов с назначенным общим объемом RAM 6 ГБ. Максимальное использование памяти должно быть менее 64 МБ для каждого экземпляра PHP-FPM (htop показывает максимальное использование 50 МБ), при максимальном использовании я должен достичь ~ 4 ГБ ОЗУ.

Я думаю, что я слишком сильно ограничиваю max_children , как мне узнать лучшую цену? Полагаю, проверка реальных посещений / дней на каждом сайте поможет найти эти значения? Мне не хватает какого-то «глобального» параметра php-fpm?

РЕДАКТИРОВАТЬ:

А как насчет:

; The maximum number of processes FPM will fork. This has been design to control
; the global number of processes when using dynamic PM within a lot of pools.
; Use it with caution.
; Note: A value of 0 indicates no limit
; Default Value: 0
; process.max = 128

в /etc/php-fpm.conf? Учитывая количество доменов на сервере, я мог бы увеличить max_children и добавить ограничение на порожденный глобальный процесс, верно?

0
задан 30 September 2016 в 16:26
1 ответ

Была ли замена машины?

Конфигурация ваших детей кажется нормальной, хотя и слишком консервативной. Действительно, с максимальным количеством детей == 6 и учитывая 11 доменов, вы должны использовать максимум 4224MiB оперативной памяти, чтобы вы вообще не прикасались к подкачке.

Другая вещь, с таким количеством детей и:

pm.max_requests = 300

Даже при легком трафике вы будете порождать и убивать PHP-процессы, подозреваете ли вы утечку памяти в вашей версии PHP или аппликаторах, размещенных на хостинге?

Трудно дать полный ответ без дополнительной информации, такой как среднее потребление памяти вашими PHP-процессами, количество хитов в секунду для php-скриптов и т.д.

Другое дело, проверьте настройку подменных модулей в

/proc/sys/vm/swappiness
0
ответ дан 24 November 2019 в 05:38

Теги

Похожие вопросы