建议用于商业JMeter项目的Java堆大小

3phpmpom  于 2022-12-04  发布在  Java
关注(0)|答案(1)|浏览(152)

根据自动化工作流的性质和任何给定时间的活动线程的数量,JMeter的堆大小要求可能会有所不同,在我正在做的测试中,关于堆大小对测试结果的影响存在一些模糊性。初始堆大小和托管JMeter的服务器的最大堆大小显示在所附的屏幕截图中。
1.在对大量当前用户(例如:100)执行测试时,内置的JMeter报告不会呈现,但是可以在CSV输出中看到结果。增加堆大小是否可以解决此问题?如果可以,我们应该将堆大小增加多少?请注意,此问题不会发生在用户数量较少的情况下,例如10或15。
1.对于使用JMeter进行商业性能测试的服务器,

堆大小和其他系统变量的建议工业标准值是多少?

ogsagwnx

ogsagwnx1#

没有“推荐性行业标准”。
每个测试都是独立的,您需要适当地调整JMeter。
JMeter 5.5开始,默认堆大小为1GB,这对于测试开发和调试来说是足够的,但对于您尝试执行的负载来说可能是不够的。
根据这篇文章:
“如果Java堆的占用率太高,则垃圾收集频繁发生。如果占用率低,则垃圾收集不频繁但持续更长时间......尝试将Java堆的内存占用率保持在Java堆大小的40%到70%之间...... Java堆的最高占用点优选地不超过最大堆大小的70%,并且平均占用率在40%到70%之间。如果占用率超过70%,则调整Java堆的大小。”
因此,我建议使用JVisualVM或等效方法检查堆的情况,并根据需要向上或向下调整。
如果您的测试运行良好,并且仅在 Jmeter 板生成过程中遇到OOM问题,则可以通过设置相关的HEAP environment variable值来临时增加该值。

相关问题