fastcgi_keep_conn

Директива `fastcgi_keep_conn` управляет тем, оставлять ли соединение с FastCGI-сервером открытым после получения ответа. — NGINX HTTP Core

fastcgi_keep_conn
httpserverlocation
Синтаксисfastcgi_keep_conn on | off;
По умолчаниюoff
Контекстhttp, server, location
МодульNGINX HTTP Core
Аргументыflag

Описание

Директива `fastcgi_keep_conn` в NGINX, применимая в контекстах http, server и location, представляет собой флаг, определяющий, поддерживать ли постоянное соединение между NGINX и FastCGI-сервером после завершения запроса. По умолчанию после обработки запроса соединение с FastCGI-сервером закрывается. Однако установка этой директивы в 'on' будет поддерживать соединение открытым для последующих запросов, снижая задержку для следующих запросов и потенциально улучшая производительность в средах с высокой нагрузкой, где к одному и тому же FastCGI-серверу отправляется несколько запросов. Когда `fastcgi_keep_conn` включена, соединения переиспользуются вместо постоянного открытия и закрытия, что экономит ресурсы и повышает пропускную способность. Это особенно полезно для приложений, размещённых в конфигурациях, где часто идут последовательные запросы, например при генерации динамического контента в PHP или аналогичных технологиях. Тем не менее, удержание открытых соединений может занять ресурсы сервера, поэтому эту опцию следует использовать осторожно в зависимости от поведения приложения и общей способности сервера обрабатывать нагрузку.

Пример конфига

location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    include fastcgi_params;
    fastcgi_keep_conn on;
}

Включение `fastcgi_keep_conn` может привести к исчерпанию ресурсов, если слишком много соединений остаются открытыми и не используются.

Если у сервера FastCGI есть ограничение на число одновременных соединений, убедитесь, что включение этой директивы не превысит это ограничение.