.Net Web服务请求如何在IIS连接池中分发?

时间:2013-07-18 08:54:30

标签: .net http iis connection-pooling

我们在Win 2003服务器.Net 4.0和IIS 6.0上运行一个网站。此网站向其他几个服务器发出许多Web服务请求。我们在这些请求上遇到超时问题。

通过在服务器的转储上使用调试诊断工具,我们已确认请求似乎正在等待连接 - 而不是另一端响应:

  

XXXXXXXX-app-pool中的以下主题正在尝试创建   HttpWebRequest,但他们似乎在等待   远程服务器响应(例如,不在线上)。其中一个或多个   请求超过了其最大可用连接数。*

     

HttpRequest URI:http://certainserver.somwhere.com/certainwebservice.asmx   ServicePoint - ConnectionLimit:24 CurrentConnections:24

足够公平。那么连接池实际上是如何工作的呢?为什么我们现在遇到这个问题?代码库基本没有变化 - 服务器基础架构发生变化 - 服务器数量增加。

此连接池是否与sql连接将使用的连接池相同?

什么时候选择“新”连接?

请求何时在“现有”连接中排队?他们曾经吗?

如果网站中的某个页面必须调用两个不同的Web服务来显示首页,那么将使用多少个连接?二?如果两个Web服务位于相同或不同的服务器上,这是否重要?

如果几乎​​同时有5位访问者怎么办?它会尝试使用2 x 5连接,还是会有一个连接pr“独特”的webservice?

我发现很难搜索这个,因为有很多种连接,并且大多数关于连接池问题的匹配通常都是关于sql连接 - 而不是webservice请求。

网络服务器有两个核心,最大限制为24个连接(默认设置为12个核心)。

0 个答案:

没有答案