keepalive_requests
Директива `keepalive_requests` ограничивает количество запросов, которые могут быть отправлены по одному постоянному соединению (keepalive). — NGINX HTTP Core
Описание
Директива `keepalive_requests` настраивается в контексте блока `upstream`, что позволяет задать ограничение на количество запросов, которые могут быть отправлены через одно постоянное соединение (keepalive) к backend-серверу. Эта функция помогает предотвратить монополизацию ресурсов одним соединением и обеспечивает более эффективное управление подключениями, особенно в сценариях с высокой нагрузкой, когда типично много одновременных запросов. Задав значение `keepalive_requests`, вы можете определить, сколько запросов допустимо на keepalive-соединении. Например, если установить его в 10, то после выполнения 10-го запроса NGINX закроет это соединение и при необходимости откроет новое для последующих запросов. Это не только помогает сбалансировать использование ресурсов, но и гарантирует, что backend-серверы не будут перегружены длительно удерживаемыми соединениями, которые могут мешать производительности. Параметр должен быть положительным целым числом, и при выборе его значения следует внимательно учитывать конкретные потребности вашего приложения. Меньшее значение может привести к более частым установкам соединений, но к меньшему удержанию ресурсов, в то время как большее значение может повысить пропускную способность, однако за ним следует следить на предмет возможного исчерпания ресурсов или перегрузки сервера.
Пример конфига
upstream backend {
keepalive 16;
keepalive_requests 100;
server backend1.example.com;
server backend2.example.com;
}Установка слишком высокого значения может привести к истощению ресурсов на серверах бэкенда из‑за слишком большого числа открытых соединений.
Неправильное использование keepalive‑соединений с `keepalive_requests` может вызвать снижение производительности при высокой нагрузке.