一、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
软件下载 - 联系邮箱 - 关注微博
Copyright © 2010-2024 匠艺软件 蜀ICP备19010796号