Apache ab在post请求中用Json传参时候的注意事项

1.-p后面带的参数文件,最好不要用记事本自己建,用Notepad++等软件来建立.txt格式的文件,然后填入Json格式的参数;


2.注意-T的参数和-p要同时出现,且-T的参数要符合-p的文件类型,如果是Json类型的参数,content-type要设置成application/json;


3.还是要特别强调一下,一定不要把文件里面的Json格式写错(毕竟我之前就是因为写错了这个格式,浪费了好多时间去排查问题);


最终的格式如下:


abs -n 10 -c 10 -p d:\para.txt -T application/json https://xxx/login


最后,还想记录一下在使用Apache ab之初遇到的问题:


原来我们Apache ab只支持Http1,不支持http2的,我还傻傻的一直用ab指令去测试https的网站,,幸好后来被我机智的发现了这个问题,及时纠正了错误,挽回损失。Apache abs就是专门针对https的,跟ab基本没有区别,用法都是一样的。那么问题就来了,http跟https到底是什么区别呢?自己去度娘问一下吧!


要求时间的单curl测试的方式如下:


time curl http://xxxxx/hq/restapi/isStart
curl用来用post请求,且有header及请求内容


time curl -X POST -H "Content-Type: application/json" -H "Cache-Control: no-cache" -H "Postman-Token: d63xxx-xxxx-xxxxf450" -d '{"lsock":[{"akcolde":"600000","marketType":"BB"}]}' 


"http://xxxxxx/hq/restapi/ime"
用ab来作吧。


ab -n 100000 -c 500 http://xxx/hq/restapi/isdrt
ab -n 10000 -c 100  -p "post.txt" -T "application/json" -H "Content-Type: application/json" -H "Cache-Control: no-cache" -H "Postman-Token: d6xxs-sdf-sdf09d" "http://cnxxx81/hq/restapi/queryRealTime"
post.txt


{"lstStock":[{"sterode":"600000","madfpe":"SH"}]}

有话要说