ApacheBench(ab)压测命令总结

一、ab命令常用参数介绍:

-n 请求总数;

-c 并发数;

-r 连接异常时不要退出测试;

-T content-type类型;

-p 存放post请求参数的文件路径,发送post请求需要和 -T参数一起使用;

-t 请求最大等待时间(并非压测持续时间,本参数不常用,容易误解,特别说明一下


更多参数及用法,请见官方文档。

命令文档:ab -help;


二、验证接口返回内容:

在测试过程中,可以先用curl命令验证接口可以正常访问, 但是个别情况下,使用curl访问正常不代表使用ab也请求正确,例如post请求,两种命令的参数及调用方式不太一样。笔者踩过坑,得出了错误的压测结果。在ab命令中,可以使用 -v [num] 参数指定打印请求结果的级别(4或更大值会显示头信息, 3或更大值可以显示响应代码(404, 200等), 2或更大值可以显示警告和其他信息):

ab -n 1 -c 1 -v 2 -r http://10.0.120.224:8100/zmw/user/get_acf_amount?user_id=fdb9d03c1d404c25a3e76408ddbc561b


三、GET请求压测命令:

ab -n 100000 -c 500 -r http://10.0.120.224:8100/zmw/user/get_acf_amount?user_id=fdb9d03c1d404c25a3e76408ddbc561b


四、POST请求压测命令:

新建一个文档存放post参数,示例:

vi getTokenPostParam.txt

 user_id=fdb9d03c1d404c25a3e76408ddbc561b&token=NPcOQBkpSK95Lym9zCkW&device_id=1&req_time=1&version=1

执行命令:

ab -n 100000 -c 500 -r -T 'application/x-www-form-urlencoded' -p 'getTokenPostParam.txt'  http://10.0.120.224:8100/zmw/v2/get_token


五、压测结果重要指标:

Concurrency Level: 1                                                                                 
Time taken for tests: 0.016 seconds
Complete requests: 1
Failed requests: 0
Write errors: 0
Total transferred: 325 bytes                    整个过程中的网络传输量
HTML transferred: 177 bytes
Requests per second: 64.39 [#/sec] (mean)           每秒事务数,平均值
Time per request: 15.531 [ms] (mean)                    平均事务响应时间
Time per request: 15.531 [ms] (mean, across all concurrent requests)
Transfer rate: 20.44 [Kbytes/sec] received

相关阅读
评论:
点击刷新

↓ 广告开始-头部带绿为生活 ↓
↑ 广告结束-尾部支持多点击 ↑