真实测试nginx连接数限制需模拟大量并发tcp连接,而非浏览器标签;配置limit_conn_zone与limit_conn后,用ab -k、jmeter或websocket脚本发起超限长连接,通过nginx_status、error日志(limiting connections by zone)及ss命令验证活跃连接数是否被严格限制在阈值内。

要真实测试 Nginx 连接数限制在前端页面高并发请求下的表现,关键不是“打开多个浏览器标签”,而是模拟大量**真实 TCP 连接同时建立并保持活跃**的行为。因为 Nginx 的 limit_conn 限制的是并发连接数(即同一时刻的活跃 TCP 连接数),不是请求数、不是点击次数、也不是页面加载次数。
明确测试目标:验证 limit_conn 是否生效
先确认你已配置好连接限制,例如:
http {
limit_conn_zone $binary_remote_addr zone=perip:10m;
}
server {
location /api/ {
limit_conn perip 5; # 每个 IP 最多 5 个并发连接
limit_conn_status 429;
}
}此时你要测的,是当一个客户端(比如你本机)同时发起 >5 个长连接(如 HTTP/1.1 Keep-Alive、SSE、WebSocket 或阻塞式 AJAX 请求)时,第 6 个及之后的连接是否被拒绝(返回 429 或 503)。
前端设计与 UI/UX 全方位优化专家。覆盖视觉层次、排版系统、色彩理论、响应式布局、交互体验、动画动效、无障碍访问、性能优化八大维度,帮助开发者将普通页面升级为高品质产品级界面。前端设计与 UI/UX 全方位优化专家。覆盖视觉层次、排版系统、色彩理论、响应式布局、交互体验、动画动效、无障碍访问、性能优化八大维度,帮助开发者将普通页面升级为高品质产品级界面。
用工具模拟真实并发连接,别用浏览器直接点
浏览器对同一域名默认有连接数限制(通常 6~8 个),且自动复用连接、延迟发起、带缓存和预加载,无法稳定触发 limit_conn。推荐以下方式:
-
JMeter:设置 Thread Group → Number of Threads = 20,Ramp-up = 0,HTTP Request 目标为
/api/xxx,协议选 HTTP,勾选 “Keep Alive”;观察响应码分布——前 5 个应成功(200),后续大量为 429 -
ab(Apache Bench):执行
ab -n 100 -c 20 http://yourdomain.com/api/test,注意它默认使用 HTTP/1.0(无 Keep-Alive),需加-k参数启用长连接:ab -k -n 100 -c 20 ... - curl + 并发脚本:用 shell 启动 20 个 curl 进程,全部请求一个会“挂住”的接口(如后端 sleep 10s 或返回 SSE 流),确保连接不立即关闭
前端页面自身也能测,但需主动绕过浏览器限制
如果你坚持在真实页面中测试,必须手动控制连接行为:
- 用
new WebSocket('ws://...')或new EventSource('/stream')创建多个长连接(每个实例对应一个 TCP 连接) - 避免用
fetch()或XMLHttpRequest频繁发短请求——它们大概率复用连接,不会新增并发数 - 写一个按钮,点击后循环创建 10 个
WebSocket实例,并监听onerror或检查readyState;超过 limit_conn 后,部分实例会卡在 connecting 或直接报错 - 配合 Nginx 日志(开启
limit_conn_log_level warn)或/nginx_status页面,实时看Active connections和拒绝计数
如何确认结果是否符合预期
不要只看“有没有报错”,要交叉验证:
- 访问
http://yourserver/nginx_status(需配置 stub_status),观察Active connections是否稳定在 5 左右(你的 limit 值) - 检查 Nginx error log,搜索
limiting connections by zone,确认有拒绝记录 - 用
ss -tn src :80 | grep ESTAB | wc -l在服务器上统计当前本机(客户端 IP)到 Nginx 的 ESTABLISHED 连接数,应 ≤ 5 - 若所有请求都成功,大概率是工具没建新连接(用了复用)、或配置没生效(zone 名不匹配、limit_conn 放错块)、或客户端 IP 被 CDN/代理隐藏(导致 $binary_remote_addr 不是你本机)
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










