最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
怎么在 Nginx 中调整负载均衡器连接数的均衡策略
时间:2026-06-20 09:55:03 编辑:袖梨 来源:一聚教程网
least_conn是Nginx唯一原生支持的连接数感知负载均衡策略,将新请求发给当前活跃连接数最少的后端,适用于长连接、响应时间差异大或后端性能异构场景;需配合keepalive、max_conns和健康检查使用。
Nginx 默认用轮询(round robin)分发请求,但它本身不直接按连接数做实时均衡,而是通过 least_conn 策略实现“最少活跃连接数”调度——这才是你真正需要的连接数均衡策略。
启用 least_conn 策略
这是 Nginx 内置的、唯一原生支持连接数感知的负载均衡算法。它会把新请求发给当前 活跃连接数最少 的后端服务器,特别适合长连接、耗时接口或 WebSocket 场景。
配置很简单,只需在 upstream 块中添加 least_conn;:
upstream backend { least_conn; server 192.168.1.10:8080; server 192.168.1.11:8080; server 192.168.1.12:8080;}
注意:least_conn 不能和 ip_hash 或 hash 同时使用,二者互斥。
配合连接限制与健康检查更可靠
仅靠 least_conn 还不够,建议搭配以下参数防止单节点被压垮:
max_conns:限制每台后端的最大并发连接数(需开启proxy_http_version 1.1和keepalive)
示例:server 192.168.1.10:8080 max_conns=200;max_fails/fail_timeout:自动剔除异常节点
示例:server 192.168.1.10:8080 max_fails=3 fail_timeout=30s;-
keepalive:复用 upstream 连接,降低开销
在 upstream 外加:upstream backend { least_conn; keepalive 32; # 保持 32 个空闲连接 server 192.168.1.10:8080; ...}并在 location 中启用:
proxy_http_version 1.1;proxy_set_header Connection '';
为什么不用“连接数监控+动态权重”?
有人想用脚本统计各后端连接数再动态改 weight,但 Nginx 不支持运行时热更新权重(reload 配置会中断连接)。而且连接数只是负载维度之一,响应时间、CPU、队列深度等更关键——这类高级调度需借助外部服务(如 Consul + Envoy)或商业版 Nginx Plus 的 least_time 或主动健康检查。
开源版 Nginx 就老实用 least_conn + 合理限流 + 被动健康检查,稳且够用。
不复杂但容易忽略
相关文章
- 2026年Notion AI设计场景用法:草稿生成与风格约束说明 06-20
- 京东在哪里可以解绑银行卡 06-20
- 2026年Notion AI响应缓慢:网络、缓存与账户配置排查 06-20
- 2026年Notion AI团队协作:权限、工作流与配置要点 06-20
- Notion AI企业版新手入门:账号权限与工作空间配置说明 06-20
- 如何用python创建项目 06-20