为啥线程从 jmeter 测试中掉线?
Posted
技术标签:
【中文标题】为啥线程从 jmeter 测试中掉线?【英文标题】:Why threads are dropped off from jmeter test?为什么线程从 jmeter 测试中掉线? 【发布时间】:2021-10-03 17:27:46 【问题描述】:有一个 jmeter 测试集运行 8 小时,有 10 个线程组,每个线程组具有不同的线程数,还为每个线程组使用具有不同 TPS 速率的吞吐量整形计时器;在某个随机时间后(大部分时间在 6 小时后),其中一个线程组终止了活动线程,我尝试了不同的配置以及吞吐量整形计时器,例如使用并发线程组和循环控制器,但结果是相同的;这是我在日志中看到的:
2021-07-27 16:50:30,005 INFO o.a.j.r.Summariser: summary = 1142797 in 02:16:50 = 139.2/s Avg: 40 Min: 12 Max: 3621 Err: 3 (0.00%)
2021-07-27 16:51:00,001 INFO o.a.j.r.Summariser: summary + 4158 in 00:00:30 = 138.6/s Avg: 39 Min: 13 Max: 228 Err: 0 (0.00%) Active: 312 Started: 312 Finished: 0
2021-07-27 16:51:00,002 INFO o.a.j.r.Summariser: summary = 1146955 in 02:17:20 = 139.2/s Avg: 40 Min: 12 Max: 3621 Err: 3 (0.00%)
2021-07-27 16:51:30,006 INFO o.a.j.r.Summariser: summary + 4202 in 00:00:30 = 140.0/s Avg: 39 Min: 13 Max: 214 Err: 0 (0.00%) Active: 312 Started: 312 Finished: 0
2021-07-27 16:51:30,007 INFO o.a.j.r.Summariser: summary = 1151157 in 02:17:50 = 139.2/s Avg: 40 Min: 12 Max: 3621 Err: 3 (0.00%)
2021-07-27 16:52:00,003 INFO o.a.j.r.Summariser: summary + 4181 in 00:00:30 = 139.4/s Avg: 40 Min: 13 Max: 209 Err: 0 (0.00%) Active: 312 Started: 312 Finished: 0
2021-07-27 16:52:00,003 INFO o.a.j.r.Summariser: summary = 1155338 in 02:18:20 = 139.2/s Avg: 40 Min: 12 Max: 3621 Err: 3 (0.00%)
2021-07-27 16:52:13,010 INFO k.a.j.t.VariableThroughputTimer: No further RPS schedule, asking threads to stop...
2021-07-27 16:52:13,011 INFO k.a.j.t.VariableThroughputTimer: Stopping gracefuly threads of Thread Group : 05_GET_GetEligibleRewards_GeoAtts
感谢任何解决此问题的帮助。
【问题讨论】:
【参考方案1】:VariableThroughputTimer:没有进一步的 RPS 计划,要求线程停止...
此行表示您正在使用 Throughput Shaping Timer 并且其“持续时间”已超出:
无论您在Thread Group 或derivative 中设置什么,您的测试都将在吞吐量整形计时器结束时结束,因此请确保将吞吐量整形计时器中的“持续时间”设置为等于所需的测试持续时间
【讨论】:
感谢您的回复;我有一个名为“duration”的变量以及其他用于场景配置的变量,我在 Trhead Group 持续时间和吞吐量整形计时器中使用相同的变量,在最后一个中我将它作为属性传递,因为它不能作为“正常”变量传递,测试期间下降的线程并不总是来自同一个线程组,而且它发生在不同的经过时间,有点令人沮丧。以上是关于为啥线程从 jmeter 测试中掉线?的主要内容,如果未能解决你的问题,请参考以下文章