Jmeter Master非常缓慢地完成(3分钟保持,然后是5分钟???)



我在jmeter测试结束时遇到了一些怪异的行为。

我正在使用主奴隶,其中4个从另一个盒子上托管的4个单独的VM上运行的奴隶。

测试在"持有"期间运行良好,此测试为3分钟。但是随后它只是坐在那里约5分钟,偶尔会报告少数响应,即使所有线程都"完成"。

./jmeter.sh -n -t /root/wordpress32sites_url2.jmx -l csvfilename -e -o htmlfoldername -R jmeter01,jmeter02,jmeter03,jmeter04
Creating summariser <summary>
Created the tree successfully using /root/wordpress32sites_url2.jmx
Configuring remote engine: jmeter01
Configuring remote engine: jmeter02
Configuring remote engine: jmeter03
Configuring remote engine: jmeter04
Starting remote engines
Starting the test @ Fri Mar 01 17:25:07 PST 2019 (1551489907760)
Remote engines have been started
Waiting for possible Shutdown/StopTestNow/Heapdump message on port 4445
summary +  12305 in 00:00:18 =  695.3/s Avg:    85 Min:    23 Max:   560 Err:     0 (0.00%) Active: 320 Started: 288 Finished: 0
summary +  49400 in 00:00:30 = 1648.4/s Avg:   322 Min:    26 Max:  7698 Err:     0 (0.00%) Active: 640 Started: 608 Finished: 0
summary =  61705 in 00:00:48 = 1294.5/s Avg:   275 Min:    23 Max:  7698 Err:     0 (0.00%)
summary +  48300 in 00:00:30 = 1607.5/s Avg:   402 Min:    28 Max: 10509 Err:     0 (0.00%) Active: 640 Started: 608 Finished: 0
summary = 110005 in 00:01:18 = 1415.5/s Avg:   331 Min:    23 Max: 10509 Err:     0 (0.00%)
summary +  48200 in 00:00:30 = 1603.1/s Avg:   404 Min:    32 Max:  9567 Err:     0 (0.00%) Active: 640 Started: 608 Finished: 0
summary = 158205 in 00:01:48 = 1467.9/s Avg:   353 Min:    23 Max: 10509 Err:     0 (0.00%)
summary +  47100 in 00:00:30 = 1574.4/s Avg:   415 Min:    33 Max: 10351 Err:     0 (0.00%) Active: 640 Started: 608 Finished: 0
summary = 205305 in 00:02:18 = 1491.0/s Avg:   367 Min:    23 Max: 10509 Err:     0 (0.00%)
summary +  48400 in 00:00:30 = 1615.0/s Avg:   403 Min:    33 Max: 10830 Err:     0 (0.00%) Active: 640 Started: 608 Finished: 0
summary = 253705 in 00:02:48 = 1513.2/s Avg:   374 Min:    23 Max: 10830 Err:     0 (0.00%)
summary +  46500 in 00:00:30 = 1546.4/s Avg:   412 Min:    32 Max: 10453 Err:     0 (0.00%) Active: 324 Started: 608 Finished: 316
summary = 300205 in 00:03:18 = 1518.2/s Avg:   380 Min:    23 Max: 10830 Err:     0 (0.00%)
summary +   3717 in 00:05:01 =   12.3/s Avg:   384 Min:    29 Max:  8782 Err:     0 (0.00%) Active: 0 Started: 608 Finished: 640
summary = 303922 in 00:08:19 =  608.8/s Avg:   380 Min:    23 Max: 10830 Err:     0 (0.00%)
summary +     87 in 00:00:00 = 7909.1/s Avg:   473 Min:    36 Max:  5197 Err:     0 (0.00%) Active: 0 Started: 608 Finished: 640
summary = 304009 in 00:08:19 =  608.9/s Avg:   380 Min:    23 Max: 10830 Err:     0 (0.00%)
Tidying up remote @ Fri Mar 01 17:33:31 PST 2019 (1551490411593)
... end of run
Creating summariser <summary>

jmeter奴隶没有任何关注:

./jmeter-server
Created remote object: UnicastServerRef2 [liveRef: [endpoint:[10.1.1.28:21458,SSLRMIServerSocketFactory(host=jmeter09.ovirt.pb.lab/10.1.1.28, keyStoreLocation=rmi_keystore.jks, type=JKS, trustStoreLocation=rmi_keystore.jks, type=JKS, alias=rmi),SSLRMIClientSocketFactory(keyStoreLocation=rmi_keystore.jks, type=JKS, trustStoreLocation=rmi_keystore.jks, type=JKS, alias=rmi)](local),objID:[-5880d2c8:169394dd3fb:-7fff, -3132663786122032135]]]
Starting the test on host jmeter09 @ Fri Mar 01 12:54:27 UTC 2019 (1551444867945)
Finished the test on host jmeter09 @ Fri Mar 01 13:02:52 UTC 2019 (1551445372516)

如果我在最后5分钟(实际3.5分钟之后它已经运行)之前,奴隶在主人上打断了测试,则在我可以再次使用它们之前。

这是我在JMX文件中提到的详细信息:

        <stringProp name="TargetLevel">5</stringProp>
        <stringProp name="RampUp">0.5</stringProp>
        <stringProp name="Steps">1</stringProp>
        <stringProp name="Hold">3</stringProp>

我认为这是一个无关的说明,但是:除上述测试外,尽管它报告了我的"主动"线程更加"启动",但该测试的运行良好 - 它似乎并没有实际影响测试,并且似乎在斜坡时间发生了变化(下面是0.5)。0坡道时间仅在320次开始,1个斜坡显示全部开始。

首先,请确保所有节点(客户端和服务器):

  1. 正在运行与Jmeter完全相同的版本。
  2. 在所有系统上使用相同版本的Java。使用不同版本的Java可能会起作用,但灰心。

第二,检查采样器发件人属性:

测试计划中的侦听器将结果发送给客户端Jmeter,该结果将结果写入指定文件,默认情况下,示例在生成时会同步发送。 这可能会影响服务器测试的最大吞吐量;在线程继续之前,必须将样本结果发送回。可以设置一些Jmeter属性来改变此行为。

默认示例发送模式(自2.9)为 StrippedBatch - 从成功的示例中删除响应data,然后使用Batch发送者发送它们。
当计数(num_sample_threshold)或时间(time_threshold)超过阈值时,Batch发送者发送保存的样品,此时样品是同步发送的。

可以使用以下属性在服务器上配置阈值:

  • num_sample_threshold - 累积样本数,默认100。
  • time_threshold - 时间阈值,默认为60000 ms = 60秒。

因此,检查此属性的值。

缩放测试的其他方法 - 在云服务中运行Jmeter测试。

相关内容

最新更新