Кажется, что php-fpm выделяет все больше и больше памяти, хотя количество запросов пиков и падает. Не удалось опубликовать более одного изображения, поэтому я поместил их Вот.
Как вы можете видеть в URI изображений, одно изображение запрашивает nginx, показывая четкие провалы и пики. Другие, которые представляют собой память php-fpm и среднюю память на ребенка, похоже, совсем не следуют той же схеме. Только перезапуск php-fpm будет иметь эффект, и даже в этом случае я не могу сказать, что заметил какие-либо изменения в производительности.
Система в порядке, время отклика хорошее, и все хорошо, просто любопытно, является ли это ожидаемым поведением, и имеет ли оно либо преимущества в производительности, либо его следует избегать (путем снижения max_requests или чего-то еще?).
Система работает под управлением Debian GNU / Linux 6.0 Squeeze, AMD64. Версия PHP 5.3.6. PHP 5.3.6
pool.d / www.conf:
pm.max_children = 50 pm.start_servers = 30 pm.min_spare_servers = 5 pm.max_spare_servers = 35 pm.max_requests = 1024
Я получил их в php-fpm.log, так как он был недавно установлен:
[28-Jun-2011 14:45:39] WARNING: [pool www] child 1893 exited on signal 9 (SIGKILL) after 22296.217811 seconds from start [28-Jun-2011 14:45:39] NOTICE: [pool www] child 18391 started [28-Jun-2011 14:45:39] WARNING: [pool www] child 1903 exited on signal 9 (SIGKILL) after 22296.213677 seconds from start [28-Jun-2011 14:45:39] NOTICE: [pool www] child 18392 started [28-Jun-2011 14:45:39] WARNING: [pool www] child 1904 exited on signal 9 (SIGKILL) after 22296.213757 seconds from start [28-Jun-2011 14:45:39] NOTICE: [pool www] child 18393 started [28-Jun-2011 14:45:39] WARNING: [pool www] child 1905 exited on signal 9 (SIGKILL) after 22296.214307 seconds from start [28-Jun-2011 14:46:20] NOTICE: fpm is running, pid 18410 [28-Jun-2011 14:46:20] NOTICE: ready to handle connections [28-Jun-2011 15:10:04] NOTICE: Terminating ... [28-Jun-2011 15:10:04] NOTICE: exiting, bye-bye! [28-Jun-2011 15:10:04] NOTICE: fpm is running, pid 1742 [28-Jun-2011 15:10:04] NOTICE: ready to handle connections [28-Jun-2011 15:10:22] NOTICE: Terminating ... [28-Jun-2011 15:10:22] NOTICE: exiting, bye-bye! [28-Jun-2011 15:10:22] NOTICE: fpm is running, pid 2016 [28-Jun-2011 15:10:22] NOTICE: ready to handle connections [28-Jun-2011 15:28:04] NOTICE: Terminating ...
Некоторые идеи:
Уменьшите настройки fpm, затем увеличивайте по мере необходимости:
pm.max_children = 10 # concurrent children's
pm.start_servers = 2
pm.min_spare_servers = 2
pm.max_spare_servers = 4
pm.max_requests = 300 # till restart
Уменьшите настройки nginx.
Установить pecl-apc
(Пакет Debian php5-apc
).
Обновите свою версию php / nginx до последней стабильной
Какая у вас спецификация сервера?
Проверьте, сколько оперативной памяти вам нужно сэкономить (возможно, остановите php-fpm, чтобы вычислить это) и сколько памяти обычно занимает процесс php-fpm для вашего веб-приложения (см. top
или ps
), а затем установите pm.max_children = available RAM / php-fpm process RAM, иначе у вас закончится память.