这是我刚刚想到的一个理论问题。
通常在运行 JMeter 负载测试时,我发现默认堆设置就足够了。
有时在运行密集的 JMeter 负载测试时,JMeter 会抛出 OutOfMemory 异常,表明它需要更多堆(通常)。
我担心这两者之间的情况。如果 JMeter没有抛出 OutOfMemory,有没有办法让自己确信垃圾收集(在 JMeter 方面)不会对结果产生不利影响?每次运行 JMeter 时都必须监控 gc 日志吗?
我想这更实际的一面是;我可以比较两个单独的 JMeter 测试的输出,其中 Jmeter 使用不同的堆大小?
编辑:我注意到的一件事是,Jmeter UI 有一个图标来指示 GC 开销限制已被违反。但这来自 JVM,并在 98% 的 CPU 时间用于执行 GC 时触发,我认为我的结果在达到这一点之前很久就会出现偏差。