GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Fehlerbehebung bei langsamer Netzwerkkommunikation oder Verbindungszeitüberschreitungen in Linux

Die Fehlerbehebung bei einem langsamen Netzwerk oder Netzwerkpaketverlusten kann schwierig sein. Zusätzlich zu einer langsameren Netzwerkkommunikation können weitere Symptome beobachtet werden, z. B. :

  • Versuche, sich mit ssh und/oder sftp mit einem Server zu verbinden, führen zu Zeitüberschreitungen oder einer verzögerten Antwort.
  • Wenn die Netzwerklast hoch wird, wird eine hohe Anzahl von Netzwerkübertragungen beobachtet.
  • In der Ausgabe des Befehls „ifconfig eth[x]“ kann eine große Anzahl von Paketverlusten zu sehen sein.

Einige andere Symptome umfassen auch:

– Die Ausgabe des Befehls:netstat -s zeigt steigende Werte für die folgenden Statistiken :(mehrmals von ‘netstat -s’ ausführen):

13336 packets pruned from receive queue because of socket buffer overrun
516 times the listen queue of a socket overflowed
516 SYNs to LISTEN sockets ignored
2040077 packets collapsed in receive queue due to low socket buffer
TCPBacklogDrop: 744165

– Die Ausgabe des Befehls:ethtool -S eth[x] zeigt steigende Werte gegen den Zähler:„rx_fw_discards“:

rx_fw_discards: 4493

Ursachen für langsamere Netzwerkleistung

Es kann mehrere Gründe für eine langsamere Netzwerkleistung geben. Aber einige der möglichen Ursachen sind:

  • Das Netzwerk ist bereits stark ausgelastet, bis zu seiner maximalen Kapazität, und es kommt zu Überlastungen.
  • Die konfigurierten Empfangspuffer reichen für die Netzwerklast nicht aus.
  • Es gibt Paketverluste aufgrund von Fehlern auf der physikalischen Ebene.

Fehlerbehebung bei langsamer Netzwerkleistung

1. Überprüfen Sie den Netzwerkdurchsatz mit dem iperf-Tool und stellen Sie fest, ob sich die Auslastung der Netzwerkbandbreite dem beobachteten maximalen Durchsatz nähert.

So verwenden Sie Iperf zum Testen der Netzwerkleistung unter Linux

2. Stellen Sie die Werte für die Netzwerkparameter entsprechend ein, um den maximalen Netzwerkdurchsatz zu unterstützen. Suchen Sie den Wert des Bandbreitenverzögerungsprodukts (BDP) und stellen Sie die Netzwerkpuffergröße entsprechend ein. Sie errechnet sich aus dem Produkt der Verbindungsbandbreite und der Round Trip Time.

Zum Beispiel:

– Für ein 1-Gb/s-Netzwerk und eine Roundtrip-Zeit von 0,1 s ist BDP =(0,1 * 10^9)/8. Legen Sie in einem solchen Netzwerk die folgenden Parameterwerte in der Datei fest:/etc/sysctl.conf

# vi /etc/sysctl.conf
net.core.rmem_max = 12500000
net.core.wmem_max = 12500000
net.ipv4.tcp_rmem = 4096 87380 12500000
net.ipv4.tcp_wmem = 4096 65536 12500000

Und erhöhen Sie auch die folgenden Parameter:

# vi /etc/sysctl.conf
net.core.netdev_max_backlog = 30000
net.ipv4.tcp_max_syn_backlog = 4096

Führen Sie dann den Befehl aus:

# sysctl -p

a) Für beide Änderungen ist kein Systemneustart erforderlich.

b) Posten Sie diese Änderung, es ist erforderlich, die Ausgabe des Befehls „netstat -s“ zu überwachen und zu prüfen, ob die folgenden Zähler immer noch ansteigen:

packets pruned from receive queue because of socket buffer overrun
times the listen queue of a socket overflowed
SYNs to LISTEN sockets ignored
packets collapsed in receive queue due to low socket buffer
TCPBacklogDrop

3. Erhöhen Sie die RX-Ringpuffergröße der NIC. Beim Festlegen dieser Zahl gibt es einen Kompromiss. Ein größerer Wert könnte die Verarbeitung der Pakete verzögern und ein niedrigerer Wert könnte zu Paketverlusten führen, wenn der entsprechende Treiber bei der Verarbeitung der eingehenden Pakete auf Verzögerung stößt.

a) Beginnen Sie im Allgemeinen mit der Verdoppelung der RX-Ringgröße und beobachten Sie die Ausgabe des Befehls „ethtool -S eth[x]“.

# ethtool -G eth[x] rx 512

b) Um diese Änderung dauerhaft zu machen, fügen Sie Folgendes an die Datei an:/etc/sysconfig/network-scripts/ifcfg-eth[x] :

# vi /etc/sysconfig/network-scripts/ifcfg-eth[x]
ETHTOOL_OPTS="-G rx 512"


Linux
  1. Verwalten Sie Netzwerkverbindungen über die Linux-Befehlszeile mit nmcli

  2. Fehlerbehebung bei langsamem WLAN unter Linux

  3. Fehlerbehebung und Debugging für Linux-Netzwerke?

  4. Linux – Langsame Medien – Festplatten-Cache-Tuning?

  5. Linux-Betriebssystemdienst „Netzwerk“

Die 5 besten Conky-Designs für Linux

Eine Sammlung von Dienstprogrammen zur Vereinfachung der Fehlerbehebung und Leistungsoptimierung von Linux-Netzwerken

Ein Leitfaden für Anfänger zur Netzwerkfehlerbehebung unter Linux

Meine Go-to-Fehlerbehebungsbefehle für Linux-Netzwerke

3 Möglichkeiten, eine Netzwerkschnittstelle in Linux zu konfigurieren

Linux-nload-Befehl