gpt4 book ai didi

java - jmeter 响应时间和我在日志文件中看到的之间的差异

转载 作者:行者123 更新时间:2023-11-30 08:56:37 25 4
gpt4 key购买 nike

我搜索了堆栈溢出,但没有找到任何接近我需要的东西,所以如果重复,请告诉我,我会删除这篇文章。

我有一个网络应用程序,它是一个单一的 REST 服务,并且只执行一个Thread.sleep(10000)。如果该方法只 hibernate 10 秒,那么我所有请求的平均响应时间应该为 10-11 秒,对吧?

为了在 JMeter 上对其进行测试,通常我使用 200 个线程和 5 秒的加速时间。测试开始时,我的平均响应时间保持在 10 秒,但在 100 个请求后,它开始增加,直到 35-42 秒。

我非常担心我的实现,所以我在我的方法的第一行添加了一个日期并打印一个日志以显示它何时开始和何时结束。所有日志信息显示请求时长为10秒。

public Response go(@MultipartForm FileUploadForm form){
Date start = new Date();
try {
Thread.sleep(10000);
logger.info("Time " + sdf.format(start) + " - " + sdf.format(new Date()));
} catch (Exception e){
logger.error("Error:", e);
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build();
}
return Response.ok("OK").build();
}

我想知道为什么 Jmeter 会增加响应时间,而我的日志会显示我期望的时间。可能是 Jmeter 出了问题,或者我真的需要担心我的服务?

提前致谢。


测试计划

Thread Group

HTTP Request

BeanShell PreProcessor

BeanShell PostProcessor

最佳答案

您的问题如下:

  • 您正在使用 GUI 模式
  • 你有一个 View Results Tree 监听器

因此发生的是 View Results Tree Listener 保存每个样本的结果并且使用的内存不断增长导致越来越多的垃圾收集然后 OOM。

你绝对应该阅读这个:

快速修复:

  • 使用非 GUI
  • 仅使用 View Results Tree 输出错误或将其删除

关于java - jmeter 响应时间和我在日志文件中看到的之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28525653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com