gpt4 book ai didi

java - 并行下载嵌入式资源导致 JMeter 测试连接超时

转载 作者:行者123 更新时间:2023-11-28 21:21:27 25 4
gpt4 key购买 nike

我有一个 JMeter 测试设置,可以在 20 个页面上运行 250 个并发用户,并具有 100 到 5000 毫秒的统一随机延迟。这些页面浏览会运行一定数量的循环。

当我在没有检索所有嵌入式资源或并行下载设置为 1 的情况下运行时,测试运行良好并且一切都很快。当我将并行下载设置为更高的数字(例如 6)以进行浏览器仿真时,我最终开始在我的套接字上进行连接重置。

我可以通过 tcp 转储在我的网络上看到一些 TCP 重置数据包,但我不确定它们是来自 JMeter 还是网络中的某个地方。

什么会导致网络拒绝来自 JMeter 的并行连接?在应用服务器中,我们一次只能看到几个连接。 JMeter 是否为那些与 HTTP 套接字相关的并行连接做了任何特殊的事情?

我们尝试了 HTTP4 和 Java 连接类型,但无法弄清楚为什么并行下载会导致问题。

我们得到的错误是这个错误加上一些连接重置错误:

Thread Name: Thread Group 1-10
Sample Start: 2018-06-14 11:45:47 CEST
Load time: 1956
Connect Time: 1956
Latency: 0
Size in bytes: 2497
Sent bytes:0
Headers size in bytes: 0
Body size in bytes: 2497
Sample Count: 1
Error Count: 1
Data type ("text"|"bin"|""): text
Response code: Non HTTP response code: java.net.SocketException
Response message: Non HTTP response message: Socket closed

最佳答案

  1. 您可能需要检查您的底层操作系统是否允许 1500 多个并发连接,因为它可能限制在不超过 1024 个。
  2. 如果您完全确定您的应用程序按预期工作并且问题出在其他地方,您可以尝试 Connection Reset since JMeter 2.10 ? 中的解决方法文章。
  3. 请注意,真正的浏览器确实会下载嵌入式资源并为此使用并行线程池,但它们只会执行一次,在后续请求中,这些嵌入式资源会从浏览器的缓存中返回。因此,如果您的目标是检查您的系统是否可以支持 250 个真实 用户 - 您需要添加 HTTP Cache Manager到您的测试计划。

关于java - 并行下载嵌入式资源导致 JMeter 测试连接超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50930202/

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