JMeter大师很慢完成(持续3分钟,然后是5分钟???)

问题描述 投票:2回答:1

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

我正在使用Master-Slave,在另一个盒子上托管的4个独立虚拟机上运行4个从属服务器。

测试在“保持”期间运行正常,此测试为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)

如果我中断了Master上的测试,那么奴隶们会在最后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>

我认为这是一个不相关的注意事项但是:除了上述情况之外,测试运行完全正常虽然它报告我有更多“活动”线程然后“开始” - 它似乎没有真正影响测试并且似乎被改变通过RampUp时间(低于0.5)。 0 RampUp时间仅导致320启动,RampUp为1表示全部启动。

jmeter jmeter-5.0
1个回答
0
投票

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

  1. 正在运行完全相同的JMeter版本。
  2. 在所有系统上使用相同版本的Java。使用不同版本的Java可能有效,但不鼓励使用。

其次,检查sampler sender properties

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

默认样本发送模式(自2.9起)是StrippedBatch - 从成功样本中删除responseData,并使用Batch发送者发送它们。 当计数(Batch)或时间(num_sample_threshold)超过阈值时,time_threshold发送器发送已保存的样本,此时样本将同步发送。

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

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

所以,检查一下这个属性的值。

其他扩展测试的方法 - 到run JMeter tests in a cloud service

© www.soinside.com 2019 - 2024. All rights reserved.