压测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这款开源性能测试工具对WebSocket服务进行压力测试。JMeter通常用于模拟大量用户并发访问Web应用程序,以评估系统的负载和稳定性。在WebSocket...
标题 "jmeter 4.0 websocket plugin 打包" 描述了如何在Apache JMeter 4.0版本中集成并使用WebSocket插件进行测试。WebSocket是一种在单个TCP连接上进行全双工通信的协议,常用于实时通信场景,如在线游戏、聊天应用...
"支持ws与wss的WebSocket协议的JMeter插件"是专为Apache JMeter设计的一个扩展工具,用于测试WebSocket服务的性能和稳定性。 Apache JMeter是一款广泛应用的开源性能测试工具,主要用于对Web应用进行负载和压力测试...
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-...
总结来说,这个JMeter WebSocket插件包为性能测试人员提供了一种强大的工具,使他们能够在JMeter中无缝地集成WebSocket测试,评估WebSocket服务在高并发情况下的性能和稳定性。通过利用这个插件,你可以模拟用户与...
### Python 实现 WebSocket 的客户端压力测试 在当前的网络应用中,WebSocket 提供了一种在单个 TCP 连接上进行全双工通信的协议,它使得数据可以在浏览器与服务器之间进行实时双向传输。这对于诸如在线游戏、实时...
在5.1版本中,已经内建了WebSocket的支持,这意味着用户可以直接使用JMeter进行WebSocket服务的性能和压力测试。你可以创建WebSocket samplers来模拟客户端发送和接收消息,检查服务器的响应时间、吞吐量和稳定性。 ...
"Jmeterwebsocket插件包"是专门为Apache JMeter设计的一个扩展,用于测试WebSocket服务的性能和稳定性。这个插件包包含了一些专门用于WebSocket通信的组件,使得JMeter能够发送和接收WebSocket消息,执行各种测试...
【标题】"jmeter-websocket-jar" 描述的是一个针对JMeter的特定扩展,用于支持WebSocket协议的测试。在2018.8版本中,这个jar文件被设计为解决旧版本JMeter在处理WebSocket连接时遇到的问题,尤其是长时间连接以持续...
然而,JMeter的默认版本并不内置对WebSocket协议的支持。 为了在JMeter中进行WebSocket测试,我们需要额外添加一些依赖包。这些依赖包包含了处理WebSocket通信所需的各种库,包括协议解析、连接管理等核心功能。...
Jmeter完整的WebSocket协议插件包,可通过插件对WebSocket进行压力测试。支持ws和wss的websocket协议,下载完成后将jar包文件直接放在jmeter的\lib\ext目录下,重启jmeter后,可在添加-取样器中看到这些插件,用来...
总的来说,"JMeter WebSocket补丁"是一个非常实用的工具,为JMeter添加了对WebSocket协议的支持,使得开发者和测试人员能够全面地测试WebSocket服务,确保其在实际使用中的稳定性和高效性。通过熟练掌握这个补丁的...
JMeter WebSocket采样器JMeter附加组件,它定义了许多用于负载测试WebSocket应用程序的采样器。用法从目录下载jar,将其复制到/ lib / ext并启动JMeter。 就这样。 您也可以使用jmeter-plugins安装插件。 如果您使用...
"Jmeter WebSocket Sampler"就是这样一个插件,它使得JMeter能够对WebSocket服务进行发送和接收消息的测试。 标题中的"Jmeter WebSocket Sampler 依赖文件"指的是为了在JMeter中使用WebSocket测试功能所需要的一组...
**标题解析:** "jmeter的websocket插件" 指的是在Apache JMeter这款开源性能测试工具中,用于测试WebSocket协议的特定插件。WebSocket是一种在客户端和服务器之间建立长连接的协议,广泛应用于实时通信场景,如在线...
3. **WebSocket Samplers**:在JMeter中,你需要知道如何添加WebSocket Samplers,如WebSocket Connect、WebSocket Send Message、WebSocket Close等,这些采样器模拟了与WebSocket服务器交互的各种操作。...
WebSocket是一种在客户端和服务器之间建立持久性连接的协议,它为实时通信提供了高效、低延迟的解决方案。在Android平台上,WebSocket的实现通常依赖于第三方库,例如本例中提到的Autobahn库。本文将深入探讨...
总之,"jmeter-websocket"是关于使用Apache JMeter 2.13版本进行WebSocket协议性能测试的主题,涉及到了如何扩展JMeter的功能,设置和执行测试,以及分析和优化测试结果。对于开发和维护需要实时交互功能的Web应用...