Heim > Artikel > Betrieb und Instandhaltung > So legen Sie die Anzahl der Nginx-Serverprozesse fest und nutzen die Multi-Core-CPU
nginx-Konfigurationsdatei nginx.conf
Zuerst müssen Sie die nginx-Konfigurationsdatei nginx.conf finden, um die folgenden Vorgänge ausführen zu können. In der Standardkonfiguration des lnmp-Ein-Klick-Installationspakets ist nginx.conf in
/usr/local/nginx/conf/nginx.conf
Was andere Umgebungen betrifft: Bei der Installation von Nginx können Sie
find / -name nginx.conf
verwenden, um den Speicherpfad der Konfigurationsdatei zu ermitteln.
nginx worker_processes-Prozessnummerneinstellung
nginx-Konfigurationsdokument nginx.conf kann worker_processes festlegen, um die Anzahl der nginx-Worker-Prozesse zu ändern. Gemäß dieser Frage und Antwort wird empfohlen, die Anzahl der nginx-worker_processes-Prozesse festzulegen zu 1, weil:
Aber unser Ziel ist es, verschiedene worker_processes-Prozesse zur Ausführung auf CPUs auf verschiedenen Kernen zuzuweisen. Wenn wir also die 512-Konfiguration meines aktuellen VPS-Anbieters Linode als Beispiel nehmen, hat der Server 8 logische CPUs, aber als Benutzer Ich habe nur 4 logische CPUs, daher habe ich hier die Ausführung von 3 worker_processes-Prozessen festgelegt. Der Grund dafür ist, dass andere Programme standardmäßig auf der ersten logischen CPU (CPU0) ausgeführt werden. Um andere Programme nicht zu beeinträchtigen, werde ich diese zuweisen Drei Prozesse sollen auf drei anderen logischen CPUs (cpu1, cpu2, cpu3) ausgeführt werden:
worker_processes 3;
Wenn Sie mehrere logische CPUs haben, ist es im Allgemeinen angemessen, mehrere worker_processes festzulegen, aber worker_processes über 8 macht nicht viel Sinn, z Der im obigen englischen Absatz genannte Grund.
Mit diesem Befehl können Sie die aktuelle CPU-Situation anzeigen:
cat /proc/cpuinfo
oder direkt die Anzahl der logischen CPUs anzeigen:
cat /proc/cpuinfo |grep "processor"|wc -l
nginx worker_cpu_affinity-Einstellung
Laut den Informationen im Nginx-Wiki:
worker_cpu_affinity Es ist standardmäßig nicht aktiviert. Gemäß dem Beispiel können wir sehen, dass 0001 0010 0100 1000 jeweils die 1., 2., 3. und 4. logische CPU darstellt, sodass wir 0010 0100 1000 festlegen können, um die 3 Prozesse an die 2. logische CPU zu binden bzw. , 3, 4 logische CPUs:
worker_processes 3; worker_cpu_affinity 0010 0100 1000;
Gleichzeitig können wir anhand des Beispiels auch sehen, dass worker_cpu_affinity den gleichen Prozess an 2 logische CPUs binden kann:
worker_processes 2; worker_cpu_affinity 0101 1010;
0101, also die 1. und 3 Auf der logischen CPU befindet sich 1010 auf der 2. und 4. logischen CPU.
nginx-Prozesszuordnung zum Aktivieren und Testen von Multi-Core-CPU-Einstellungen
Speichern Sie die Datei nginx.conf und laden Sie die Nginx-Konfigurationsdatei neu:
/usr/local/nginx/sbin/nginx -s reload
Führen Sie ab zum Testen auf einem anderen Host mit installiertem Apache aus:
ab -n 20000 -k http://www.1990y.com/p.php
Sie können eine PHP-Seite testen, die eine MySQL-Abfrage erfordert, oder Sie können ein statisches Bild oder eine statische Seite testen.
Auf dem getesteten Server können Sie mit top die aktuelle Serversituation anzeigen und dann 1 drücken, um die Auslastung jeder logischen CPU anzuzeigen.
CPU-Mehrkernauslastung aktivieren
Regeleinstellungen
(1) Wie viele Kerne die CPU hat, es gibt mehrere Ziffern, 1 bedeutet, dass der Kern eingeschaltet ist, 0 bedeutet, dass der Kern ausgeschaltet ist
(2) worker_processes können geöffnet werden bis zu 8, 8 Die oben genannte Leistung verbessert sich nicht mehr und die Stabilität wird geringer, sodass 8 Prozesse ausreichen CPU-Kern, 10 bedeutet, dass der zweite CPU-Kern aktiviert ist
zwei Kern-CPU, offene acht Prozesse worker_processes 2;
worker_cpu_affinity 01 10;
8 Prozesse werden geöffnet, sie entsprechen jeweils dem Öffnen von zwei Kernen
8-Kern-CPU, 2 Prozesse starten
worker_processes 8; worker_cpu_affinity 01 10 01 10 01 10 01 10;10101010 bedeutet Starten des 2., 4., 6. und 8. Kerns, 01010101 bedeutet Starten des 1., 3., 5. und 7. Kerns
2 Prozesse entsprechend 8 Kernen
Neustart nginx
Nachdem die Konfiguration abgeschlossen ist, müssen Sie den Nginx-Dienst neu startenworker_processes 8; worker_cpu_affinity 10000000 01000000 00100000 00010000 00001000 00000100 00000010 00000001;
Das obige ist der detaillierte Inhalt vonSo legen Sie die Anzahl der Nginx-Serverprozesse fest und nutzen die Multi-Core-CPU. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!