Heim  >  Artikel  >  Betrieb und Instandhaltung  >  So optimieren Sie die TCP/IP-Leistung und Netzwerkleistung von Linux-Systemen

So optimieren Sie die TCP/IP-Leistung und Netzwerkleistung von Linux-Systemen

WBOY
WBOYOriginal
2023-11-07 11:15:24978Durchsuche

So optimieren Sie die TCP/IP-Leistung und Netzwerkleistung von Linux-Systemen

Im Bereich moderner Computer ist das TCP/IP-Protokoll die Grundlage für die Netzwerkkommunikation. Als Open-Source-Betriebssystem ist Linux zum bevorzugten Betriebssystem geworden, das von vielen Unternehmen und Organisationen verwendet wird. Da Netzwerkanwendungen und -dienste jedoch immer wichtigere Geschäftskomponenten werden, müssen Administratoren häufig die Netzwerkleistung optimieren, um eine schnelle und zuverlässige Datenübertragung sicherzustellen.

In diesem Artikel erfahren Sie, wie Sie die Netzwerkübertragungsgeschwindigkeit von Linux-Systemen verbessern können, indem Sie die TCP/IP-Leistung und die Netzwerkleistung von Linux-Systemen optimieren. In diesem Artikel werden einige notwendige TCP-Parameter und deren Änderung zur Optimierung der Netzwerkleistung erläutert. In diesem Artikel wird außerdem erläutert, wie Sie mit einigen gängigen CLI- und Kernel-Tools die Netzwerkleistung im System überprüfen können, und den Lesern werden einige Codebeispiele bereitgestellt.

1. Verstehen Sie TCP tw_reuse

TCP-Verbindung ist ein verbindungsorientiertes Transportprotokoll, daher müssen die Kombination aus IP-Adresse und Port unterschiedlich sein, um eine neue Verbindung herzustellen. Nachdem Client und Server geschlossen wurden, Linux jedoch noch eine Zeit lang wartet, in der die Verbindung möglicherweise erst kürzlich hergestellt wurde, wird versucht, eine TCP-Verbindung herzustellen. Dieser Zeitraum wird als „TIME_WAIT“-Status bezeichnet und Verbindungen in diesem Status können nicht wiederverwendet werden. Dieses Verhalten kann die TCP/IP-Leistung des Servers verlangsamen.

Um diese Situation zu vermeiden, können wir den Parameter tw_reuse verwenden. Durch die Aktivierung von tw_reuse können beendete Verbindungen wiederverwendet werden, ohne dass eine bestimmte Zeitspanne gewartet werden muss. Dieser Parameter kann mit dem folgenden Befehl aktiviert werden:

echo 1 >/proc/sys/net/ipv4/tcp_tw_reuse

2. Passen Sie die TCP-Keepalive-Parameter entsprechend an.

TCP-Keepalive ist ein Mechanismus, der erkennen kann, ob die Verbindung noch aktiv ist, und einen Verbindungsverlust aufgrund von Netzwerküberlastungsproblemen verhindern kann. TCP Keepalive überprüft regelmäßig den Verbindungsstatus, um festzustellen, ob die Verbindung noch aktiv ist, und schließt die Verbindung, wenn nicht.

Das Anpassen der TCP-Keepalive-Parameter kann die Übertragungsleistung verbessern. Im Folgenden sind drei wichtige TCP-Parameter aufgeführt:

1.tcp_keepalive_time

Der Parameter tcp_keepalive_time definiert das Zeitintervall zwischen dem Senden von Keep-Alive-Nachrichten. Wenn ein Knoten im Netzwerk nicht mehr reagiert, versucht der Keepalive-Mechanismus, die Verbindung wiederherzustellen.

Der Standardwert beträgt 7200 Sekunden (d. h. 2 Stunden)

2.tcp_keepalive_intvl

Der Parameter tcp_keepalive_intvl definiert das Wiederholungsintervall nach dem Senden einer Keep-Alive-Nachricht.

Der Standardwert beträgt 75 Sekunden

3.tcp_keepalive_probes

tcp_keepalive_probes definiert, wie viele TCP-Prüfungen durchgeführt werden, bevor eine Keepalive-Nachricht gesendet wird.

Der Standardwert beträgt das 9-fache.

Diese Parameter können geändert werden, um die TCP-Leistung zu verbessern. Mit dem folgenden Befehl können Sie die oben genannten drei Parameter ändern:

echo 600 >/proc/sys/net/ipv4/tcp_keepalive_time
echo 30 >/proc/sys/net/ipv4/tcp_keepalive_intvl
echo 5 >/proc/sys/net/ipv4/tcp_keepalive_probes

3. TCP-Fensterskalierungsoption aktivieren

TCP-Fensterskalierung (TCP-Fensterskalierung) ist eine Option zur Erweiterung des TCP-Headers zur Unterstützung von Hochgeschwindigkeitsnetzwerken. Standardmäßig aktiviert der Linux-Kernel automatisch die Option zur TCP-Fenstererweiterung. Wenn Sie jedoch eine ältere Version des Kernels verwenden, müssen Sie diese Option möglicherweise aktivieren.

Der folgende Befehl dient zum Aktivieren der TCP-Fenstererweiterungsoption:

echo 1 >/proc/sys/net/ipv4/tcp_window_scaling

4. Verwenden Sie ifconfig, um die MTU- und MRU-Werte anzupassen.

MTU (Maximum Transmission Unit) ist die maximale Größe, die ein Paket übertragen kann MRU (Maximum Receive Unit) ist die maximale Größe, die ein Paket empfangen kann. Die maximale Paketgröße, die das Ende empfangen kann.

Das Ändern der MTU- und MRU-Werte kann die Netzwerkleistung Ihres Systems verbessern. Wir können den Befehl ifconfig verwenden, um diese Werte zu ändern. Im Folgenden finden Sie die Befehle zum Ändern von MTU und MRU:

ifconfig eth0 mtu 9000
ifconfig eth0 mru 9000

5. Verwenden Sie iperf3, um die Netzwerkleistung zu testen.

iperf3 ist ein Tool zur Verkehrserkennung und zum Testen der Netzwerkdienstqualität. Es hilft Administratoren, die Netzwerkleistung des Systems zu messen und Netzwerküberlastungen zu überprüfen. Verwenden Sie iperf3, um Netzwerkengpässe für die Optimierung schnell zu erkennen.

Starten Sie zunächst iperf3 auf der Serverseite. Mit dem folgenden Befehl kann ein TCP-Server gestartet werden, der den Standardport überwacht:

iperf3 -s

Führen Sie dann iperf3 auf dem Client aus, um die Übertragungsgeschwindigkeit von Netzwerkinformationen zu testen. Für TCP-Tests können Sie den folgenden Befehl ausführen:

iperf3 -c <server-ip>

6. Verwenden Sie den Befehl netstat, um die Netzwerkleistung zu überwachen.

Der Befehl netstat ist ein häufig verwendetes Befehlszeilentool, mit dem Netzwerkverbindungen und Übertragungsleistung in Linux-Systemen überprüft werden können .

Mit dem folgenden Befehl können Sie die Anzahl und den Status der TCP-Verbindungen in Ihrem Linux-System überprüfen:

netstat -nat | grep -i "tcp.*established"

Dieser Befehl gibt die Anzahl der aktuell eingerichteten TCP-Verbindungen zurück. Je höher die Anzahl der aufgebauten Verbindungen ist, desto geringer ist die TCP/IP-Leistung des Systems.

7. Verwenden Sie sysctl, um TCP/IP-Parameter anzuzeigen.

sysctl ist ein CLI-Dienstprogramm, das Kernel-Parameter verwaltet. Sie können damit TCP/IP-Parameter anzeigen und ändern.

Hier sind die Befehle zum Anzeigen der TCP/IP-Parameter:

sysctl -a | grep tcp

Wir können diese Parameter nach unseren Bedürfnissen ändern, indem wir den folgenden Befehl verwenden:

sysctl -w <parameter=value>

Der folgende Befehl ändert beispielsweise die maximale Speicherkomprimierungsgröße des TCP-Stack:

sysctl -w net.ipv4.tcp_mem='10000000 10000000 10000000'

eight , Verwenden Sie tcpdump, um den Netzwerkverkehr zu überwachen

tcpdump ist ein Befehlszeilen-Dienstprogramm zum Erfassen von Netzwerkdatenpaketen. Sie können damit den Netzwerkverkehr überwachen, um Netzwerkfehler oder Engpässe zu finden.

Hier sind die Befehle zum Erfassen des eingehenden und ausgehenden TCP-Verkehrs mit dem Befehl tcpdump:

tcpdump -i eth0 -vv tcp

Sie können die Ausgabe in eine Datei umleiten und sie dann mit Wireshark anzeigen:

tcpdump -i eth0 -vv tcp -w <filename>
wireshark <filename>

Fazit

Durch die richtige Konfiguration von TCP/IP und Netzwerkparametern kann die Netzwerkleistung Ihres Linux-Systems verbessert werden. Mithilfe der in diesem Artikel bereitgestellten CLI- und Kernel-Tools können Administratoren die Netzwerkleistung des Systems besser verstehen und optimieren. Dieser Artikel enthält Codebeispiele, die Administratoren helfen sollen, besser zu verstehen, wie sie die TCP/IP-Leistung und die Netzwerkleistung optimieren können.

Das obige ist der detaillierte Inhalt vonSo optimieren Sie die TCP/IP-Leistung und Netzwerkleistung von Linux-Systemen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn