web-dev-qa-db-ja.com

wmiカウンターがポートの枯渇を示すことができるもの

現在、多くの発信接続によるポートの枯渇が要因であると思われる問題を調査しています。サーバーがポートの枯渇時またはその近くにあるときを識別できるようにしたいのですが、どちらかはわかりませんが、これを示すwmiカウンターがあるはずです。

前もって感謝します。

7
Foo42

現在アクティブな接続数を取得するには、Powershellを使用します。

$a=gwmi -class Win32_PerfFormattedData_Tcpip_TCPv4 |select ConnectionsEstablished

$a.ConnectionsEstablished

同じクラスには、現在の接続数ではなく累積接続数を表示するConnectionsActiveもあることに注意してください。 これがクラスリファレンスです


このMSDNブログ投稿 で詳しく説明されているように、クライアントポートの枯渇が脅威である場合に、システムの許容範囲を拡大するために使用できる2つのシステム調整があります。

[引用を開始]

クライアントのTCP/IPソケット接続に動的に割り当てられる一時ポートの上限を増やします。

  1. レジストリエディターを起動します。
  2. レジストリ内の次のキーを参照してクリックします。

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
    
  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
    
  2. [Edit]メニューで[NewDWORD Value]をクリックし、次のレジストリ値を追加して、接続がTIME_WAIT状態に留まる時間を短縮します。接続が閉じられています。接続がTIME_WAIT状態にある間は、ソケットペアを再利用できません。

値の名前TcpTimedWaitDelay

値データ<Enter a decimal value between 30 and 240 here>

この変更を有効にするには、コンピュータを再起動する必要があります。この値の有効な範囲は30〜300(10進数)です。デフォルト値は240です。

[引用符の終了]

6
ErikE