lingering_time
Директива 'lingering_time' в NGINX задаёт период ожидания запросов перед закрытием соединения. — NGINX HTTP Core
Описание
Директива 'lingering_time' используется для управления тем, как долго NGINX будет ждать дополнительных запросов от клиента перед закрытием соединения, предоставляя временной буфер для улучшения удобства пользователя за счёт учёта запоздалых запросов. Эта функция может быть полезна в ситуациях, когда клиент может отправить дополнительные запросы сразу после получения предыдущего. Параметр 'lingering_time' задаётся в секундах и определяет длительность этого периода ожидания. Когда клиент закрывает соединение (например, закрывается вкладка браузера), NGINX всё ещё может поддерживать соединение открытым в течение заданного 'lingering_time', если эта директива установлена. В течение этого времени, если от того же клиента поступит новый запрос, NGINX сможет обработать его без установления нового соединения, что улучшит время отклика и снизит потребление ресурсов. Директива может быть полезна в условиях высокой нагрузки, где поддержание открытых соединений может привести к снижению задержек и улучшению общей производительности.
Пример конфига
http {
lingering_time 10;
server {
listen 80;
location / {
root html;
index index.html index.htm;
}
}
}Установка 'lingering_time' слишком высокого значения может привести к исчерпанию ресурсов, поскольку соединения остаются открытыми дольше, чем необходимо, что ухудшает производительность сервера.
Если параметр не задан правильно, клиенты могут столкнуться с внезапным разрывом своих соединений из-за ограничений ресурсов сервера.
Эта директива может быть менее эффективна для соединений HTTP/2, которые имеют собственные принципы управления соединениями.