服务公告
用 ab 与 wrk 做压力测试:入门指标怎么看
发布时间:2026-10-13 15:21
## 两个工具对比 ab 是 Apache 自带的压测老将,一个二进制到处都有,一条命令出结果,适合快速摸底;wrk 是多线程的现代工具,一台客户端就能打出高并发,延迟分位数统计更细。共同点是都发 HTTP 请求、统计吞吐与延迟,差异在能力上限:ab 单线程模型,高并发场景自己先到瓶颈,数字会骗人;wrk 用多线程加事件驱动,能榨干客户端资源。选型简单:轻量验证用 ab,正式压测用 wrk。 ## 基本用法 ```bash ab -n 10000 -c 200 目标地址 wrk -t4 -c200 -d30s 目标地址 ``` ab 的 n 是总请求数,c 是并发数,跑完即止;wrk 的 t 是线程数,c 是连接数,d 是持续时长。目标地址要带路径,压的是具体页面或接口,不是域名本身。压测前先确认压测机与目标机之间的带宽不是瓶颈,否则测的是链路不是服务。正式压测务必打在测试环境或预发环境,生产环境压测等于自己对自己发起攻击,缓存、限流、数据库统统遭殃,这条红线不能碰。 ## 指标怎么看 两份输出围绕三组数字。吞吐:RPS 或 QPS,每秒完成的请求数,衡量容量水位。延迟:平均响应时间只是参考,重点看分位数——P50 是一半请求的体验,P99 是最慢那一档,用户抱怨的往往就是长尾;P99 远高于 P50 说明存在规律性卡点,比如缓存未命中回源、GC 停顿。错误:非 200 的响应数与连接失败数必须为零或可解释,带着错误率的吞吐没有意义。看指标要成组看:单看 QPS 高就说性能好,延迟长尾烂透也是废。 ## 入门要点 压测是对照实验,变量要控住:每次只改一个参数,记录环境、数据量、并发梯度,结果可复现才有价值。压测脚本要模拟真实流量形态,全打同一个 URL 与真实用户的访问分布差异很大,混合场景更能暴露问题。压测中同步观察服务端:top、数据库慢日志、顺云控制台的带宽与 CPU 曲线,客户端数字与服务端现场对上,瓶颈在哪才清楚。压完留档,下次扩容前再压一遍,容量规划就有依据可循。下一篇: 数据导出指引发布