【问题标题】:How to use jmeter to measure transmission time between websocket sender and receiver如何使用jmeter测量websocket发送者和接收者之间的传输时间
【发布时间】:2017-04-07 09:05:36
【问题描述】:

我已经在 WebSocket 之上实现了一个中继服务器。发件人将向服务器发送许多小的二进制消息,然后将它们中继到所有连接的客户端。

我感兴趣的是发件人发送消息和读者收到消息之间的时间。现在我已经设置了一个包含 25 个接收者的线程组和另一组 1 个发送者的测试计划,它们可以分别接收和发送消息。

聚合报告将发送消息和读取消息视为两个不同的标签。我应该如何配置测试计划来记录我想要的时间?

附言我正在使用这个 jmeter WebSocket 采样器插件
https://bitbucket.org/pjtr/jmeter-websocket-samplers

提前致谢。

【问题讨论】:

    标签: websocket jmeter


    【解决方案1】:

    聚合报告正在考虑发送消息和读取消息 作为两个不同的标签。

    当然可以,因为有两个独立的线程组,根据你的说法。

    您需要以某种方式同步和排序采样器结果,所以我在这里看到了两种方法:

    1) 编写原始采样器结果(简单的编写器、汇总报告和汇总报告都能够做到这一点),然后使用外部工具(例如,表格处理器、Excel 或类似工具)来处理它们,进行简单的数学运算并显示你想要的时间。

    或者使用 Backend Listener 将结果简化到时间序列数据库(例如 Influx)并从那里继续 - 比如,做数学和/或可视化(例如,使用 Grafana)

    2) 第二个选项似乎是使用InterThreadCommunication 插件将线程组彼此同步。

    但这对我来说似乎更棘手,而且,可能会影响计时读数(取决于您的操作方式),因此结果会被扭曲。

    因此,我个人更喜欢被动指标读数和对其进行后计算(如果您愿意,可以使用 BackendListener+Influx+Grafana 捆绑包或类似工具将其变成非常“实时”)

    【讨论】:

    • 对于第一种方法,是否意味着我必须使用原始 TCP 采样器来发送 WebSocket 消息,然后会有更多原始数据可用,我可以进行后期计算?
    • 由你决定,我相信它与采样器类型无关——更多的是关于时间同步的整体方法。至于写入什么样的数据——同样,这通常不是特定于采样器的:所有采样器都会产生具有特定参数的标准化输出,因此监听器总是有几乎相同的东西要写入。你可以配置它,请参考本节:jmeter.apache.org/usermanual/listeners.html#defaults
    猜你喜欢
    • 1970-01-01
    • 2013-08-13
    • 1970-01-01
    • 1970-01-01
    • 2021-04-03
    • 2023-03-03
    • 1970-01-01
    • 2012-09-06
    • 1970-01-01
    相关资源
    最近更新 更多