keepalive

在 upstream 上下文中,`keepalive` 指令允许维护 HTTP keepalive 连接。 — NGINX HTTP Core

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

说明

NGINX 中的 `keepalive` 指令在 `upstream` 块上下文中使用,用于控制到 upstream 服务器的最大空闲 keepalive 连接数。当启用 keepalive 连接时,NGINX 可以重用到 upstream 服务器的现有连接以处理多个请求,而不是每次都建立新连接,这可以提高性能并降低延迟。该功能在处理高流量负载时尤其有用,因为它减少了频繁建立和拆除连接所带来的开销。 该指令接受一个参数,用于指定可维护到 upstream 服务器的最大空闲连接数。如果有请求超出该数量,NGINX 将关闭最近最少使用的空闲连接以腾出空间。根据服务器资源和预期流量模式调整此参数非常重要。将该值设置得过低可能会因频繁重连而导致效率低下,而设置得过高则可能导致资源耗尽。 总体而言,在涉及 upstream 服务器通信的 NGINX 配置中使用 `keepalive` 指令是一种推荐的做法,因为它有助于更好地利用资源并改善响应时间。在更改后监控性能影响也是谨慎的做法,以确保达到最佳设置。

配置示例

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

确保上游服务器支持 keepalive 连接;否则可能导致连接被断开。

数值设置过高可能会耗尽系统资源,从而导致性能问题。