模拟发送ws(webservice)请求
ws协议是http上的xml,所以发送ws请求,http请求体内必须是ws格式的xml。
使用工具 wizdl - Web Service GUI Test Tool,可以比较方便的生成你的ws应用的请求xml。
红框标识出来的部分就是发送的ws请求xml,把这段xml保存到一个xml文件中(wstest.xml)。
用curl验证ws的请求xml
为了验证我们生成的ws请求xml是否有效正确,可以使用curl来测试。
curl --data @wstest.xml http://172.16.24.215:81/example/ws/demoService?wsdl | xmllint --format -
说明:
- 把ws的xml作为HTTP POST的请求数据:–data DATA HTTP POST data (H)
- xmllint 命令对curl返回的xml进行格式化
使用ab进行ws性能测试
ab的帮助
相关的ab参数已经用红框标出,我们需要把wstest.xml直接作为HTTP的数据:
ab -n 100000 -c 20 -k -p wstest.xml -T "application/x-www-form-urlencoded" -m POST http://172.16.24.215:81/example/ws/demoService?wsdl
参数说明:
- ‘-n 100000’ 发送10万次请求
- ‘-c 20’ 使用20个并发(20个用户,绝对并发)
- ‘-k’ 启用keep-alive
- ‘-p wstest.xml’ 把wstest.xml文件的内容作为HTTP POST的数据
- ‘-T’ 设置POST数据的Content-type
- ‘-m POST’ 使用POST方法
ab测试结果
PS:测试的demoService方法里边执行了sleep(5)。