Vorwort Sehen wir uns zunächst an, wie eine TCP-Verbindung identifiziert wird. Das System wird durch ein Vierer-Tupel (src_ip, src_port, dst_ip, dst_port) identifiziert, nämlich Quell-IP, Quell-Port, Ziel-IP und Ziel-Port. Beispielsweise haben wir einen Dienst unter 192.168.0.1 mit geöffnetem Port 80. Dann verbinden sich alle Clients mit Port 80 dieses Dienstes. Es besteht ein Missverständnis, dass wir oft sagen, dass eine Maschine 65536 Ports hat, sodass die Anzahl der Verbindungen, die sie überträgt, 65536 beträgt. Diese Aussage ist äußerst falsch und verwechselt den Quellport mit dem Zugriffszielport. Wenn wir Stresstests durchführen, verwenden wir den Stresstest-Client. Die Anzahl der Verbindungen dieses Clients ist durch die Anzahl der Ports begrenzt, aber die Anzahl der Verbindungen auf dem Server kann Zehntausende erreichen, im Allgemeinen bis zu einer Million (4C8G-Konfiguration). Die Obergrenze hängt vom Grad der Optimierung ab. Die einzelnen Schritte sind wie folgt: Wir führen einen Stresstest für einen Zielserver durch und möchten die Anzahl der Verbindungen unter Last sehen. Wenn wir ihn bis zu einer bestimmten Zahl belasten, meldet die Konsole plötzlich „zu viele offene Dateien“. Dies liegt daran, dass das Linux-System beim Erstellen einer TCP-Verbindung einen Socket-Handle erstellt und jeder Socket-Handle ein Datei-Handle ist. Das Betriebssystem verfügt über eine Begrenzung für die Anzahl geöffneter Dateihandles. Eine der Grundphilosophien von Unix/Linux lautet: „Alles ist eine Datei.“ Um die TCP-Übertragungskapazität zu erhöhen, müssen Sie den Datei-Handle anpassen. Schritt 1: Ändern des Datei-Handle-Limits # Zeigen Sie die maximale Anzahl von Dateihandles an, die der aktuelle Benutzer mit TCP ulimit -n öffnen darf # Datei-Handle ändern vim /etc/security/limits.conf *weiches Nofile 655350 * hartes Nofile 655350 Verlassen Sie nach der Änderung das Terminalfenster, melden Sie sich erneut an (ein Neustart des Servers ist nicht erforderlich) und Sie können die neuesten Ergebnisse sehen. Dies ist der erste Schritt zur Optimierung, die Änderung des Datei-Handle-Limits.
Schritt 2: TCP-Parameter-Tuning
Aus den obigen Konfigurationsparametern können wir erkennen, dass im Linux-Kernel Pufferwarteschlangen zum Senden und Empfangen von TCP eingerichtet werden, was den Systemdurchsatz verbessern kann. Alle oben genannten Parameter sind in der Datei /etc/sysctl.conf definiert. Einige Parameter sind möglicherweise nicht in der Datei definiert. Das System gibt Standardwerte vor. Wenn Sie sie ändern müssen, fügen Sie sie direkt in der Datei hinzu oder ändern Sie sie und führen Sie dann den Befehl sysctl -p aus, damit sie wirksam werden.
Zusammenfassen Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Das könnte Sie auch interessieren:
|
>>: 8 Möglichkeiten zum manuellen und automatischen Sichern Ihrer MySQL-Datenbank
Egal, ob Sie zu Hause auf dem Sofa oder draußen i...
Vorwort: Bei der Projektentwicklung werden in ein...
Verwenden Sie die FRAME-Eigenschaft, um den Stilt...
1. Einleitung Ob die Erstellungszeit einer Datei ...
Vor der Veröffentlichung von Microsoft IE 5.0 best...
Vue3.0 ist bereits seit einiger Zeit auf dem Mark...
Das Konzept der gespeicherten MySQL-Prozedur: Ein...
Inhaltsverzeichnis Vorherige Wörter Synchron und ...
Ich habe vor Kurzem ein Mac-System verwendet und ...
Inhaltsverzeichnis Was ist ein Auslöser Erstellen...
Inhaltsverzeichnis Erste Verwendung der Callback-...
Flex-Grundkonzepte Flex-Layout (Flex ist die Abkü...
Inhaltsverzeichnis Vorbereiten Fünf Waffen für … ...
Vorwort: Im vorherigen Artikel haben wir hauptsäc...
Inhaltsverzeichnis 1. Offizielle Dokumentation 2....