Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 垃圾收集时JMeter在响应时间上的行为_Java_Performance_Jmeter_Garbage Collection - Fatal编程技术网

Java 垃圾收集时JMeter在响应时间上的行为

Java 垃圾收集时JMeter在响应时间上的行为,java,performance,jmeter,garbage-collection,Java,Performance,Jmeter,Garbage Collection,我目前正试图了解JMeter的垃圾收集是如何影响报告的响应时间的 我可以用下图来表示我的想法 从JMeter到example.org-->JMeter的HTTP请求在响应-->GC结束-->接收example.org的响应之前执行GC JMeter如何处理这个问题?GC时间是否添加到响应时间中?收到响应后,是否将GC时间减去响应时间 如果添加GC时间,则意味着频繁出现但暂停时间较短的G1GC算法将影响90%的响应时间。但ConcurrentMarkSweep将进行更少但更长的暂停,而不会真正影响

我目前正试图了解JMeter的垃圾收集是如何影响报告的响应时间的

我可以用下图来表示我的想法

从JMeter到example.org-->JMeter的HTTP请求在响应-->GC结束-->接收example.org的响应之前执行GC

JMeter如何处理这个问题?GC时间是否添加到响应时间中?收到响应后,是否将GC时间减去响应时间

如果添加GC时间,则意味着频繁出现但暂停时间较短的G1GC算法将影响90%的响应时间。但ConcurrentMarkSweep将进行更少但更长的暂停,而不会真正影响90%的人(这对我来说更容易接受)

非常感谢 保重

罗马币

根据

运行时间。JMeter测量从发送请求前到接收到最后一个响应后的运行时间

因此,如果在JVM卡住时发生主要GC,JMeter将不会收到响应,因此GC中花费的时间将被添加到总运行时间中

你可以看看这篇文章,其中一个人的吞吐量出现了峰值,比如:

在切换到网络后,他得到了以下结果:

因此,请确保:

  • 遵循文章中的建议
  • 使用JMeter监控堆使用情况,即JMeter应该消耗可用堆大小的30%到80%,这样垃圾收集的数量应该更少
  • 如果你不能产生一个稳定的负载模式,这意味着单一的负载发生器是不够的,你将不得不去