压测WebSocket接口,在并发数超过2时,软件就开始疯狂报错,但是后端服务日志一切正常。
[Problems] - Unexpected error: null java.util.LinkedList$ListItr.checkForComodification(LinkedList.java:953) java.util.LinkedList$ListItr.next(LinkedList.java:886) JMeter.plugins.functional.samplers.websocket.ServiceSocket.getResponseMessage(ServiceSocket.java:125) JMeter.plugins.functional.samplers.websocket.WebSocketSampler.sample(WebSocketSampler.java:156) org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:429) org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:257) java.lang.Thread.run(Thread.java:744)
各种百度都找不到解决方案,插件的BUG真是头疼,无奈只有去源头找问题,先查看下插件信息
去GitHub下载源代码, 问题出在了类 ServiceSocket.java上
将
protected Deque<String> responeBacklog = new LinkedList<String>();
替换为
Queue<String> responeBacklog = new ConcurrentLinkedQueue<String>();
然后重新打成新的JAR包,替换到本地已经下载的
/usr/local/apache-jmeter-3.3/lib/ext/JMeterWebSocketSampler-1.0.2-SNAPSHOT.jar
重启Jmeter,再次压测,问题解决,TPS总有彪了起来。
相关推荐
使用JMeter压测Websocket协议,需要下载Websocket插件。下载本资源(JMeterWebSocketSampler-1.0.2-SNAPSHOT.jar、websocket-api-9.1.1.v20140108.jar、websocket-client-9.1.1.v20140108.jar、websocket-common-...
jmeter压测websocket部分数据
解压缩到 apache-jmeter-4.0\lib\ext 目录,启动jmeter 添加线程组,然后添加 sample 就可以添加 websocket 测试用例
主要为大家详细介绍了python实现websocket的客户端压力测试,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
Jmeter的WebSocket协议支持插件: JMeterWebSocketSampler-1.0.2-SNAPSHOT.jar 所需依赖包: 1、jetty-http-9.1.2.v20140210.jar 2、jetty-io-9.1.2.v20140210.jar 3、jetty-util-9.1.2.v20140210.jar 4、websocket-...
该jar包为websocket协议的插件,直接放在jmeter的D:\software\apache-jmeter-4.0\lib\ext目录下,重启jmeter即可使用,可以进行websocket压力测试
Jmeter完整的WebSocket协议插件包,可通过插件对WebSocket进行压力测试。支持ws和wss的websocket协议,下载完成后将jar包文件直接放在jmeter的\lib\ext目录下,重启jmeter后,可在添加-取样器中看到这些插件,用来...
从官网下载的jmeter是不对websocket支持的,需要添加6个依赖包到相应的apache-jmeter\lib\ext下
jmeter 压测web socket需要的插件包,解压后共7个jar包,直接放到/lib/ext目录下即可使用
JMeter WebSocket采样器JMeter附加组件,它定义了许多用于负载测试WebSocket应用程序的采样器。用法从目录下载jar,将其复制到/ lib / ext并启动JMeter。 就这样。 您也可以使用jmeter-plugins安装插件。 如果您使用...
这个是5.1版本的jmeter文件包,绿色版,无需安装,解压直接使用。 而且经过本人亲自修正,支持WebSocket功能。
jmeter添加webscoket的补丁,下载该资源后,将资源中的jar包拷贝至\jmeter\lib\ext\目录下,然后重启jmeter
jmeter设置websocket的jar 2018.8的依赖包,解决旧版本无法长时间连接获取响应数据的问题
放在 apache-jmeter-5.1.1/lib/ext 下就可以使用该插件 更新了其中一个版本,请注意更新,且更更新后才可继续使用
包含Jmeter组件:JMeterWebSocketSampler-1.0.2-SNAPSHOT.jar和其他6个依赖文件。解压后全部放到/lib/ext目录下,并重启Jmeter。
jmeter的websocket最新插件包,支持单独打开、读取、关闭、保持等取样器
android webSocket 实时通讯长连接 ,使用autobahn框架,完整代码下载
Jmeter 集成WebSocket所需jar包,一共包含必须的7个jar文件,放到Jmeter的\lib\ext目录下面,就ok。
Jmeter websocket 插件 jar 包,Jmeter websocket 插件 jar 包Jmeter websocket 插件 jar 包