首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >影响吞吐量计时的JMeter垃圾收集

影响吞吐量计时的JMeter垃圾收集
EN

Stack Overflow用户
提问于 2021-11-02 12:23:42
回答 1查看 78关注 0票数 0

我目前正在尝试了解JMeter的垃圾收集如何影响响应时间。根据我的参考资料,我发现花在GC上的时间会被加到整个运行时间中。在我的例子中,我必须减少或删除GC所需的时间。更可取的是较短的GC停顿。同时也在寻找我的问题。我看过这篇https://howtojboss.wordpress.com/2012/07/31/concurrent-high-throughput-performance-testing-with-jmeter/的文章,他们说解决方案是使用并发标记清除(CMS)收集器。

代码语言:javascript
复制
GC="-XX:+UseConcMarkSweepGC"

但这对我的情况不起作用。在使用所有类型的垃圾收集器,如串行、并行、G1GC、ZGC和Shenandoah GC之后,我得到了相同的运行时间。我已经在JMeter文件的行上尝试了这些修改

代码语言:javascript
复制
set GC_ALGO = -XX:+UseG1GC -XX:MaxGCPauseMillis=100 -XX:G1 ReservePercent=20

但无论我使用哪种类型的GC,我都会同时在我的图表中获得峰值。例如,如果我用50k的记录测试,在3/4 (接近33k)处获得峰值,同样地,对于5k的记录,峰值恰好接近3.3k。我在这里附上了示例图表:please look at the example Graph。如果还有其他办法,请告诉我。

我使用的是JMeter版本5.4.1,我的系统堆大小是

代码语言:javascript
复制
Heap = -Xms8g -Xmx12g -XX:MaxMetaspaceSize=4g

如果图中的时间峰值不是由于垃圾收集活动引起的。那么,在特定时间间隔出现这些时间峰值的原因可能是什么?请让我知道是否有任何其他原因,这些时间峰值。

EN

回答 1

Stack Overflow用户

发布于 2021-11-02 13:02:07

我不认为响应时间峰值与垃圾收集有关,当JVM正在执行完整的GC时,由于暂停,吞吐量可能会下降,但响应时间不应该改变。

尝试使用JConsoleJVisualVMJMeter PerfMon Plugin监视JMeter的GC活动,并注意其他指标,如CPU、内存、交换使用率等,并将响应时间峰值与JMeter负载生成器发生的事情关联起来。

如果你不会看到任何可疑的东西--在被测试的系统端重复这个练习。

还要确保遵循JMeter Best Practices,并尝试在distributed mode中运行JMeter

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69810392

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档