`
cywhoyi
  • 浏览: 422842 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

WS的压测

    博客分类:
  • JAVA
 
阅读更多

1. Building a WebService Test Plan参考

http://jmeter.apache.org/usermanual/build-ws-test-plan.html

 

1.   建立WebServiceTest Plan

 

参考http://jmeter.apache.org/usermanual/build-ws-test-plan.html

1)      添加ThreadGroup

右键单击Test Plan选择Add --> ThreadGroup,配置如图:

Number of Threads、Ramp-UpPeriod、Loop Count可随测试不同随时修改。

三种参数解释如下:

Number of Threads为发起线程总数。

Ramp-Up Period 指定了JMeter开启Number ofThreads个线程所需的时间。例如,如果待发起30个线程(即模拟用户),Ram-Up Period为15秒,则每秒增加2个线程(30个用户/15秒)。如果设置为0,则JMeter会自动启动所有模拟用户。

Loop Count为循环次数。

2.   添加 WebService Requests

右键单击“WebService线程组”,Add --> Sampler --> WebService(SOAP)。如图:

注:灰色“线程组”为其它测试使用过的线程组,此处这设置为Disabled线程组,在本次测试中不使用。

配置如图:

将发布好的Service的 WSDL URL粘贴到WSDL URL中点击Load WSDL之后,WebMthods自动弹出,

只需自己选择Method然后单击Configure即可完成绝大部分自动配置

但是里面会涉及Soap/XML-RPC Data的编写,我编写的如下:

 

[plain] view plaincopy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <soap:Envelope   
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4. xmlns:xsd="http://www.w3.org/2001/XMLSchema"   
  5. xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">  
  6. <soap:Body>  
  7. <ns1:simpleMethod  
  8.          xmlns:ns1="http://server.deltaj.com">  
  9.             <name xsi:type="xsd:string">Yerasel</name>  
  10.         </ns1:simpleMethod>  
  11. </soap:Body>  
  12. </soap:Envelope>  


这个XML中绝大部分都是固定的。其余解释如下:

 

simpleMethod是WebService发布的方法;

http://server.deltaj.com是simpleMethod所在类(SimpleServer)的域名,即SimpleServer所在包的包名为com.deltaj.server;

name是simpleMethod的参数名,参数类型是string;

Yerasel是输入的实参。

 

SimpleService服务端源程序如下:

 

[java] view plaincopy
  1. // SimpleService.java  
  2. package com.deltaj.server;  
  3.   
  4. public class SimpleServer {    
  5.     
  6.     /**  
  7.      * 简单的测试方法  
  8.      *   
  9.      */    
  10.     public String simpleMethod(String name) {    
  11.         return name + "Say this is a Simple method ^-^";    
  12.     }    
  13.   
  14. }    



 

注意:
<arg0 xsi:type="xsd:string">Yerasel</arg0>也可以,
在发布成wsdl时候, 方法的参数名称被自动的映射成arg0, arg1, 解决方法如下: 

 

[java] view plaincopy
  1. Java代码    
  2. public User create(    
  3.     @WebParam(name = "user")    
  4.     User user);    

因此SimpleService服务端源程序改写如下:

 

 

[java] view plaincopy
  1. // SimpleService.java  
  2. package com.deltaj.server;  
  3.   
  4. public class SimpleServer {    
  5.     
  6.     /**  
  7.      * 简单的测试方法  
  8.      *   
  9.      */    
  10.     public String simpleMethod(@WebParam(name = "personname")String personname) {    
  11.         return personname + "Say this is a Simple method ^-^";    
  12.     }    
  13.   
  14. }    


Soap/XML-RPC Data 如下:

 

 

[plain] view plaincopy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <soap:Envelope   
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4. xmlns:xsd="http://www.w3.org/2001/XMLSchema"   
  5. xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">  
  6. <soap:Body>  
  7. <ns1:simpleMethod  
  8.          xmlns:ns1="http://server.deltaj.com">  
  9.             <personname xsi:type="xsd:string">Yerasel </personname>  
  10.         </ns1:simpleMethod>  
  11. </soap:Body>  
  12. </soap:Envelope>  


结果图:

 

分享到:
评论

相关推荐

    通用WsSocket压力测试工具

    1. 需求分析: 现在的游戏服务器为支持多端,很多通讯协议都使用了wssocket来进行通讯,当项目进行到后端的时候,都需要开发一个模拟客户端的工具来进行压力测试,测试服务器的cpu计算能力,内存承载能力等等吧。...

    使用jmeter做ws压力测试

    在IT行业中,压力测试是确保应用程序稳定性和性能的关键步骤,特别是在Web服务(WS)场景下。JMeter是一款广泛使用的开源工具,专为性能测试而设计,适用于多种协议,包括HTTP、SOAP、RESTful等Web服务。这篇博客...

    jmeter压测websocket部分数据

    输入服务器的WebSocket URL(例如ws://example.com/ws)并配置其他必要的参数,如超时设置。 3. **创建WebSocket Send及Receive Samplers**:一旦连接建立,你可以使用WebSocket Send Text或Binary Sampler发送消息...

    python实现websocket的客户端压力测试

    - **WebSocket 地址**:`WS_URL` 变量用于存储 WebSocket 服务器地址。 - **进程数量**:`processes` 变量定义了进程池的大小。 - **线程数量**:`thread_num` 变量定义了线程池的大小。 2. **事件处理函数**: ...

    TCPSocket与Websocket互通压力测试工具

    如果架设ws服务器,设置方法总结(阿里云服务器举例,作为服务器有3个地址,127.0.0.1,内网地址,公网地址三个) 1、ws客户端必须写公网地址 2、ws服务端和Socket服务端必须写成服务器的内网地址(不是127.0.0.1,...

    apache-jmeter-压测工具.zip

    7. **多协议支持**:除了HTTP,JMeter还支持多种协议,如FTP、SMTP、JDBC、SOAP/WS-Security、JMS等,使得它在不同领域的测试场景中都能发挥效用。 8. **非图形界面**:除了图形化的用户界面,JMeter还提供命令行...

    Jmeter WebSocket补丁

    1. 设置WebSocket连接:创建WebSocket Sampler后,需要配置连接参数,如服务器地址、端口号、协议类型(ws或wss)等。 2. 发送和接收消息:可以预定义消息内容,并设置发送消息的频率和数量,同时,JMeter会记录接收...

    OPC UA 性能及测试

    这包括对比使用Soap/HTTP协议加上XML和WS-Security的安全设置与不使用这些设置的情况,以及使用UA二进制(Binary)传输和安全设置的情况。此外,测试还包括了在启用和禁用全面安全模式下的性能差异,以及不同数据...

    webSocket通讯实例,长连接

    WebSocketClient client = new WebSocketClient(new URI("ws://your-websocket-server.com:8080")) { @Override public void onOpen(Session session) { Log.d("WebSocket", "Connection opened"); // 开始发送...

    WebSocket Sampler jar包_v20190813.rar

    新版完整Jmeter的WebSocket压测插件,支持Jmeter4.0、Jmeter5.0等版本。 支持ws和wss的websocket协议,下载完成后将jar包文件直接放在jmeter的\lib\ext目录下,重启jmeter后,可在添加-取样器中看到这些插件,用来...

Global site tag (gtag.js) - Google Analytics