2013-12-09 175 views
4

我们正在进行使用VSTS 2010为特定应用负载测试,我们观察了很多插座异常与错误:套接字异常

Exception SocketException A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond ..*.:443.

随着堆栈跟踪:

at System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult) at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception)

我们有2台代理机器,通过它们进行负载测试。我们无法弄清楚它在代理机器或网络问题上的问题。

+0

这是否只在负载下发生? – Jodrell

+0

检查应用程序池'queueLength'限制是否存在问题,[这里是教程](http://technet.microsoft.com/en-us/library/dd441171(v = office.13).aspx) –

+0

@ Jordell ...是的,它只发生在加载 – user3082731

回答

0

在重负载下,套接字的客户端和服务器端都可能很容易超时,因为没有足够的CPU(或网络)可用于处理数据包。从客户端不可能知道它是客户端问题还是服务器端问题,因为它们在指定的时间内都表现为缺乏响应。您必须有足够的CPU和线程才能及时发送所有请求和处理响应。在负载测试的情况下,你可能会推动它更难和更难,直到失败,并且你希望服务器端是失败的(否则你只是发现你的负载测试仪的限制而不是服务器代码) 。为了做到这一点,您需要密切监视负载测试(客户端)端,以确保它没有用完CPU(或线程或网络带宽)。

0

这是一个IP地址问题,它不会持续维护您的IP地址。因此,我认为最好使用Application Insights来解决此问题。

+0

我不明白你的内容是如何回答问题。如果有的话,这将是一个平庸的评论,但它远不是一个**答案**。 – GhostCat