
一、并发的五个维度
“能扛多少并发”这个问题,答案取决于问的是哪个维度。不同维度的瓶颈完全不同:
| 维度 | 含义 | 瓶颈点 |
|---|---|---|
| QPS | 每秒请求数 | CPU、规则检测速度 |
| 并发连接数 | 同时保持的连接 | 内存、连接表 |
| 带宽 | 每秒传输的数据量 | 网卡、线路 |
| 新建连接速率 | 每秒新建 TCP 连接 | 握手处理能力 |
| 响应延迟 | 单请求处理耗时 | 整体处理效率 |
二、云 WAF 的并发能力
2.1 集群优势
云 WAF 不是一台机器在扛,而是由成百上千个节点组成的集群。你的流量被分散到多个节点,单节点的压力自然就小了。
对比:
单台服务器(自建软件 WAF):
受限于 8 核 16G,可能 5000 QPS 就到瓶颈
云 WAF 集群(假设 200 个节点):
每节点 3 万 QPS → 总能力 600 万 QPS
且可随流量自动扩容
2.2 弹性扩容
当某个节点负载升高,云端会自动把流量调度到其他节点,或临时增加节点。这个过程通常在秒级完成,你无需干预。
2.3 容量兜底
面对超大流量(如 T 级 DDoS),云 WAF 会联动清洗中心做流量牵引和过滤,避免应用层节点被打满。
三、自建软件 WAF 的并发上限
如果你用的是服务器上跑的软件 WAF(如 ModSecurity),并发能力直接取决于服务器配置:
| 服务器配置 | 大致 QPS 上限 | 建议 |
|---|---|---|
| 2 核 4G | 500-1500 | 仅适合小站 |
| 4 核 8G | 2000-4000 | 中等站点 |
| 8 核 16G | 5000-10000 | 较大站点 |
| 16 核 32G | 1-2 万 | 需调优规则 |
| 更高 | 取决于规则复杂度 | 建议上云 WAF |
注意:这是”全量规则开启”下的粗略值。规则数量、正则复杂度对性能影响极大。
四、怎么知道自己的并发量
# 查看当前 Nginx 连接数
netstat -ant | grep :443 | wc -l
# 查看 Nginx 状态(需开启 stub_status)
curl http://127.0.0.1/nginx_status
# 输出:
# Active connections: 291 ← 当前活跃连接
# server accepts handled requests
# 16630948 16630948 31070465
# Reading: 6 Writing: 179 Waiting: 106
# 统计峰值 QPS(按秒聚合日志)
awk '{print $4}' /www/wwwlogs/access.log \
| cut -d: -f1,2,3 | sort | uniq -c | sort -rn | head -5
五、评估要点
5.1 看峰值而非平均值
网站流量有明显波峰波谷。平均值 100 QPS 的站,峰值可能到 2000 QPS。选型要按峰值 × 2 的安全系数来算。
5.2 区分静态和动态
静态资源走 CDN 后,源站和 WAF 承受的实际请求会大幅下降。评估时要算清哪些流量真正经过 WAF。
5.3 关注突增场景
活动、大促、被攻击时流量会瞬间几十倍增长。云 WAF 的弹性扩容能力在这时就体现出价值。
六、常见误区
- 把 QPS 和并发连接混为一谈:长连接(如 WebSocket)场景下连接数是关键,不是 QPS
- 只看平均值:忽略峰值会导致大促时被打挂
- 忽略带宽:QPS 够但带宽不够,一样会卡
- 认为云 WAF 无限:超大流量仍需购买对应的防护带宽
- 自建 WAF 不做压测:不知道瓶颈在哪,上线就出事
七、小结
WAF 的并发能力要分维度看:QPS、连接数、带宽、新建速率、延迟各有瓶颈。云 WAF 靠集群和弹性扩容,总量级远超单机自建方案,适合流量波动大或有被攻击风险的站点。选型时按峰值流量的 2 倍做安全系数,别用平均值拍脑袋。
