Server 2012 R2 上的端口耗尽和 IIS 8

Server 2012 R2 上的端口耗尽和 IIS 8

我的公司有一个利用率很高的 Web 服务器,在 Server 2012 R2 上运行 IIS 8.5

在任何给定时间,IIS 都有 34,000 个连接,每秒有 200 个请求。我们的机器上还运行着一个 SFTP 服务,平均有 100 个连接用户。我们的监控系统偶尔会超时,FTP 用户无法连接。我对端口耗尽进行了大量研究,但是,我找不到任何关于 IIS 短暂端口耗尽的明确文档。

据我所知,当连接到 HTTP 服务时,响应仍然来自端口 80,FTP 服务也是如此。我们确实在同一个机器上运行连接 REST 服务的 ASP.NET 站点,我知道这些连接会使用临时端口,但我不确定它是否使用了全部 16,384 个端口。

我曾使用过网上的几个脚本来检测端口耗尽 http://blogs.technet.com/b/clinth/archive/2013/08/09/detecting-ephemeral-port-exhaustion.aspx- 脚本很少显示任何超过 2% 的临时端口使用率 http://blogs.msdn.com/b/debuggingtoolbox/archive/2010/10/11/powershell-script-troubleshooting-for-port-exhaustion-using-netstat.aspx 该脚本将显示一些等待端口的连接。

Ports Used: 35,084
Ports Waiting: 654

在等待端口的连接中,以下是来自本地计算机的连接

127.0.0.1 44 waiting of 110 total (40%)

我的问题是,服务器是否正在遭受端口耗尽的困扰?当我导出 netstat -n 并按临时端口进行过滤时,我只看到 286 个端口在使用中。Web 服务器(80 和 443)占 32,300 个连接,FTP 占 450 个。

IIS 8.5 有连接限制吗?

[编辑] 正在使用的港口,以下是按州细分的

ESTABLISHED 32,394
TIME_WAIT 710
CLOSING 16
FIN_WAIT_1 2
FIN_WAIT_2 3
LAST_ACK 14
SYN_RECEIVED 238

答案1

任何类型的网络问题(超时或每隔几天需要重新启动的机器)都可能存在端口问题。使用以下命令为您提供 60,000 个端口。我必须在我的域控制器上执行此操作,DNS 需要大量端口。

netsh int ipv4 设置动态端口 tcp 启动=10001 num=50000

netsh int ipv4 设置动态端口 udp 启动=10001 num=50000

netsh int ipv6 设置动态端口 tcp 启动=10001 num=50000

netsh int ipv6 设置动态端口 udp 启动=10001 num=50000

netsh int ipv4 显示动态端口 tcp

相关内容