как мне прочитать конфигурацию php5-fpm и как оптимизировать мою конфигурацию? [Закрыто]

Это моя текущая конфигурация 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 на сервере.

Мои вопросы:

  1. как мне прочитать эту конфигурацию php5-fpm, которую я установил, начиная с вечера до вечера.status_path? теперь это отдельный вопрос по здесь .
  2. каковы будут последствия, если я изменю некоторые настройки, особенно pm.max_children?
  3. как мне оптимизировать настройки для моей настройки, учитывая, что я собираюсь установить jenkins, а также запустить веб-сайт? Что, если я запустил два веб-сайта?
-1
задан 13 April 2017 в 15:14
1 ответ
  1. Э ... посмотреть инструкцию? http://php.net/manual/en/install.fpm.configuration.php

  2. Даже если вы установите слишком большое количество детей, если ваш сервер может обслуживать запросы без каких-либо проблем, сохраняя при этом низкую нагрузку , Ничего не произошло. Потому что вы никогда не достигнете максимального количества детей Но если ваши дети слишком высоки, и вы получаете больше запросов, чем можете обработать, php-fpm забирает всю память и начинает давать сбой и, возможно, даже блокирует систему. Впрочем, это намного менее болезненно, чем запихивание всего барана апачем (в таком случае апач хуже вируса ...). Итак, если запросов в секунду> обслуживаемых в секунду, будет достигнуто максимальное количество дочерних элементов, и вы хотите, чтобы это состояние оставалось стабильным.

  3. Вы не можете оптимизировать без фактических данных трафика (или моделируемой нагрузки). Вы можете догадаться, но это не очень важно. Я могу предположить, что ваше максимальное количество детей, начальных серверов, минимальных резервных серверов слишком велико (вероятно, так), но без реального трафика я мог бы ошибаться или это могло быть неактуальным. Кроме того, это VPS, трудно даже сказать, что существует оптимальный (кроме крайне неоптимального), потому что среда может измениться в любое время без вашего участия. Например, к узлу может быть добавлен другой пользователь, который использует большое количество ресурсов, влияя на вас, и вся оптимизация, которую вы делали до сих пор, становится бессмысленной. Это не странность, но обычное дело, поскольку ресурсы в VPS колеблются больше не-вы, чем вы.

Вот несколько общих советов по оптимизации.

  • Если использование оперативной памяти слишком велико или представляет риск переходя в своп (своп происходит слишком медленно!), вы должны уменьшить максимальное количество детей. Итак, если 1 ребенок занимает 5% барана, вы не Я не хочу, чтобы было больше 20 детей, потому что это съело бы барана и больше. Однако следует отметить, что среднее значение не является максимальным. Чем выше максимальное количество, тем выше количество пользователей, которых вы можете обслуживать одновременно.
  • Если у вас есть утечка памяти в вашем программном обеспечении или программном обработчике (например, php), уменьшите максимальное количество запросов, чтобы потомки воссоздались быстро. На самом деле вы просто пытаетесь не тратить время на создание новых процессов, имея большое количество. Я лично рекомендую избегать любых значений, превышающих 10 КБ, на случай, если у самого php-fpm есть утечка памяти.
  • Если вы хотите более стабильное поведение (оптимизация процессора), установите высокий мин / макс запасных серверов
  • Если вы хотите больше динамическое поведение (оптимизация оперативной памяти), установка минимального / максимального количества резервных серверов
1
ответ дан 5 December 2019 в 20:03

Теги

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