我们有一台 Windows 2012 Server,它使用 ASP.Net 和 .NET 4.5 通过基于 SOAP 的 Web 服务与许多其他服务进行通信。这些服务往往具有较高的延迟(即 2-6 秒才能返回)。我们认为我们存在线程问题,因为服务器上的负载将开始生成 504 网关超时。对于与高延迟基于 SOAP 的服务进行大量通信的服务器,最佳线程配置是什么?
注意:所有 SOAP 调用都是同步的,很遗憾我们无法更改这一点。无异步
这是 IIS8/Win2012 中的默认设置
<system.web>
<applicationPool maxConcurrentRequestsPerCPU="12" maxConcurrentThreadsPerCPU="0" requestQueueLimit="5000"/>
</system.web>
我读过的两篇参考文章。
http://blogs.msdn.com/b/tmarq/archive/2007/07/21/asp-net-thread-usage-on-iis-7-0-and-6-0.aspx http://fullsocrates.wordpress.com/2013/02/28/asp-net-threadstuning-thread-parameters-22/