windows下使用apache bench(ab)进行带多个header信息的post请求压力测试

时间:2022-04-25 04:48:12

先简单介绍下ab,ab是apache自带的一个轻型压力测试工具,使用简单,安装方便,一般可以在apache的bin目录下找到,直接使用cmd进入apache的bin目录,输入ab -help查看使用帮助, 若出现以下页面则说明可以正常使用:

windows下使用apache bench(ab)进行带多个header信息的post请求压力测试

       若不能正常使用或者apache的bin目录下找不到ab.exe,则可以自行网上下载ab.exe,在cmd下进入ab.exe目录下使用即可。

       具体的参数使用就不一一介绍了,本文主要说明-n -c  -T -p -H 参数,这几个是在进行带多个header信息的post请求压力测试中要用到的。

-n  指定请求数   如 -n1000  指向要测试的url发送1000个请求

-c  并发数,也就是一次发送多少请求  如-c100  说明每次发送100个请求

-T  post发送的数据类型,也就是header中content-type的值  如-T application/json 说明发送的是json数据

-p  使用post发送数据,后面跟发送内容,以文件路径的形式  如 -p data.txt 说明用post发送data.txt里面的内容,要注意的是data.txt里面的数据格式要和-T中声明的一致,如-T application/json 则data.txt格式就必须以{"name1":"xxx","name2":"xxx"}的形式
-H 在header中添加信息   如-H “token:xxx” 则指在header中增加一行token:xxx的信息,但是增加多行信息-help中没有说明,在试过各种分割方式之后,绝望的发现增加多行header信息只需要再加一个-H就行,如-H “token:xxx” -H “client:xxx” 就可以同时增加两行header信息

最后跟上要测试的url就行,最终命令为:

ab -p data.txt -T application/json -H "client:xxx" -H "token:xxx" -n400 -c400 http://localhost:8080/xxx

指以post形式一次发送400个request给http://localhost:8080/xxx,request body的内容为data.txt,request header 的内容为"content-type:application/json  client:xxx  token:xxx"。

返回的信息含义就不多说了,自行查找。