Apache Benchmark(ab)是Linux下轻量级HTTP压测工具,用于评估Web服务并发能力;需手动安装apache2-utils或httpd-tools,基本命令为ab -n总请求数 -c并发数 URL,关键指标包括Requests per second和Time per request。

Apache Benchmark(ab)是 Linux 下最常用的轻量级 HTTP 压测工具,不依赖图形界面,一条命令就能快速评估 Web 服务的并发处理能力。它适合快速摸底、上线前验证或配置调优,但要注意——它测的是单点请求吞吐,不是全链路压测。
安装 ab 工具
ab 不是系统默认自带,需手动安装对应工具包:
- Ubuntu/Debian 系统:
sudo apt update && sudo apt install -y apache2-utils - CentOS/RHEL/AlmaLinux 系统:
sudo yum install -y httpd-tools或sudo dnf install -y httpd-tools
装完后执行 ab -V,看到类似 This is ApacheBench, Version 2.3 即表示就绪。
基础压测命令写法
最简形式只需三个参数:总请求数(-n)、并发数(-c)、目标 URL(必须带协议和尾部 /):
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
-
ab -n 1000 -c 50 https://example.com/:向域名发 1000 次请求,每次并发 50 个连接 -
ab -t 30 -c 20 http://api.test/v1/user:持续压测 30 秒,保持 20 并发
⚠️ 注意:URL 末尾必须有 /,否则 ab 可能报错或结果异常;避免用 127.0.0.1 或 localhost,应使用真实可访问域名,否则绕过网络栈和反向代理,测不准。
常用增强参数
真实场景中常需补充参数来模拟更贴近用户的请求行为:
-
-k:启用 Keep-Alive,复用 TCP 连接(推荐加,减少握手开销) -
-H "Authorization: Bearer xxx":添加认证头(如 JWT) -
-p data.json -T "application/json":发送 POST 请求,数据从文件读取 -
-Z TLSv1.2:HTTPS 压测时强制指定 TLS 版本(旧版 ab 对 TLS 1.3 支持弱,易报 handshake failed)
看懂关键测试结果
运行完成后,ab 输出一大段统计,重点关注这几项:
-
Requests per second:每秒成功请求数(越高越好),例如
97.75 [#/sec] -
Time per request:平均响应耗时(注意区分两个值)
— 第一个是「每个请求平均耗时」(含等待排队时间),如511.591 [ms]
— 第二个是「所有并发请求均摊后的平均耗时」,如10.232 [ms],反映服务器真实处理节奏 - Failed requests:失败请求数,非零需排查(超时、5xx、连接拒绝等)
-
Connection Times (ms) 下的
Connect、Processing、Total:可辅助定位瓶颈在建连、后端处理还是网络延迟
如果 Connect 时间明显偏高,可能是服务器连接数满、防火墙限速或 DNS 解析慢;如果 Processing 占比大,说明业务逻辑或数据库拖慢了响应。


















