什么 wmi 计数器可以指示端口耗尽

Foo*_*o42 7 networking windows wmi

我目前正在调查一个问题,我们怀疑过多的传出连接导致端口耗尽是一个因素。我希望能够确定服务器何时处于或接近端口耗尽,并且似乎应该有一些 wmi 计数器来指示这一点,尽管我不知道是哪个

提前致谢。

Eri*_*ikE 6

要获取当前活动的连接数,您可以使用 Powershell:

$a=gwmi -class Win32_PerfFormattedData_Tcpip_TCPv4 |select ConnectionsEstablished

$a.ConnectionsEstablished
Run Code Online (Sandbox Code Playgroud)

请注意,同一类中还有一个 ConnectionsActive ,它显示累积而不是当前连接计数。这是一个类参考


正如这篇 MSDN 博客文章中所详述的,当客户端端口耗尽是一种威胁时,您可以使用两个系统调整来提高系统容错性:

[开始报价]

增加动态分配给客户端 TCP/IP 套接字连接的临时端口的上限。

  1. 启动注册表编辑器。
  2. 浏览到,然后单击注册表中的以下项:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
    
    Run Code Online (Sandbox Code Playgroud)
  3. Edit菜单上,单击NewDWORD Value,然后添加以下注册表值以增加可以动态分配给客户端的临时端口数:

值名称 MaxUserPort

价值数据 <Enter a decimal value between 5000 and 65534 here>

您必须重新启动计算机才能使此更改生效。增加用于客户端 TCP/IP 连接的临时端口的范围会消耗 Windows 内核内存。不要将此设置的上限增加到高于容纳客户端应用程序套接字连接所需的值,以便最大限度地减少对 Windows 内核内存的不必要消耗。

将客户端 TCP/IP 套接字连接超时值从默认值 240 秒减少

  1. 浏览到,然后单击注册表中的以下项:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
    
    Run Code Online (Sandbox Code Playgroud)
  2. Edit菜单上,单击NewDWORD Value,然后添加以下注册表值以减少TIME_WAIT连接在关闭时保持该状态的时间长度。当连接处于TIME_WAIT状态时,套接字对不能被重用:

值名称 TcpTimedWaitDelay

价值数据 <Enter a decimal value between 30 and 240 here>

您必须重新启动计算机才能使此更改生效。此值的有效范围是 30 到 300(十进制)。默认值为 240。

[结束报价]