参考网上对于ab参数的介绍(看来看去都是复制来复制去的样子)自己使用后的总结
因为用到的部分也不多, 以后再用到的时候再添加就是了
各参数简介
- -n 总的请求数, 默认1 应大于-c的值, 否则报错(反正也不执行
-n 1000
- -c 每次请求并发数, 默认1
-c 200
- -t 测试进行的最大时间(s)
-t 20
- -H 头部header参数 多个则写多个......
-H 'Accept:application/json'
-H 'app:IOS'
-H 'Accept:application/json'
- -v 设置显示返回response的详细程度, 以下均为最小值 (即4包含3,2...
-v 4 #包含头信息
-v 3 #包含status code
-v 2 #包含警告及其他信息
- -T 设置Content-Type头信息 (但测试时看请求header中Content-Type值为一直为空...)
-T application/json
-T application/x-www-form-urlencoded
- -p 包含请求body的文件(配合-T使用 且此时为POST请求)
若-T 设置为application/json, 则文件的内容应为json字符串
-p data.txt #文件以ab所在目录为base目录 例如/usr/local/apache/bin/
- -P 应该是HTTP BASIC验证用
-P username:password
以下貌似用不到
- -w 以HTML table的形式输出结果(即用table代码包含返回信息) 但命令行下只显示源代码而没用??
- -V 查看ab版本
- -i 使用HEAD请求 (method: HEAD
实例
- 单个请求并查看头部等所有返回信息 (相当于测试是否能得到正确结果
./ab \
-v 4 \
-n 1 \
-T application/json \
-H 'Accept:application/json' \
-H 'app:IOS' \
-H 'machine:machine-code' \
-H 'client-version:1.1' \
-H 'Authorization:Basic b3VoS1BpUm93dkRfRDB0WjBDdG1yT0E1dkJmUWdOb1I5' \
http://www.api.test.tk:8080/v1/server/tree
- 多个请求
./ab \
-c 100 \
-n 1000 \
-p data/online.txt \
-T application/json \
-H 'Accept:application/json' \
-H 'app:IOS' \
-H 'machine:dsdksddsjsd' \
-H 'client-version:1.0' \
-H 'Authorization:Basic b3VoS1BpUm93dkRfRDB0WjBDdG1yT0E1dkJmUWdOb1I5' \
http://www.api.test.tk:8080/v1/server/online
其中的data/online.txt内容为json字符串
{"server_id":"18"}