Назад | Перейти на главную страницу

Lighttpd: PHP_FCGI_CHILDREN правильное значение

Я запускаю Lighttpd на 256 МБ RAM VPS (с низкой оценкой трафика).

Чтобы оптимизировать производительность моего сервера, я решил изменить эти настройки:

                    "PHP_FCGI_CHILDREN" => "1",
                    "PHP_FCGI_MAX_REQUESTS" => "20"

Причина, по которой я установил 1 дочерний элемент, заключается в том, что с настройкой есть 4 процесса php_cgi:

2413 11336 / usr / bin / php-cgi 2415 4592 / usr / bin / php-cgi 2417 11336 / usr / bin / php-cgi 2419 27656 / usr / bin / php-cgi

Если я поставлю 4, у меня будет> 8 детей. Мне интересно, почему и нормально ли это. Теперь мой веб-сервер работает очень быстро, потому что я, наконец, не полагаюсь на свопинг так широко, как раньше.

Спасибо

Как вы можете видеть в этом Вопросы-Ответы есть три параметра конфигурации, которые контролируют количество процессов mod_php.

  • PHP_FCGI_CHILDREN (по умолчанию 1)
  • max-procs (по умолчанию 4)
  • min-procs (игнорируется в текущих выпусках)

Формула для вычисления изначально порожденных процессов выглядит так:

no_of_procs = max-procs * ( PHP_FCGI_CHILDREN + 1) 

Это означает, что для каждой процедуры в max-procs запускать PHP_FCGI_CHILDREN рабочих +1 Опекунский процесс для каждого родителя в max-procs.

Для более новых экземпляров lighttpd вы должны установить PHP_FCGI_CHILDREN до 0 и контролировать количество созданных экземпляров.

Это может помочь уменьшить общее количество запущенных процессов, так как не требуется дополнительных мастер процессы. Однако, если вы используете кеш байт-кода, установите только 1 порожденный главный процесс и управляйте дочерними процессами ниже него.

Устанавливать PHP_MAX_REQUESTS до 500, чтобы избежать другого потенциал проблема.