webservice 单台服务器 性能极限,WebService性能测试研究

  • Post author:
  • Post category:其他


【IT168 技术文档】

1 概述

在某项目中,遇到手机客户端与服务器端交互的性能测试问题,其实现方式为手机客户端与服务器端通过webservice进行交互,如下:

86f9d56de6391a9b3f597fa055e9f3b2.png

2 性能测试策略

使用工具模拟多用户进行webservice在手机客户端和服务器端的交互。

3 测试工具

Loadrunner、SoupUI

4 Loadrunner进行webservice测试

4.1 访问url,将网页保存为wsd文件

http://10.192.17.40/PanasonicQR/MobileService/UploadInventoryService?wsdl

1d6051cf109db6c7e428aca14dce679e.png

4.2 新建脚本

a15831ce1f9a1ad41bb8ad15ddf08e0a.png

455532c51d7cbe6b9e9f96e1035c25a9.png

fd4fc300649326c63457a40870ca1d1b.png

ec03da6356966debd5f3ab1065f4a7d8.png

b61e9ecc5c1913b6463a71fe2713c4d4.png

4.3 问题

按照上面的步骤执行脚本,发现有错,提示信息如下:

606855bf8ac196d403ab4218d8431431.png

该问题暂时无法解决,需要再进一步的研究,现用soap_request函数实现webservice的测试。

4.4 实现webservice测试

使用web_add_header(用户添加webservice头)、soap_request(用户向服务器发送webservice请求)、lr_convert_string_encoding(用于将webservice请求的XML转换为UTF-8格式,必须要转换为UTF-8格式,否则在请求的XML中如果含有中文字符的话将会请求失败)、和lr_eval_string(用于向soap_request函数传递转换后的UTF-8格式参数值)函数实现webservice测试,代码如下:

Action()

{

intrc = 0;

unsigned longconverted_buffer_size_unicode = 0;

char*converted_buffer_unicode = NULL;

char*strnew = NULL;

web_add_header(“SOAPAction”,

“\”\””);

web_add_header(“User-Agent”,

“Jakarta Commons-HttpClient/3.1”);

web_add_header(“Content-Type”,

“text/xml;charset=UTF-8”);

strnew= “SOAPEnvelope= {NewParam_1}number有实物无帐该产品没有入账77804179huangjq96”;

rc =lr_convert_string_encoding(strnew,

LR_ENC_SYSTEM_LOCALE,

LR_ENC_UTF8,

“new”);

//上传异常盘点信息

soap_request(“StepName=login”,

“URL=http://10.192.17.40/PanasonicQR/MobileService/UploadInventoryService”,

lr_eval_string(“{new}”),

“Snapshot=t1.inf”,

“ResponseParam=result”,

LAST);

return0;

}

4.5 日志查看

在Run-time中设置Log显示方式,显示更多的日志,以便追踪脚本运行状况。

0dbed7fccfb871eee881c7ad625c2d5b.png

4.6 模拟多用户并发测试

Loadrunner的Webservice测试license:AEAMAUIK-YAFEKEKJJKEEA-BCJGI