问题
从托管在 Windows 2008 Server 上的 WCF 服务调用 ISP 托管的 asp web 服务时显示 web 服务超时/无响应。
诊断
使用 Windows 网络监视器捕获数据包并隔离发送到 Web 服务的数据包,我可以看到:
TLS 握手你好
TCP 传输
TCP 重传
TCP 重传
TCP 重传
TCP 重传
TCP 重传
TCP 协商比例因子
不支持 TCP 比例因子
这似乎表明 TCP 负载没有响应,这意味着 IP 被阻止。
解决方案
在联系网络服务提供商后,他们表示没有设置 IP 阻止,并且该问题特定于 Microsoft Windows 2008 Server、动态 TCP 帧大小及其特定的负载平衡器。
经过进一步研究,我相信以下问题将会得到解决。
要查看 autoTuningLevel 参数的当前配置,请按照以下步骤操作:
单击“开始”
单击“所有程序”,然后单击“附件”。
右键单击“命令提示符”,然后单击“以管理员身份运行”。
如果系统提示您输入管理员密码或确认,请输入密码,或单击“继续”。
在命令提示符下,键入以下命令,然后按 ENTER:netsh interface tcp show global
autoTuningLevel 参数的值被列为接收窗口自动调节级别。
我们希望将其设置为正常
在命令提示符下,键入以下命令,然后按 ENTER:netsh interface tcp set global autotuninglevel=disabled
以下列表包括 autoTuningLevel 参数的所有可能值:
/disabled:将接收窗口设置为默认值。
/highlyrestricted:让接收窗口超出默认值,但是非常保守。
/restricted:允许接收窗口超出默认值,但在某些情况下限制这种增长。
/normal:让接收窗口增大以适应大多数情况。
/experimental:让接收窗口增大以适应极端情况。
注意:实验值可能会降低常见场景下的性能。此值仅应用于研究目的。
问题
只是从独立来源寻找有关此问题的更多信息。
希望 MS 能在某些时候对其进行修补。
谢谢你,斯科特