我正在调查一个问题,我们怀疑来自太多传出连接的端口耗尽是一个因素.我希望能够确定服务器何时处于或接近端口耗尽,并且似乎应该有一些wmi计数器来指示这一点,虽然我不知道哪个
提前致谢.
要获得当前活动的连接数,可以使用Power
shell:
$a=gwmi -class Win32_PerfFormattedData_Tcpip_TCPv4 |select ConnectionsEstablished $a.ConnectionsEstablished
请注意,同一类中还有一个ConnectionsActive,它显示累积而非当前连接计数. Here is a class reference.
正如this MSDN blog post中详述的那样,当客户端端口耗尽是一种威胁时,您可以使用两种系统调整来增加系统容差:
[开始引用]
增加动态分配给客户端TCP / IP套接字连接的临时端口的上限范围.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
>在“编辑”菜单上,单击“新建”,“DWORD值”,然后添加以下注册表值以增加可以动态分配给客户端的临时端口数:
值名称MaxUserPort
值数据<在此输入5000到65534之间的小数值>
您必须重新启动计算机才能使此更改生效.增加用于客户端TCP / IP连接的临时端口的范围会占用Windows内核内存.不要将此设置的上限增加到高于容纳客户端应用程序套接字连接所需的值,以便最大限度地减少不必要的Windows内核内存消耗.
将客户端TCP / IP套接字连接超时值从默认值240秒减少
>浏览到,然后添加以下注册表值,以减少连接关闭时连接保持TIME_WAIT状态的时间长度.当连接处于TIME_WAIT状态时,无法重用套接字对:
值名称TcpTimedWaitDelay
值数据<在此输入30到240之间的小数值>
您必须重新启动计算机才能使此更改生效.该值的有效范围是30到300(十进制).默认值为240.
[结束语]