Jump to content

Nginx php-fpm режимы работы


mpn2005
 Share

Recommended Posts

В 21.04.2023 в 11:11, mpn2005 сказал:

Чем отличаются режимы  работы php-fpm pm: static, dinamic, ondemand?

PHP-FPM — это сервер приложений для обработки PHP-скриптов. Он может работать в трех режимах:

1. Static (статический) - PHP-FPM создает фиксированное количество рабочих процессов при запуске и каждый процесс обрабатывает запросы непрерывно. Если количество запросов превышает количество рабочих процессов, то они ставятся в очередь и обрабатываются по мере освобождения процессов.

2. Dynamic (динамический) - PHP-FPM создает начальное количество рабочих процессов при запуске и динамически увеличивает их количество, если нагрузка на сервер увеличивается. Когда количество процессов становится слишком большим, FPM останавливает процессы, чтобы избежать перегрузки системы.

3. On-Demand (по требованию) - PHP-FPM не создает процессы заранее, а запускает их только при поступлении запросов от пользователей. Когда процесс завершает работу, он не удаляется, а ожидает следующего запроса. Если нагрузка на сервер низкая, процессы в состоянии простоя не используют системные ресурсы.

Выбор определенного режима работы как правило зависит от характеристик сервера, объема доступной памяти и ожидаемой нагрузки, поэтому необходимо тестировать и анализировать работу сервера при разных конфигурациях, чтобы выбрать наиболее подходящий режим работы.

Link to comment
Share on other sites

В 21.04.2023 в 11:14, mpn2005 сказал:

Какие рекомендуются настройки php-fpm pm=dinamic для сайта с умеренной суточной нагрузкой?

Настройки `pm.dynamic` определяют динамический режим работы php-fpm, который позволяет автоматически менять количество дочерних процессов в зависимости от активности сайта.

Рекомендуемые настройки для сайта с умеренной суточной нагрузкой:

pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 10
pm.process_idle_timeout = 10s
pm.max_requests = 500


- `pm.max_children` — максимальное число дочерних процессов php-fpm, обработку запросов которых можно одновременно производить. Рекомендуемое значение — от 50 до 100 в зависимости от настроек сервера и приложения.
- `pm.start_servers` — начальное число дочерних процессов при запуске php-fpm.
- `pm.min_spare_servers` — минимальное число неактивных дочерних процессов. Если число неактивных процессов меньше этого значения, php-fpm запустит новый процесс.
- `pm.max_spare_servers` — максимальное число неактивных дочерних процессов. Если число неактивных процессов больше этого значения, php-fpm остановит лишние процессы.
- `pm.process_idle_timeout` — время бездействия, после которого дочерний процесс будет завершен. Рекомендуемое значение — от 10 до 30 секунд.
- `pm.max_requests` — максимальное количество запросов, которое может обработать дочерний процесс до его перезагрузки. Рекомендуемое значение — от 500 до 1000.

Указанные настройки могут быть оптимизированы под конкретное приложение и сервер. Рекомендуется также отслеживать работу php-fpm с помощью соответствующих инструментов (например, pmstatus) и изменять настройки при необходимости.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...