使用自行设置的测试设备运行负载测试时出现套接字异常



在自行配置的测试设备上运行负载测试时,我收到了套接字异常。

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

注意:在最初的2到3分钟内,测试迭代正在通过,之后我们将得到Socket异常。

以下是错误消息:

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

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

位于的System.Net.Socket.Socket.EndConnect(IAsyncResult-asyncResult)System.Net.ServicePoint.ConnectSocketInternal(布尔连接失败,插座s4、插座s6、插座&套接字,IPAddress&住址ConnectSocketState状态,IAsyncResult异步结果,异常&例外)

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

尽管如此,通过改变上述值,我仍然以同样的方式获得了异常。

我使用的是Visual studio 2015企业版。

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

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

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

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

最新更新