keepalive_requests

`keepalive_requests` 指令限制了可以通过单个 keepalive 连接发送的请求数量。 — NGINX HTTP Core

keepalive_requests
upstream
语法keepalive_requests number;
默认值none
上下文upstream
模块NGINX HTTP Core
参数1

说明

`keepalive_requests` 指令在 `upstream` 块的上下文中配置,允许你对通过单个持久连接(keepalive)发送到后端服务器的请求数量设定限制。这个功能有助于防止单个连接独占资源,并允许更高效的连接管理,尤其是在高负载且同时存在大量并发请求的场景中。 通过设置 `keepalive_requests` 的值,你可以定义在一个 keepalive 连接上允许的请求数量。例如,如果将其设置为 10,则在第 10 个请求完成后,NGINX 将关闭该连接,并可能为后续请求打开新的连接。这不仅有助于平衡资源使用,也能确保后端服务器不会被持续存在的连接压垮,导致性能下降。 该参数必须为正整数,选择其值时应根据应用的具体需求谨慎考虑。较小的数值可能导致更频繁的连接建立,但保留的资源较少;较大的数值可以提高吞吐量,但需要监控以防止潜在的资源耗尽或服务器压力。

配置示例

upstream backend {
    keepalive 16;
    keepalive_requests 100;
    server backend1.example.com;
    server backend2.example.com;
}

将值设置得过高可能会导致后端服务器因打开过多连接而耗尽资源。

如果未正确使用 keepalive 连接或未正确配置 `keepalive_requests`,在高负载下可能会导致性能下降。