非常棒的问题,总结一下你想了解的是:
-
✅ Apache Benchmark(简称 ab)是什么?
-
✅ 在 MacBook 上如何安装?
-
✅ 它是干什么用的?
-
✅ 常用参数怎么用?
✅ 一、Apache Benchmark 是什么?
Apache Benchmark(ab)是 Apache 官方提供的一个 命令行工具,用于:
💥 对 HTTP 接口或网站进行高并发性能测试(压力测试)
🧰 二、它是干什么用的?
能力 |
说明 |
---|---|
🔄 快速模拟大量并发请求 |
测试服务器接口是否能承受高访问量 |
🧪 获取性能指标 |
如每秒请求数(QPS)、平均响应时间、失败请求数等 |
⚡ 评估优化效果 |
对比代码优化前后的响应性能 |
💻 三、MacBook 怎么安装 Apache Benchmark?
Apache Benchmark 是 httpd(Apache HTTP Server)的一部分,在 macOS 上你可以通过 Homebrew 安装:
1️⃣ 打开终端,运行以下命令:
brew install httpd
2️⃣ 安装完成后,检查
ab
是否可用:
ab -V
你会看到类似输出:
This is ApacheBench, Version 2.3 <$Revision: 1879490 $>
如果能输出版本号,就说明安装成功啦 ✅
📌 四、ab 常用命令和参数解释
🔹 最基础用法:
ab -n 1000 -c 100 http://localhost:8080/api/test
参数 |
说明 |
---|---|
-n 1000 |
总请求次数,发 1000 个请求 |
-c 100 |
并发请求数,100 个用户同时发 |
最后是 URL |
要测试的接口地址 |
🔹 常用参数说明:
参数 |
含义 |
---|---|
-n <次数> |
总请求数(required) |
-c <并发数> |
并发用户数(模拟并发请求) |
-t <秒> |
持续测试时间(单位秒) |
-k |
启用 HTTP Keep-Alive(连接复用) |
-p <文件> |
提交 POST 请求,指定数据文件 |
-T <类型> |
设置 POST 的 Content-Type,比如:application/json |
-H <header> |
添加自定义 Header,例如 token |
-r |
忽略 socket 错误继续测试 |
-g <文件> |
生成数据文件(可以用于绘图) |
-v <等级> |
输出详细请求信息,等级从 1-4 |
📈 五、结果示例和重点指标解读:
运行后你会看到:
Requests per second: 420.10 [#/sec] (mean)
Time per request: 238.1 [ms] (mean)
Failed requests: 0
指标 |
意义 |
---|---|
Requests per second |
每秒能处理多少请求(吞吐量,越高越好) |
Time per request |
平均每个请求耗时(越低越好) |
Failed requests |
失败请求数(应该为 0) |
Transfer rate |
网络传输速率(吞吐量) |
🎯 总结一句话:
ab 是 压测 HTTP 接口的神器,非常适合开发初期做快速压力测试,在 Mac 上用 brew install httpd 就能立刻用!