如何用jmeter对websockt和protobuf进行压力测试

 参考代码:https://github.com/hutao722/kekexinxin

 这是基于Jmeter WebsocketSampler的插件,支持对基于websocket和protobuf的服务器进行测试。

 想要应用到具体业务中,还需要进行代码改造,可参考demo代码。

 工程结构

 两个子工程组成:

 1. jmeter-websocketprotobuf-front工程。基于maciejzaleski/JMeter-WebSocketSampler(https://github.com/maciejzaleski/JMeter-WebSocketSampler). 本人做了改动,以支持protobuf数据。

2. jmeter-websocketprotobuf-custom工程。这是需要根据自身业务进行改造的工程,该工程已经有Demo,可仿造进行改动。总体来说是把请求的json数据转换成pb数据去调用服务器接口,再用返回的pb结果转换成json数据显示。

用法

1. 下载并用maven编译和打包,命令为:mvn clean package -DskipTests -P dev

    我们可以得到JMeter-WebsocketProtobuf-front-1.0.jar 和 JMeter-WebsocketProtobuf-custom-1.0.jar两个jar包

2. 将下列jar包放入jmeter的\lib\ext 包下:

   JMeter-WebsocketProtobuf-front-1.0.jar

   JMeter-WebsocketProtobuf-custom-1.0.jar

   jetty-util-9.3.11.v20160721.jar

   jetty-io-9.3.11.v20160721.jar

   websocket-common-9.3.11.v20160721.jar

   websocket-client-9.3.11.v20160721.jar

   websocket-api-9.3.11.v20160721.jar

   protobuf-java-2.6.1.jar

   protobuf-java-format-1.2.jar

   fastjson-1.2.8.jar

3. 重启jmeter后,即可以试试,截图如下:

    

 

 修改相应的参数,点击运行后,即可在结果观察树中查看结果。

 该插件支持ws和wss协议。

 

posted @ 2016-08-29 09:36  可可心心  阅读(6990)  评论(13编辑  收藏  举报