Nginx closes keepalive connections when the worker_connections limit is reached.
Isso é verdade.
-
src / core / ngx_connection.c: l843 -
ngx_drain_connections();
-
src / http / ngx_http_request.c: l3042 -
ngx_reusable_connection(c, 1);
Qual é a melhor configuração / otimização: limitar explicitamente o keepalive_timeout
ou permitir que o Nginx elimine conexões keepalive por conta própria?
Eu vi duas recomendações conflitantes em relação à diretiva keepalive_timeout
do Nginx. Eles são os seguintes:
# How long to allow each connection to stay idle; longer values are better
# for each individual client, particularly for SSL, but means that worker
# connections are tied up longer. (Default: 65)
keepalive_timeout 20;
e
# You should remove keepalive_timeout from your formula.
# Nginx closes keepalive connections when the
# worker_connections limit is reached.
O Nginx documentação para keepalive_timeout
não faz menção à morte automática, e eu só vi essa recomendação uma vez, mas isso me intriga.
Esse servidor atende conexões exclusivas TLS-secure e todas as conexões não criptografadas são reencaminhadas imediatamente para a versão https://
da mesma URL.
Nginx closes keepalive connections when the worker_connections limit is reached.
Isso é verdade.
ngx_drain_connections();
ngx_reusable_connection(c, 1);