【问题标题】:Socket Exceptions observed during Load Testing负载测试期间观察到的套接字异常
【发布时间】:2013-12-26 13:18:47
【问题描述】:

我们正在使用 VSTS 2010 对特定应用程序进行负载测试,并且我们观察到许多带有错误的套接字异常:

Exception SocketException 连接尝试失败,因为 关联方在一段时间后没有正确响应,或 建立连接失败,因为连接的主机未能 回复 ..*.:443.

使用堆栈跟踪:

在 System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult) 在 System.Net.ServicePoint.ConnectSocketInternal(布尔连接失败, Socket s4, Socket s6, Socket&socket, IPAddress&地址, ConnectSocketState 状态、IAsyncResult asyncResult、Int32 超时、 异常&异常)

我们有 2 台代理机器进行负载测试。我们无法确定是代理机器问题还是网络问题。

【问题讨论】:

  • 这是否只在负载下发生?
  • 检查是不是应用池有问题queueLength限制,here is a tutorial
  • @Jordell...是的,它只在负载下发生

标签: c#


【解决方案1】:

在重负载下,套接字的客户端和服务器端都可能很容易超时,因为没有足够的 CPU(或网络)可用于处理数据包。无法从客户端判断是客户端问题还是服务器端问题,因为它们在指定时间内都显示为缺乏响应。您必须在双方都有足够的 CPU 和线程来及时发送所有请求并处理响应。在负载测试的情况下,您可能会越来越努力地推动它,直到出现故障,并且您希望服务器端成为失败的那个(否则您只是发现负载测试器的限制而不是服务器代码) .为了实现这一点,您需要密切监视负载测试(客户端)端,以确保它没有耗尽 CPU(或线程或网络带宽)。

【讨论】:

    【解决方案2】:

    这是一个 IP 地址问题,它不会一直维护您的 IP 地址。所以,我认为最好使用 Application Insights 帮助来解决这个问题。

    【讨论】:

    • 我看不出您的内容是如何回答这个问题的。如果有的话,这将是一个平庸的评论,但它远不是一个答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-28
    • 2018-03-15
    相关资源
    最近更新 更多