如何使用jmeter测量websocket发送方和接收方之间的传输时间

如何使用jmeter测量websocket发送方和接收方之间的传输时间,websocket,jmeter,Websocket,Jmeter,我在WebSocket上实现了一个中继服务器。发送方将向服务器发送许多小的二进制消息,然后将它们转发到所有连接的客户端 我感兴趣的是发送者发送消息和读者接收消息之间的时间。现在,我已经设置了测试计划,其中一个线程组有25个接收者,另一个线程组有1个发送者,他们可以分别接收和发送消息 聚合报告将发送消息和读取消息视为两个不同的标签。我应该如何配置测试计划以记录所需的时间 p、 我正在使用这个jmeter WebSocket采样器插件 提前谢谢 聚合报告正在考虑发送消息和读取消息 作为两个不同的标

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

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

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

p、 我正在使用这个jmeter WebSocket采样器插件

提前谢谢

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

当然是这样,因为根据您的说法,有两个独立的线程组

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

1) 编写原始的采样器结果(简单的编写器、聚合报告和摘要报告能够做到这一点),然后使用外部工具(例如,表格处理器、Excel或类似工具)来处理它们,进行简单的计算并显示所需的时间

或者将结果简化为timeseries DB(例如inflow),并从中继续-比如,进行数学运算和/或可视化(比如,使用Grafana)

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

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


因此,我个人更喜欢被动的度量读数和对其进行后期计算(如果您愿意,也可以使用BackendListener+Inflow+Grafana bundle或类似工具将其变成“实时的”)

对于第一种方法,这是否意味着我必须使用原始TCP采样器来发送WebSocket消息,然后会有更多的原始数据可用,我可以做我的后期计算?取决于你,我相信这有点像采样器类型的不可知论-这更多的是关于tymesyncing的整体方法。至于写入什么样的数据,这通常不是特定于采样器的:所有采样器都会生成带有特定参数的标准化输出,因此监听器总是要写入几乎相同的内容。您可以进行配置,请参阅本节: