Welche WMI-Zähler können auf eine Erschöpfung des Anschlusses hinweisen?

7

Ich untersuche derzeit ein Problem, bei dem wir vermuten, dass die Erschöpfung des Ports durch zu viele ausgehende Verbindungen ein Faktor ist. Ich möchte in der Lage sein zu identifizieren, wann der Server an oder nahe der Erschöpfung des Ports ist, und es scheint, dass es einen wmi-Zähler geben sollte, der dies anzeigt, obwohl ich nicht weiß, welcher

Danke im Voraus.

Foo42
quelle

Antworten:

6

Um die Anzahl der aktuell aktiven Verbindungen zu ermitteln, können Sie Powershell verwenden:

$a=gwmi -class Win32_PerfFormattedData_Tcpip_TCPv4 |select ConnectionsEstablished

$a.ConnectionsEstablished

Beachten Sie, dass es in derselben Klasse auch ein ConnectionsActive gibt, das eher die kumulative als die aktuelle Verbindungsanzahl anzeigt. Hier ist eine Klassenreferenz .


Wie in diesem MSDN-Blogbeitrag beschrieben, gibt es zwei Systemverbesserungen, mit denen Sie die Systemtoleranz erhöhen können, wenn die Erschöpfung des Client-Ports eine Bedrohung darstellt:

[ Zitat beginnen ]

Erhöhen Sie den oberen Bereich der kurzlebigen Ports, die dynamisch Client-TCP / IP-Socket-Verbindungen zugewiesen werden.

  1. Starten Sie den Registrierungseditor.
  2. Navigieren Sie zu und klicken Sie dann auf den folgenden Schlüssel in der Registrierung:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
    
  3. EditKlicken Sie im Menü auf New, DWORD Valueund fügen Sie dann den folgenden Registrierungswert hinzu, um die Anzahl der kurzlebigen Ports zu erhöhen, die Clients dynamisch zugewiesen werden können:

Wertname MaxUserPort

Messwert <Enter a decimal value between 5000 and 65534 here>

Sie müssen Ihren Computer neu starten, damit diese Änderung wirksam wird. Das Erhöhen des Bereichs kurzlebiger Ports, die für Client-TCP / IP-Verbindungen verwendet werden, beansprucht Windows-Kernelspeicher. Erhöhen Sie die Obergrenze für diese Einstellung nicht auf einen Wert, der höher ist als für Socket-Verbindungen von Clientanwendungen erforderlich, um den unnötigen Verbrauch des Windows-Kernelspeichers zu minimieren.

Reduzieren Sie das Zeitlimit für die TCP / IP-Socket-Verbindung des Clients vom Standardwert von 240 Sekunden

  1. Navigieren Sie zu und klicken Sie dann auf den folgenden Schlüssel in der Registrierung:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
    
  2. EditKlicken Sie im Menü auf New, DWORD Valueund fügen Sie dann den folgenden Registrierungswert hinzu, um die Zeitspanne zu verringern, in der eine Verbindung TIME_WAITbeim Schließen der Verbindung im Status bleibt . Während sich eine Verbindung im TIME_WAITStatus befindet, kann das Socket-Paar nicht wiederverwendet werden:

Wertname TcpTimedWaitDelay

Messwert <Enter a decimal value between 30 and 240 here>

Sie müssen Ihren Computer neu starten, damit diese Änderung wirksam wird. Der gültige Bereich für diesen Wert liegt zwischen 30 und 300 (dezimal). Der Standardwert ist 240.

[ Zitat beenden ]

ErikE
quelle
Leider zeigt Win32_PerfFormattedData_Tcpip_TCPv4 kumulative Statusübergänge an , nicht den aktuellen Socket-Status. Siehe github.com/bosun-monitor/bosun/blob/… als Referenz.
Mauricio Scheffer