ab
是Apache Benchmark的缩写,顾名思义它是Apache组织开发的一款web压力测试工具,优点是使用方便,统计功能强大。
在Linux服务器中需要对webservice接口进行测试时,如果打开类似SoapUI等图形化工具有时候并不是特别方便,反而使用命令进行测试高效快捷。
本教程讲解了在Linux系统中如何通过ab
命令进行webservice接口测试。
准备条件
- 一台Linux服务器。
- 在服务器上具备sudo权限的账号。
安装ab命令
ab命令默认包含在apache2-utils软件包中,一些Linux发行版默认并没有安装,所以我们需要先安装apache2-utils软件包,安装命令如下:
sudo apt-get install apache2-utils
使用ab命令模拟调用webservice
ab调用的命令格式如下:
ab -c 10 -t 30 -p test.xml -H 'Content-Type: text/xml;charset=UTF-8' -H 'SOAPAction: ""' http://web服务接口地址
其中参数说明:
- -c 表示并发数。
- -t 表示时间。
- -p test.xml, test.xml为测试发送的报文。
- -H 请求使用的header请求头参数
test.xml中的内容类似如下,可以根据测试接口实际情况自行定义或者从SoapUI中将测试用的报文拷贝出来。
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://service.*****.com/">
<soapenv:Header/>
<soapenv:Body>
报文内容......
</soapenv:Body>
</soapenv:Envelope>
通过参数设定,可以模拟多中请求情况特别适合对接口的压力测试。不过ab命令行下进行的压力测试也有不足的地方,例如报文比较单一。
更多关于ab参数使用,可以在命令行下输入ab --help
查看具体说明。
写在最后
对于使用命令进行webservice进行测试是非常有用的,网络有限制只允许服务器之间进行通讯是测试。这样在命令行里面即可验证webservice服务,又可以进行一定的压力测试。
网友评论