【问题标题】:Socket Exception while running load test with Self Provisioned test rig使用自配置测试台运行负载测试时出现套接字异常
【发布时间】:2017-11-09 12:37:22
【问题描述】:

我在自配置测试台上运行负载测试时遇到了 Socket 异常。

我正在从本地机器触发代理机器(自配置测试台)中的负载测试。

注意:前 2 到 3 分钟的测试迭代通过了,之后我们得到了 Socket 异常。

以下是错误信息:

连接尝试失败,因为连接方没有 一段时间后正确响应,或建立连接 失败,因为连接的主机没有响应。

以下是堆栈跟踪详细信息:

在 System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult) 在 System.Net.ServicePoint.ConnectSocketInternal(布尔连接失败, Socket s4, Socket s6, Socket&socket, IPAddress&地址, ConnectSocketState 状态、IAsyncResult asyncResult、Exception& 例外)

运行时间 - 20 分钟
采样率 - 10 秒
预热时间 10 秒
使用的代理数量 - 2
加载模式:
初始加载 - 10 个用户
最大用户数 - 300
步长 - 10 秒
步用户数 - 10

虽然,通过更改上述值,我仍然以同样的方式得到异常。

我正在使用 Visual Studio 2015 企业版。

【问题讨论】:

  • 您需要为任何人提供更多信息才能提供答案。请edit 问题显示用户数量、负载模式、通过的测试数量以及套接字失败前一段时间内任何失败的详细信息。添加您认为可能相关的任何其他详细信息。
  • 我添加了更多细节。如果需要,请询问更多详细信息。如果您能以任何方式提供帮助,那就太好了。

标签: visual-studio azure performance-testing load-testing webtest


【解决方案1】:

问题说明:从 10 个用户开始,每 10 秒添加 10 个用户,最多 300 个用户。因此,在 29 个增量之后将有 300 个用户,这将花费 29*10 秒,即 4 分 50 秒。因此,测试将(尝试)在剩余的 15 分 10 秒内以 300 个用户的最大负载运行。

鉴于前 2 或 3 分钟内所有测试均通过,加上错误消息,这表明您正在使网络的某些部分超载。它可能是代理,可能是服务器,也可能是它们之间的连接。某些网络组件具有最大活动连接数,而 300 个用户可能太多了。

如此迅速地增加负载意味着您​​不清楚极限值是多少。采样率(10 秒)似乎很高。在每个采样间隔都会传输大量数据(即样本数据),这可能会淹没部分网络。您应该查看代理和控制器的网络计数器,以及服务器(如果可用)。

我建议将负载测试步骤更改为每 30 秒添加 10 个用户,这样大约需要 15 分钟才能达到 300 个用户。将采样率降低到每 20 秒可能也是值得的。

【讨论】:

  • 嗨阿德里安。我尝试了你所说的,仍然得到相同的结果。我还尝试将最大用户数减少到 20,但仍然得到相同的异常。
  • “相同的结果”是什么意思? 2或3分钟后它仍然失败吗?它是否会在很久以后失败,如果是,请描述何时。正如我在第一条评论中所写,您需要编辑问题以提供更多详细信息。
  • 嗨,阿德里安,感谢您的帮助。是的,2-3 分钟后仍然失败。即使在减少用户数量、最大用户数和/或步骤持续时间之后,我也会同时收到套接字异常(执行 2-3 分钟后)。改变步进负载模式后的结果没有任何改善。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-17
  • 1970-01-01
  • 2013-12-26
  • 2016-04-11
  • 1970-01-01
相关资源
最近更新 更多