Heim > Artikel > Web-Frontend > Detaillierte Erläuterung der Nginx-Geschwindigkeitsbegrenzung für die Verbindungsanzahl
Diese Situation kommt häufig vor: ungewöhnlicher Serververkehr, übermäßige Auslastung usw. Bei böswilligen Angriffen mit großem Datenverkehr führt dies zu einer Verschwendung von Bandbreite und Serverdruck und beeinträchtigt das Geschäft. Es wird häufig in Betracht gezogen, die Anzahl der Verbindungen und die Anzahl der Parallelität für dieselbe IP zu begrenzen. Ich werde nicht näher auf die Verwendung des integrierten Geschwindigkeitslimits des Nginx-Moduls eingehen. Lassen Sie uns heute über das Geschwindigkeitslimit für die Anzahl der Verbindungen und die Anzahl der Einzelverbindungen sprechen. Es gibt nicht viel zu sagen, werfen wir einen Blick auf die ausführliche Einführung.
Szenario:
Unternehmen A hat 100 Personen und Unternehmen A hat nur eine öffentliche IP. Gehen Sie davon aus, dass 100 Personen in Unternehmen A gleichzeitig Ihre Website-Dateien herunterladen.
Ihre Verbindungslimitkonfiguration lautet jedoch:
limit_conn_zone $binary_remote_addr zone=perip:1m; server { --- limit_conn perip 1; limit_rate 1024k; --- }
Eine einzelne Verbindung ist zulässig und die maximale Bandbreite einer einzelnen Verbindung beträgt 1 MB.
Auf diese Weise haben 99 Personen einen Anforderungsstatus von 503, und andere müssen manuell warten, wenn sie herunterladen möchten (nginx benachrichtigt Benutzer nicht, dass Benutzer A den Download abgeschlossen hat, und es gehört Ihnen wenden Sie sich an Benutzer B, um ihn herunterzuladen). Dies führt zu einer äußerst schlechten Benutzererfahrung. Aber auch die Vorteile liegen auf der Hand und die Bandbreite wird bald sinken.
Jemand könnte fragen: Versuchen Sie, Ärger zu verursachen, indem Sie die Anzahl der Verbindungen auf eine sehr niedrige Zahl beschränken? NEIN, absolut nicht. Wie wahrscheinlich ist es, dass die ersten 100 Personen gleichzeitig Website-Ressourcen herunterladen? Ich habe keine Statistiken erstellt, aber es ist äußerst unwahrscheinlich. Darüber hinaus haben die Front-End-Seite und die Download-Ressourcen nicht denselben Domänennamen, sodass der Zugriff auf die Front-End-Seite nicht beeinträchtigt wird.
Wer nutzt viele Verbindungen? Unterteilt in zwei Kategorien:
Download-Tools (Thunder).
Verschiedene Sammelprogramme.
Führen Sie mehrere Download-Aufgaben gleichzeitig aus.
Xiao Ming schaute glücklich auf den Bildschirm und ergriff das Gras. Die Bandbreite war wieder voll >
Xiao Ming hat die folgende Geschwindigkeitsbegrenzung vorgenommen. Natürlich kann der Downloader des 360-Browsers diese nicht begrenzen Berechnen Sie die Geschwindigkeit.limit_conn_zone $binary_remote_addr zone=perip:1m; server { --- limit_rate 1024k; --- }
Browser: 2014K
Downloader: 1024 * 15 (maximale Anzahl von Verbindungen) * VIP
Collector: 1024 * Verbindungsnummer
Wir kommen also zu folgendem Schluss:
Die Bandbreite ist begrenzt und die Situation gleichzeitiger Downloads von derselben IP ist sehr gering, oder es handelt sich um ein vorhersehbares Geschäft, also versuchen Sie, die Anzahl zu begrenzen Anschlüsse so klein wie möglich.
Ganz im Gegenteil: Schränken Sie es nicht ein. Reduzieren Sie einfach die Bandbreite einer einzelnen Verbindung! Wissen Sie, wer von Ihnen kann den mit dem Browser gelieferten Downloader zum Herunterladen verwenden?
Hinweis: In diesem Artikel geht es nur um die Geschwindigkeitsbegrenzung des Nginx-Geschwindigkeitsbegrenzungsmoduls für verschiedene Unternehmen.
Osterei: Gelegentlich habe ich festgestellt, dass Xunlei nicht mit hoher Geschwindigkeit herunterladen kann, wenn die Anzahl der Anzahl der Verbindungen ist auf 1 begrenzt.
Verwandte Empfehlungen:
nginx Konfigurieren einer statischen React-Seite Beispiel-TutorialWie wäre es mit Apache und Nginx Wählen Sie So implementieren Sie einen Reverse-Proxy mit Nginx in PHPDas obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Nginx-Geschwindigkeitsbegrenzung für die Verbindungsanzahl. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!