这是我能描述我的问题的最好方式......
我在 Windows 2008 Server 上运行一个搜索引擎抓取工具。不断访问数百万个随机域名并跟踪其链接。
经过几个小时的认真抓取后...服务器将不再响应 HTTP 请求。唯一的解决方案是重新启动服务器。
URLhttp://google.com没有响应。甚至http://本地主机/对正在运行的 WAMP 实例的请求没有响应。尽管我仍然能够以某种方式远程连接到该机器……所以互联网服务确实在运行。
我已经尝试过禁用防火墙。我也尝试过清除 DNS 缓存。唯一的解决方案是重新启动,然后 HTTP 请求就会立即生效。
在 Windows 2008 Server 上,是否有一些我可以更改的设置或可以查看这些类型错误的错误列表?
编辑:经过进一步检查,似乎我的最大可用端口数已达到上限。cports 告诉我,有 15,000 个“系统”端口(从 49,158 到 65,535 的每个端口)卡在“Fin Wait 1”状态。有什么想法吗?
也许是某种脚本通过任务调度程序定期强制删除所有 fin wait 1 连接?
答案1
听起来你已经让 IIS 严重超载了。
您是否已调整应用程序池的设置以解决如此巨大的吞吐量?
当然,您并没有说 IIS 本身是否用于发出外部 Web 请求——我希望您明白,从原则上来说,这些是彼此无关的。