Konfigurieren von Nginx für die 100 -Tausend -Anforderung pro Minute
- 2586
- 428
- Susanne Stoutjesdijk
In der heutigen schnelllebigen digitalen Welt müssen Unternehmen in der Lage sein, große Mengen an Webverkehr zu bewältigen, um wettbewerbsfähig zu bleiben. Eine Möglichkeit, dies zu erreichen, besteht darin, einen Hochleistungs-Webserver wie nginx zu verwenden. Das Konfigurieren von NGINX für 100.000 Anforderungen pro Minute erfordert einen gut optimierten und abgestimmten Server.
In diesem Artikel geben wir einige Richtlinien zur Verfügung, mit denen Sie NGINX so konfigurieren können, dass ein so hohes Volumen an Anfragen verarbeitet wird. Hier sind einige Schritte, mit denen Sie NGINX so konfigurieren können, dass ein so hohes Volumen an Anforderungen behandelt wird:
- Erhöhen Sie die Anzahl der Arbeitsprozesse
- Melodie -Arbeiterverbindungen
- Konfigurieren Sie Keepalive -Verbindungen
- Optimieren Sie das Caching, um die Last auf dem Server zu verringern
- Konfigurieren Sie Lastausgleich, um den Verkehr auf mehrere Backend -Knoten zu verteilen
Schritt 1: Erhöhen Sie die Anzahl der Arbeitsprozesse
Die Arbeitsprozesse behandeln die eingehenden Anforderungen. Daher kann die Erhöhung der Anzahl der Arbeitsprozesse die Fähigkeit des Servers verbessern, eine große Anzahl von Anforderungen zu bearbeiten. Die Anzahl der Arbeitsprozesse kann erhöht werden nginx.Conf Datei:
Worker_Processes 8;1 | Worker_Processes 8; |
Dies wird erzeugen 8 Arbeiterprozesse zur Behandlung der eingehenden Anfragen.
Schritt 2: Verbindungen der Arbeiter melken
Die Einstellung der Arbeiterverbindungen steuert die maximale Anzahl von Verbindungen, die von jedem Arbeiterprozess behandelt werden können. Diese Einstellung kann eingestellt werden, indem die folgende Zeile zu der hinzugefügt wird nginx.Conf Datei:
Worker_Connections 1024;1 | Worker_Connections 1024; |
Dadurch wird die maximale Anzahl von Verbindungen pro Arbeitsprozess festgelegt 1024.
Schritt 3: Konfigurieren Sie Keepalive -Verbindungen
Mit Keepalive -Verbindungen können mehrere Anfragen über die gleiche TCP -Verbindung gesendet werden, wodurch der Overhead für die Erstellung einer neuen Verbindung für jede Anforderung reduziert werden kann. Dies kann konfiguriert werden, indem die folgenden Zeilen zum nginx hinzugefügt werden.Conf -Datei:
keepalive_timeout 65; keepalive_requests 100000;12 | keepalive_timeout 65; keepalive_requests 100000; |
Dadurch wird die Zeitüberschreitung für Keepalive -Verbindungen festgelegt 65 Sekunden und bis zu 100.000 Anfragen über die gleiche Verbindung gesendet werden.
Schritt 4: Optimieren Sie das Caching
Das Caching kann dazu beitragen, die Last auf dem Server zu reduzieren, indem häufig angeforderte Inhalte aus Cache bedient werden, anstatt sie für jede Anforderung zu generieren. Nginx kann so konfiguriert werden, dass Cache -Inhalt durch Hinzufügen der folgenden Zeilen zu den Zeilen hinzugefügt wird nginx.Conf Datei:
proxy_cache_path/var/cache/nginx stufen = 1: 2 keys_zone = my_cache: 10m inaktiv = 60m; proxy_cache_key "$ scheme $ request_method $ host $ request_uri"; proxy_cache_valid 200 60m;123 | proxy_cache_path/var/cache/nginx stufen = 1: 2 keys_zone = my_cache: 10m inaktiv = 60m; |
Dies erzeugt a Zwischenspeicher Verzeichnis, setzen Sie den Cache -Schlüssel so ein, dass die Anforderungsmethode und die URI sowie die Cache -Antworten mit a enthalten sind 200 Statuscode für 60 Minuten.
Schritt 5: Konfigurieren Sie das Lastausgleich
Lastausgleich kann eingehende Anforderungen auf mehrere Server verteilen, um ein hohes Volumen von Anforderungen zu verarbeiten. Nginx kann so konfiguriert werden nginx.Conf Datei:
Upstream Backend Server Backend1.Beispiel.com; Server Backend2.Beispiel.com; server listen 80; location/proxy_pass http: // Backend;1234567891011 | Upstream Backend Server Backend1.Beispiel.com; Server Backend2.Beispiel.com; server listen 80; location/proxy_pass http: // Backend; |
Dies wird eine definieren stromaufwärts Gruppe von Servern und anschließenden Proxy -Anforderungen an die vorgelagerte Gruppe im Serverblock.
Wenn Sie diese Schritte ausführen, können Sie Nginx auf konfigurieren Bearbeiten Sie 100.000 Anfragen pro Minute. Es ist jedoch wichtig zu beachten. Eine regelmäßige Überwachung und Abstimmung kann dazu beitragen, dass Ihr Server optimal funktioniert.
Gemeinsame Engpässe, die die Leistung von Nginx begrenzen können
Es gibt mehrere potenzielle Engpässe, die Sie daran hindern können, das Ziel zu erreichen, NGINX zu konfigurieren, um 100.000 Anfragen pro Minute zu bearbeiten:
- ZENTRALPROZESSOR: Nginx ist eine CPU-gebundene Anwendung, was bedeutet, dass sie stark auf den Prozessor angewiesen ist, um Anforderungen zu bearbeiten. Wenn die CPU nicht in der Lage ist, mit der Nachfrage Schritt zu halten, kann sie zu einem Engpass werden und die Menge an Verkehrsnginx begrenzen.
- Speicher: Nginx verwendet eine kleine Menge Speicher pro Verbindung, aber beim Umgang mit einer großen Anzahl von Verbindungen kann die Speicherverwendung schnell addieren. Wenn der Server keinen Speicher hat, kann er verlangsamt oder abstürzen, was zu einem Engpass führt.
- Festplatte I/O: Nginx stützt sich auf Festplatten -E/A, um statische Dateien oder Protokollanforderungen zu liefern. Wenn das Scheiben -E/A -Subsystem langsam oder überlastet ist, kann es zu einem Engpass werden und die Leistung von Nginx beschränken.
- Netzwerk I/O: Nginx kommuniziert mit Kunden und Upstream -Servern über das Netzwerk. Wenn die Netzwerkschnittstelle zum Engpass wird, kann die Menge an Verkehrsnginx einschränken.
- Upstream -Server: Wenn Nginx Anforderungen an Upstream -Server (z.
- Anwendungscode: Wenn der von Nginx bediente Anwendungscode Leistungsprobleme aufweist, kann er den Datenverkehr einschränken, den Nginx behandeln kann. Wenn die Anwendung beispielsweise über eine langsame Datenbankabfrage verfügt, kann sie den gesamten Anforderungs-/Antwortzyklus verlangsamen.
Um das Ziel zu erreichen, 100.000 Anfragen pro Minute zu bearbeiten, ist es wichtig, potenzielle Engpässe zu identifizieren und anzugehen. Dies kann die Aktualisierung der Hardware, die Optimierung der NGINX -Konfiguration, das Einstellen des Betriebssystems, die Optimierung des Anwendungscodes und das horizontale Skalieren auf mehrere Server beinhalten.
Abschluss
Nginx ist ein leistungsstarker Webserver, der eine große Menge Datenverkehr mit der richtigen Konfiguration verarbeiten kann. Durch Erhöhen der Anzahl von Arbeiterprozesse, Stimmung Arbeiterverbindungen, Konfigurieren Keepalive Verbindungen, Optimierung des Caching, Und Lastverteilung, Sie können NGINX so konfigurieren, dass 100.000 Anforderungen pro Minute bearbeitet werden. Es ist wichtig zu beachten. Eine regelmäßige Überwachung und Abstimmung kann dazu beitragen, dass Ihr Server optimal funktioniert und Ihre Verkehrsanforderungen bearbeitet.