Swap deaktivieren Wenn auf dem Server ein Datenbankdienst oder ein Nachrichten-Middleware-Dienst ausgeführt wird, deaktivieren Sie bitte die Swap-Partition. echo "vm.swappiness = 0" >> /etc/sysctl.conf sysctl -p OOM-Killer Im Allgemeinen sind unsere Linux-Dienste gemeinsam genutzte Dienste, und der von jedem Programm angeforderte physische Speicher wird gemeinsam genutzt. Wenn der physische Speicher beispielsweise nur 1 GB beträgt, können zwei Programme gestartet werden, die jeweils 1 GB anfordern. Linux verwendet diese Überzuweisungsmethode, um den Speicher vollständig zu nutzen. Wenn der vom Programm tatsächlich verwendete Speicher den physischen Speicher überschreitet, beendet das System einige Programme entsprechend ihrer Priorität, um den normalen Betrieb anderer Programme sicherzustellen. Um das Beenden von Kerndiensten zu vermeiden, kann die Prozessdatei auf die höchste Priorität eingestellt werden. # Je kleiner der Wert, desto unwahrscheinlicher ist es, dass es beendet wird echo -17 > /proc/$pid/oom_score_adj TCP Da die Datenbank und einige von uns bereitgestellte Nachrichten-Middleware-Dienste alle im Intranet funktionieren, können wir die TCP-Parameter für das Intranet optimieren.
Der Standardwert ist 6 und der Referenzwert ist 2. Wenn der Host als Client fungiert und eine TCP-Verbindung zur Außenwelt initiiert (der erste Schritt des Drei-Wege-Handshakes), sendet der Kernel die SYN-Nachricht und versucht es die angegebene Anzahl von Malen erneut. Wenn diese Anzahl überschritten wird, wird die Verbindung abgebrochen. Die Intranetumgebung verfügt über eine gute Kommunikation, sodass dieser Wert entsprechend reduziert werden kann
Der Standardwert ist 5 und der Referenzwert ist 2. Wenn der Host als Server fungiert und eine TCP-Verbindung akzeptiert, sendet er im zweiten Schritt des Drei-Wege-Handshakes eine SYN+ACK-Nachricht an den Client, versucht es erneut und bricht die Verbindung nach dieser Anzahl von Wiederholungsversuchen ab. Dieser Wert kann in der Intranet-Umgebung entsprechend reduziert werden
Ob der Zeitstempel aktiviert werden soll. Wenn aktiviert, kann RTT genauer berechnet werden. Einige andere Funktionen basieren ebenfalls auf dem Zeitstempelfeld.
Der Standardwert ist 0 und der empfohlene Wert ist 1. Ob die Verwendung von Sockets im Status TIME_WAIT für neue TCP-Verbindungen zugelassen werden soll. Dies ist sehr effektiv bei der Reduzierung der TIME_WAIT-Anzahl. Dieser Parameter wird nur wirksam, wenn tcp_timestamps aktiviert ist.
Ob das schnelle Recycling von TIME_WAIT-Sockets aktiviert werden soll, was eine radikalere Methode als tcp_tw_reuse ist, und hängt auch von der Option tcp_timestamps ab. Es wird dringend empfohlen, tcp_tw_recycle aus zwei Gründen nicht zu aktivieren. Erstens ist TIME_WAIT ein notwendiger Status, um eine Verwechslung zwischen den Daten der geschlossenen Verbindung und der neu hergestellten Verbindung zu vermeiden. Zweitens führt die Option tcp_tw_recycle dazu, dass einige neue Verbindungen in einer NAT-Umgebung abgelehnt werden. Da jeder Host unter NAT einen Zeitunterschied hat, wird dies im Zeitstempelfeld im Socket widergespiegelt. Der Server wird feststellen, dass der Zeitstempel auf einer bestimmten IP, der hätte erhöht werden sollen, verringert wurde, und die Nachricht mit einem relativ verringerten Zeitstempel wird verworfen.
Der Standardwert ist 128 und der Referenzwert ist 2048. Definiert die maximale Länge der Abhörwarteschlange an jedem Port im System. Wenn der Server einen Port abhört, führt das Betriebssystem den Drei-Wege-Handshake für die Verbindungsanforderung des Clients durch. Diese hergestellten Verbindungen werden in einer Warteschlange gespeichert und warten darauf, durch einen Annahmeaufruf entfernt zu werden. Diese Option definiert die Länge der Warteschlange. Durch Erhöhen dieses Wertes kann die Anzahl serverseitiger Ablehnungen in Szenarien mit hoher Parallelität verringert werden.
Die Client-Anforderung wird serverseitig von zwei Warteschlangen verwaltet. Eine davon ist eine Warteschlange, in der Verbindungen mit dem Client hergestellt werden und auf Annahme warten. Die Länge dieser Warteschlange wird durch den Parameter somaxconn gesteuert. Die andere ist eine separate Warteschlange, in der Verbindungen gespeichert werden, die hergestellt, aber noch nicht abgeschlossen wurden. Die Länge dieser Warteschlange wird durch tcp_max_syn_backlog gesteuert; der Standardwert ist 128 und kann auf 8192 angepasst werden.
Der Standardwert ist 4096 und der Referenzwert ist 100000. Definiert die maximale Anzahl von TIME_WAIT-Sockets, die das System gleichzeitig verwalten kann. Wenn diese Zahl überschritten wird, werden die TIME_WAIT-Sockets sofort gelöscht und eine Warnmeldung ausgegeben. Wenn das System durch übermäßiges TIME_WAIT gestört ist, können Sie die drei Optionen tcp_max_tw_buckets, tcp_tw_reuse und tcp_timestamps anpassen, um das Problem zu beheben. Der Zustand TIME_WAIT tritt auf, wenn das Ende, das die TCP-Sitzung aktiv schließt, geschlossen wird. Wenn Sie das Problem grundsätzlich lösen möchten, lassen Sie den Client die Verbindung aktiv schließen, anstatt den Server. Seitencache Der Seitencache ist die System-Dirty-Page, also der IO-Cache des Systems. Bevor Daten auf die Festplatte geschrieben werden, werden sie zuerst in den Seitencache geschrieben und dann asynchron auf die Festplatte geleert. Der Schreibcache kann die IO-Zugriffsgeschwindigkeit verbessern, erhöht aber auch das Risiko eines Datenverlusts. Es gibt drei Möglichkeiten, den Seitencache auf die Festplatte zu leeren:
Es gibt zwei Schreibstrategien zum Leeren, die vom System durchgeführt werden:
Im Allgemeinen führt das System zuerst die erste Strategie aus. Wenn die Menge der schmutzigen Seitendaten zu groß ist und die asynchrone Ausführung die Datenträgerbereinigung nicht rechtzeitig abschließen kann, wechselt es in den synchronen Modus. Wir können den Schwellenwert für die Löschung fehlerhafter Daten über Kernel-Parameter anpassen:
Zusätzlich zur prozentualen Steuerung können Sie auch eine Ablaufzeit angeben: vm.dirty_expire_centisecs. Der Standardwert ist 3000 (30 Sekunden) und die Einheit ist 1 Hundertstelsekunde. Nach dieser Zeit werden fehlerhafte Daten asynchron auf die Festplatte geschrieben. Sie können die aktuelle Anzahl schmutziger Seiten im System mit dem folgenden Befehl anzeigen: cat /proc/vmstat |egrep "dirty|writeback" nr_dirty 951 nr_writeback 0 nr_writeback_temp 0 #Die Ausgabe zeigt, dass 951 schmutzige Seiten darauf warten, auf die Festplatte geschrieben zu werden. Die Standardseitengröße beträgt 4 KB. Darüber hinaus können Sie diese Informationen auch in der Datei /proc/meminfo sehen. Wenn die Anforderungen an die Datensicherheit nicht so hoch sind und Sie mehr Daten „zwischenspeichern“ möchten, damit der Cache bei Lesevorgängen leichter erreicht wird, können Sie das Verhältnis schmutziger Daten und die Ablaufzeit erhöhen: vm.dirty_background_ratio = 30 vm.dirty_ratio = 60 vm.dirty_expire_centisecs = 6000 Wenn Sie nicht möchten, dass die E/A aufgrund der Datenträgerbereinigung blockiert wird, können Sie den Wert der asynchronen Datenträgerbereinigung entsprechend verringern, wodurch die E/A reibungsloser abläuft: vm.dirty_background_ratio = 5 vm.dirty_ratio = 60 Oben finden Sie einige detaillierte Vorschläge zur Linux-Systemoptimierung (Kerneloptimierung). Weitere Informationen zur Linux-Systemoptimierung finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: Implementierung der Vue-Anmeldefunktion
>>: Detaillierte Erklärung des Unterschieds zwischen temporärer MySQL-Tabelle und Partitionstabelle
Dieser Artikel enthält einige häufig verwendete U...
<br />Originaltext: http://www.mikkolee.com/...
1. Regulärer Ausdruck für den Standort Schauen wi...
HTML-Absatz Absätze werden durch das Tag <p>...
Heute werden wir einen fragmentierten Bildladeeff...
Ich stelle hauptsächlich vor, wie man im WeChat-A...
Die Schlüsselcodes lauten wie folgt: Code kopieren...
1.1 Einführung in Speicher-Engines 1.1.1 Dateisys...
Inhaltsverzeichnis 1. Node erstellt HTTP-Server 2...
Beschreibung: Ändern Sie den Wagenrücklauf im Text...
Nachdem ich das System heute neu installiert hatt...
Baidu Cloud-Festplatte: Link: https://pan.baidu.c...
Heute haben wir die Frage besprochen, wie hoch de...
Primärschlüssel: Schlagwort: Primärschlüssel Funk...
Über JS, CSS CSS: Stylesheet oben Vermeiden Sie C...