Я запускаю 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, чтобы избежать другого потенциал проблема.