从分布式测试生成图表似乎为一个客户端/从服务器提供结果

时间:2015-10-28 15:17:11

标签: jmeter jmeter-plugins

我使用5个JMeter客户端(从属服务器)运行分布式测试。每个客户端设置为运行50个用户。在测试结束时,我从生成的JTL和SynthesisReport生成一系列图形。 SynthesisReport详细说明了每个请求的250个样本,正如您所期望的那样,TimeVsThreads和ThreadsStateOverTime达到50个用户的峰值,就像它们只显示其中一个客户端的结果一样。

我已经确认每个客户端的jmeter.properties文件与我怀疑的相同,这可能是每个客户端结果文件配置和saveservice设置的问题。

我无法想象这是设计的,有没有人经历过类似的事情,如果是这样,它是如何解决的?

3 个答案:

答案 0 :(得分:1)

根据文件:

使用每个生成器的唯一ID命名线程组(hostname或传递给注入器的属性,如果每个主机有多个注入器,则使用函数__P)工作得很好。

答案 1 :(得分:0)

这对于Jmeter分布式测试来说是正常的。

发生这种情况的原因是每个负载生成器分别启动用户线程1-50,因此当cmdrunner运行时,它会看到来自每个用户线程1的1个响应(总共5个),但无法区分它们。

如果您使用的是自定义报告工具(包装cmdrunner),则可以将您的峰值用户乘以负载生成器,以在报告顶部显示更准确的数字。但只要您调用cmdrunner,就无法在图表上看到实际的用户数。

答案 2 :(得分:0)

这是JMeter的正常行为。 5个客户端将运行每50个线程 打开JMeter并在所有远程主机上运行,​​并检查活动线程,每个线程将运行50个线程。