参考代码: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协议。

如何用jmeter对websockt和protobuf进行压力测试的更多相关文章

  1. 如何用jmeter对websock和protobuf进行压力测试

    1. 一个websocket插件官网地址 https://github.com/maciejzaleski/JMeter-WebSocketSampler 2. 可以用上述插件,也可以自己扩展,以实现 ...

  2. mac下 JMeter 4.0 进行多用户接口压力测试

    1.最近在做公司的内部系统,需要进行多用户压力测试,于是上网在官网下载了Jmeter 压缩包,并放在指定的目录解压,打开解压后文件夹到bin目录下: 执行sh jmeter  Jmeter就启动起来了 ...

  3. 05 - Jmeter连接多台电脑做压力测试

     在使用Jmeter进行接口的性能测试时, 由于Jmeter是JAVA应用, 对于CPU的内存消耗比较大, 所以, 当需要模拟数以万计的的并发用户时, 使用单台机器模拟所有用户并发就会有些力不从心了, ...

  4. Jmeter系列(11)- 自动化压力测试逻辑思路及例子

    为什么需要进行自动化压力测试 手动逐步加压,需要人工改变并发数,还要等待.所有,我们完全可以制定好策略,让程序自动加压,自动等待,输出报告 实现思路 Jmeter脚本(.jmx文件)- 压测逻辑 Sh ...

  5. 【JMeter】Jmeter-完成一个http压力测试

    一 新建一个jmeter项目 1 进入/jmeter/bin路径,双击jmeter.bat,在win环境下启动jmeter. 2 点击"编辑->添加->TreadUsers-&g ...

  6. Jmeter对基于websocket协议的压力测试

      WebSocket protocol 是HTML5一种新的协议.它实现了浏览器与服务器全双工通信(full-duplex).   浏览器和服务器只需要要做一个握手的动作,然后,浏览器和服务器之间就 ...

  7. JMeter进行一次简单的压力测试

    测试目的:10个用户并发打开百度首页(https://www.baidu.com/),百度能否正常响应. 操作步骤 一.打开JMeter 打开后的界面如下: 二.右击“测试计划”,添加线程组 三.设置 ...

  8. JMeter:生成漂亮的接口/压力测试的HTML报告

    JMeter生成HTML网页报告(非gui模式操作) 我们做性能测试的时候会经常使用一些性能测试工具,比如loardrunner和jmeter,我个人比较喜欢Jmeter这个工具,jmeter之前版本 ...

  9. Jmeter使用JDBC链接数据库进行压力测试

    一.关于性能测试 对数据库进行压测时,我们需要关注的几个方面: 1.系统相关指标,诸如:系统CPU/内存/IO等 2.进程相关指标,诸如:mysql该数据库的对应的进程占用CPU/内存/IO等 3.数 ...

随机推荐

  1. Item 30 用enum代替int常量类型枚举,string常量类型枚举

    1.用枚举类型替代int枚举类型和string枚举类型 public class Show {   // Int枚举类型   // public static final int APPLE_FUJI ...

  2. codeforces contest 864 problemD

    Ivan has an array consisting of n elements. Each of the elements is an integer from 1 to n. Recently ...

  3. performSelector支持多参数

    默认的performSelector支持最多传递两个参数,要想传递超过两个的参数,需要使用NSInvocation来模拟performSelector的行为,如下: - (id)performSele ...

  4. Tunnel Warfare(HDU1540+线段树+区间合并)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1540 题目: 题意:总共有n个村庄,有q次操作,每次操作分为摧毁一座村庄,修复一座村庄,和查询与询问的 ...

  5. TensorFlow中get_variable共享变量调用

    import tensorflow as tf with tf.variable_scope('v_scope',reuse=True) as scope1: Weights1 = tf.get_va ...

  6. perl6中函数参数(2)

    use v6; #如果参数是可选的, 可以在后面加个?后定义 sub Choo($x, $y?){ say $x+$y; } Choo(); Choo(,); #具名参数, 也就是字典形式的调用 su ...

  7. 浅谈C语言中的强符号、弱符号、强引用和弱引用【转】

    转自:http://www.jb51.net/article/56924.htm 首先我表示很悲剧,在看<程序员的自我修养--链接.装载与库>之前我竟不知道C有强符号.弱符号.强引用和弱引 ...

  8. selenium 点击浏览器按钮

    利用以下的方法,selenium 也可以模拟点击各种浏览器按钮:browser.back()点击“返回”按钮.browser.forward()点击“前进”按钮.browser.refresh()点击 ...

  9. 【bzoj4486】【JSOI2015】串分割

    老省选题了. 首先考虑怎么比较超长数字的大小? 参见UTR1的那道题 先比size,然后比较字典序即可. 接下来考虑下切割的问题. 因为要将字符串切割成k份,所以这个字符串只会存在n/k个本质不同的起 ...

  10. HDU 6119 小小粉丝度度熊 双指针

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6119 题意:中文题面. 解法:先处理可能交叉的区间,然后容易发现满足双指针的特性. //HDU 611 ...