我们的 Windows 2008 文件服务器会间歇性离线。当它停机时,Windows 2003 Web 服务器会堆积待处理的文件操作请求。
我使用 ColdFusion 进行了一些测试,我注意到,如果您在已知已关闭或不存在的服务器上请求文件,则初始请求需要 15 秒才能超时。 后续请求在接下来的 10 秒左右内很快失败。 然后又有 15 秒超时,并且重复该模式。
我想要配置对不存在的服务器发出请求的最大时间(15 秒),以及服务器宕机事实的缓存时间(10 秒)。
这是可以在 Windows 客户端上调整的东西吗?
编辑:我从 Wireshark 中捕获了显示 Netbios 命名服务数据包的内容:
No. Time Source Destination Protocol Info
90 2.184614 172.27.8.7 172.27.8.255 NBNS Name query NB CHASE-IE<20>
97 2.920946 172.27.8.7 172.27.8.255 NBNS Name query NB CHASE-IE<20>
106 3.671325 172.27.8.7 172.27.8.255 NBNS Name query NB CHASE-IE<20>
136 12.936379 172.27.8.7 10.0.2.15 NBNS Name query NBSTAT *<00><00><00><00><00><00><00><00><00><00><00><00><00><00><00>
140 14.436181 172.27.8.7 10.0.2.15 NBNS Name query NBSTAT *<00><00><00><00><00><00><00><00><00><00><00><00><00><00><00>
142 15.936134 172.27.8.7 10.0.2.15 NBNS Name query NBSTAT *<00><00><00><00><00><00><00><00><00><00><00><00><00><00><00>
您可以看到初始请求花费了 15 秒。它似乎向整个子网 (172.27.8.255) 发送了 UDP 广播。它没有得到答复,然后以某种方式获取了正确的 IP (10.0.2.15),可能是通过 DNS。然后它花了几秒钟时间超时到该服务器(它处于离线状态)。
答案1
超时可能来自不同的来源。首先你应该使用类似TCP查看器确定哪个端口浪费了最多的时间。
答案2
通过将服务器放入 lmhosts,我能够将初始等待时间从 15 秒减少到 2 秒。
- 编辑 c:\windows\system32\drivers\etc\lmhosts(不是 .sam,示例文件)
- 添加行“10.0.2.15 chase-ie #PRE”
- 运行“nbtstat -R”重新加载 Netbios 命名缓存
- 运行“nbtstat -r”检查名称是否被缓存