【问题标题】:WebSocket plugin for Jmeter [closed]Jmeter的WebSocket插件[关闭]
【发布时间】:2013-04-22 17:02:29
【问题描述】:

谁能给我分享一个用于 JMeter 的 Websocket 协议的插件采样器的链接?

我尝试从以下链接安装:https://github.com/kawasima/mod_proxy_websocket.
但不确定如何获得。

我是该工具的新手。
感谢和赞赏。

【问题讨论】:

    标签: websocket jmeter jmeter-plugins


    【解决方案1】:

    您问题中的链接似乎不是针对 jmeter 插件,而是针对 Apache http 服务器的代理模块。
    正确的链接似乎是 https://github.com/kawasima/jmeter-websocket - WebSocket 协议的 jmeter 插件。

    要使用它,您必须:

    • 下载项目源代码;
    • 使用 maven 构建 ApacheJMeter_WebSocket.jar;
    • 将 jar 放入$JMETER_HOME/lib/ext/ 目录。

    使用 maven 3.0 (mvn validate compile package) 从源代码成功构建 Jar 文件:

    WebSocket Sampler 在 Samplers 列表中可用:

    【讨论】:

      【解决方案2】:

      这是另一个 JMeter 的 WebSocket 插件。支持WebSocket协议的RFC6455 (v13)。

      链接:https://github.com/maciejzaleski/JMeter

      特点:

      • 支持 HTTS/HTTPS (ws/wss) 版本的 WebSocket 协议
      • 忽略 SSL 证书错误的选项
      • 流式传输允许单个连接在测试期间保持打开状态
      • 响应必须匹配预定义的正则表达式
      • 响应超时
      • 响应消息积压(从多个服务器消息构建采样器响应)
      • 如果服务器发送匹配预定义正则表达式的消息,连接可能会关闭

      【讨论】:

      • 能否请您添加 Ant/Maven/Ivy/whatever 构建系统配置,以便可以从源代码构建一个 jar?
      • 我知道当我有时间时,我将不得不这样做。 Releases 下已经有构建 JAR,您可以下载并放入 JMeter lib/ext 文件夹。根据 Wiki 页面,您还需要依赖项。
      • Maciej:你的 jar 文件似乎不适合我,你能帮忙吗?
      • 我在尝试使用您的插件时收到以下信息: - 意外错误:null JMeter.plugins.functional.samplers.websocket.ServiceSocket.sendMessage(ServiceSocket.java:131) JMeter.plugins.functional .samplers.websocket.WebSocketSampler.sample(WebSocketSampler.java:102) 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)
      • 我怀疑存在连接问题(不正确的主机名)或竞争条件。在任何一种情况下,问题现在都应该得到解决,并且附加消息应该更清楚地说明问题。我将很快在 GitHub 上发布更新 采样器在结果树中打开时会显示诊断消息。
      【解决方案3】:

      这是另一个(相当新的)JMeter WebSocket 插件: https://bitbucket.org/pjtr/jmeter-websocket-samplers.

      查看当前功能的自述文件;它仍在积极开发中。

      【讨论】:

        【解决方案4】:

        我不能评论以前的帖子。但是这个插件在运行大量线程时存在一个并发问题。我收到了这个错误:

        [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)
        

        所以我只替换了ServiceSocket.java中的一行:

        protected Deque<String> responeBacklog = new LinkedList<String>();
        

        用这一行:

        Queue<String> responeBacklog = new ConcurrentLinkedQueue<String>();
        

        它解决了我的问题:)

        【讨论】:

        • 那个文件在哪里?
        【解决方案5】:

        如果您是 Jmeter 新手,则无需花费大量时间学习 Jmeter UI 和功能来进行 websocket 负载测试。我们现在有一个专门的工具来对 websocket 进行负载测试。它被命名为Thor

        感谢开发人员使其变得简单、轻量和开源。

        【讨论】:

        • Thor 出现关闭 websocket 连接的问题,无法保持空闲状态。负载测试很难实现。
        猜你喜欢
        • 2023-04-07
        • 1970-01-01
        • 2018-02-21
        • 2015-03-21
        • 1970-01-01
        • 2021-12-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多