Nginx - Anfragen begrenzen

Inhaltsverzeichnis
Trotz Nginx es ist ereignisorientiert und dass dies uns ermöglicht, Ressourcen zu optimieren, um schnelle Antworten zu geben und mit weniger Ressourcenverbrauch zu arbeiten, es gibt Zeiten, in denen es nicht ausreicht und auf die gleiche Weise beginnt der Service zu versagen.
Wenn dies geschieht, beginnt das Web viele Fehler von "Auszeit"d.h. es vergeht viel Zeit von der Anfrage bis Nginx kann sich darum kümmern, die sofortige und empfohlene Lösung besteht darin, die Serverhardware zu verbessern, entweder mehr RAM oder einen besseren Prozessor oder beides, dies ist jedoch nicht immer möglich.
Grenze
Die Grenze, die wir festlegen können, besteht darin, den von Anfragen verbrauchten Speicher zu reduzieren und ihre Häufigkeit zu reduzieren. Wir erreichen dies, indem wir eine Zone mit einer Sitzung erstellen, um zu wissen, wen wir in ihren Anfragen gegen unseren Dienst begrenzen werden Nginx.
Sehen wir uns in der folgenden Abbildung ein Beispiel an, wie wir diese Zonen und Grenzen festlegen können:

Wie funktioniert das Limit?
Das obige Beispiel ist sehr einfach zu verstehen, zuerst in unserem HTTP-Block Wir haben die Zone eingerichtet, wir machen das mit limit_req_zone, die uns sagt, welche Variable wir erstellen werden, um sie zu erstellen, in diesem Fall die binäre Remote-IP-Adresse, d. h. des Clients, dient dies als Bezeichnerwert oder Schlüssel der Sitzung, dann mit Zone Wir legen den Platz fest, den wir dieser Zone zuweisen werden, und schließlich die Häufigkeit der akzeptierten Anfragen, in diesem Fall eine Anfrage pro Sekunde.
Jetzt in unserem Serverblock mit limit_req Wir sagen ihm, dass er die Zone einnehmen wird, die wir in der HTTP-Block, dies ermöglicht es uns, eine "unendliche" Anzahl von Zonen einzurichten, hier ist die Grenze die Speichermenge, die das Gerät hat, auf dem wir den Dienst hosten Nginx. Wenn die Anforderungsobergrenze erreicht ist, sehen die Benutzer ein Fehler 503 Dienst nicht verfügbar, wodurch verhindert wird, dass die Erfahrung anderer Benutzer unter einer schlechten Leistung leidet.
SitzungsschlüsselWir können praktisch jeden Wert als Sitzungsschlüssel verwenden, es wird jedoch empfohlen, einen kleinen Wert zu verwenden, der mit allen zusätzlichen Anforderungen im Speicher untergebracht werden kann, so dass durch Multiplizieren der Summe der eingehenden Verbindungen mit dem Wert der Größe von alle sitzungen sind kleiner als die Größe des SitzungscachesGeschieht dies nicht, können wir das Maximum der von uns eingerichteten Zonen nicht nutzen, wodurch der Zweck dessen, was wir mit den Grenzen der Anforderungen bauen, zerstört wird.
Damit beenden wir dieses Tutorial, wie wir sehen, obwohl die Idee immer darin besteht, die Leistung unseres Dienstes zu verbessern, Nginx Es bietet uns auch Tools, die wir verwenden können, wenn unsere Hardware nicht mehr hergibt, was wir hier erklärt haben, sollte der letzte Ausweg sein, aber es gibt Fälle wie z Art der Lösung.Hat dir dieses Tutorial gefallen und geholfen?Sie können den Autor belohnen, indem Sie diesen Knopf drücken, um ihm einen positiven Punkt zu geben
wave wave wave wave wave