Какая конфигурация / оптимизация лучше: явно ограничить keepalive_timeout
или позволить Nginx убивать соединения keepalive самостоятельно?
Я видел две противоречивые рекомендации относительно keepalive_timeout
директива для Nginx. Вот они:
# 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;
и
# You should remove keepalive_timeout from your formula.
# Nginx closes keepalive connections when the
# worker_connections limit is reached.
В Nginx документация для keepalive_timeout
не упоминает об автоматическом убийстве, и я видел эту рекомендацию только один раз, но это меня заинтриговало.
Этот сервер обслуживает исключительно Подключения, защищенные TLS, и все незашифрованные подключения немедленно перенаправляются на https://
версия того же URL.
Nginx закрывает keepalive-соединения при достижении лимита worker_connections.
Это правда.
ngx_drain_connections();
ngx_reusable_connection(c, 1);