apache bench(ab)是轻量级http压测工具,无需完整apache服务;支持linux/macos/windows多平台安装,常用参数为-n(总请求数)和-c(并发数),可进行get/post、带cookie等压测,输出重点关注qps、平均响应时间及失败请求数。
apache bench(ab)是随 apache http server 一起发布的轻量级命令行压测工具,无需额外安装完整 apache 服务即可使用。它专为 http 接口性能评估设计,适合快速验证单 url 在并发场景下的响应能力。
安装 ab 工具(按系统区分)
ab 不依赖 Apache 服务器运行,只依赖其工具集:
-
Linux(Debian/Ubuntu):执行
sudo apt install apache2-utils -
Linux(CentOS/RHEL/AlmaLinux):执行
sudo yum install -y httpd-tools或sudo dnf install -y httpd-tools -
macOS:系统通常预装 Apache,直接运行
ab -V验证;若无,可用 Homebrew 安装:brew install httpd -
Windows:从 Apache Lounge 下载对应版本的
httpd-*.zip,解压后进入bin/目录,即可使用ab.exe;建议将该目录加入系统 PATH 方便调用
基础压测命令与参数说明
最常用组合是 -n(总请求数)和 -c(并发数),例如:
ab -n 1000 -c 50 http://localhost:8080/api/users/
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
关键参数含义:
- -n 1000:共发送 1000 个请求
- -c 50:同时维持 50 个并发连接(非“每秒 50 个”,而是并行发起)
-
URL 必须以 / 结尾:如
http://example.com/,否则提示invalid URL - 不支持 HTTPS:若目标为 https,需改用 http 或换其他工具(如 wrk、hey)
常见实用扩展用法
除基础 GET 压测外,ab 支持简单进阶场景:
-
带 Cookie 登录态压测:
ab -n 200 -c 10 -C "sessionid=abc123" http://localhost/protected/ -
POST 请求(JSON):先准备
data.json文件,再执行ab -n 100 -c 10 -p data.json -T "application/json" http://localhost/api/login/
注意:-T必须显式指定类型,仅用-H会大概率触发 400 错误 -
设置超时与详细日志:
ab -n 50 -c 5 -s 10 -v 2 http://localhost/health/(-s设单请求超时为 10 秒,-v 2显示响应码)
解读核心输出指标
压测完成后,重点关注以下三行:
- Requests per second:吞吐量,即 QPS,数值越高说明单位时间处理能力越强
-
Time per request (mean):按并发视角均值,如
-c 10时显示 240ms,表示每个并发流平均耗时 240ms - Time per request (mean, across all concurrent requests):按请求视角均值,同一例中常为 24ms(240 ÷ 10),更贴近真实用户感知延迟
- 另需关注 Failed requests 和 Connect failed 数量,非零则说明服务已出现连接拒绝或超时,可能已达瓶颈









