Это моя текущая конфигурация php5-fpm
[www]
listen = 127.0.0.1:9000
listen.allowed_clients = 127.0.0.1
user = www-data
group = www-data
pm = dynamic
pm.max_children = 50
pm.start_servers = 25
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 2500
pm.status_path = /php-status
slowlog = log/$pool.log.slow
chdir = /
;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com
;php_flag[display_errors] = off
;php_admin_value[error_log] = /var/log/fpm-php.www.log
;php_admin_flag[log_errors] = on
;php_admin_value[memory_limit] = 32M
ENDFILECONTENT
Я больше разработчик, чем операционист, поэтому предположите, что я совершенно не разбираюсь в Linux и общие знания администратора сервера.
Мой Linux-бокс -
Ubuntu 12.10 (Quantal Quetzal) 1024 MB RAM, 40 GB Disk from Rackspace.
Моя цель - использовать его для единственного веб-сайта, работающего на cakephp 2.3
Прямо сейчас я использую Jenkins на том же сервере, чтобы помочь с непрерывным развертыванием кода приложения на сервере.
Когда у нас будет достаточно трафика, я намерен переместить Jenkins на отдельный сервер.
На данный момент мне еще предстоит установить Jenkins, но я уже установил Php5-fpm и Nginx. Использование памяти увеличилось с 4% до 41% после установки php5-fpm.
Я еще не переместил код своего приложения на этот сервер и еще не установил Jenkins на сервере.
Мои вопросы:
Э ... посмотреть инструкцию? http://php.net/manual/en/install.fpm.configuration.php
Даже если вы установите слишком большое количество детей, если ваш сервер может обслуживать запросы без каких-либо проблем, сохраняя при этом низкую нагрузку , Ничего не произошло. Потому что вы никогда не достигнете максимального количества детей Но если ваши дети слишком высоки, и вы получаете больше запросов, чем можете обработать, php-fpm забирает всю память и начинает давать сбой и, возможно, даже блокирует систему. Впрочем, это намного менее болезненно, чем запихивание всего барана апачем (в таком случае апач хуже вируса ...). Итак, если запросов в секунду> обслуживаемых в секунду, будет достигнуто максимальное количество дочерних элементов, и вы хотите, чтобы это состояние оставалось стабильным.
Вы не можете оптимизировать без фактических данных трафика (или моделируемой нагрузки). Вы можете догадаться, но это не очень важно. Я могу предположить, что ваше максимальное количество детей, начальных серверов, минимальных резервных серверов слишком велико (вероятно, так), но без реального трафика я мог бы ошибаться или это могло быть неактуальным. Кроме того, это VPS, трудно даже сказать, что существует оптимальный (кроме крайне неоптимального), потому что среда может измениться в любое время без вашего участия. Например, к узлу может быть добавлен другой пользователь, который использует большое количество ресурсов, влияя на вас, и вся оптимизация, которую вы делали до сих пор, становится бессмысленной. Это не странность, но обычное дело, поскольку ресурсы в VPS колеблются больше не-вы, чем вы.