Nginx – Eingeschränkte Petitionen

Obwohl Nginx ereignisorientiert ist und es uns ermöglicht, Ressourcen zu optimieren, um schnelle Antworten zu geben und weniger Ressourcen zu verbrauchen, reicht dies manchmal nicht aus, und der Service wird allmählich unzureichend.

In diesem Fall treten im Web häufig “Timeout” -Fehler auf, dh es dauert von der Anforderung an lange, bis Nginx sich darum kümmert. Die sofortige und empfohlene Lösung besteht darin, die Serverhardware zu verbessern, unabhängig davon, ob mehr RAM oder besser Prozessor oder beides, dies ist jedoch nicht immer möglich.

Limit

Die Grenze, die wir festlegen können, besteht darin, den von den Anforderungen belegten Speicherplatz zu verringern und die Häufigkeit dieser Anforderungen zu verringern. Dies wird erreicht, indem in einer Sitzung ein Bereich erstellt wird, in dem ermittelt wird, wen wir in ihren Anforderungen gegenüber unserem Nginx- Service einschränken werden.

In der folgenden Abbildung sehen wir ein Beispiel dafür, wie wir diese Zonen und Grenzen festlegen können:

nginx_limitando_pet.jpg

Wie funktioniert das Limit?

Das vorige Beispiel ist sehr einfach zu verstehen. Zuerst haben wir in unserem HTTP-Block die Zone eingerichtet. Dies geschieht mit limit_req_zone , die uns mitteilt, welche Variable wir einrichten werden, um sie zu erstellen, in diesem Fall die Binärdatei der IP-Adresse Remote , das heißt, der Client, dies ist das, was als Identifizierungswert oder Schlüssel für die Sitzung dient. Dann legen wir mit zone den Bereich fest, den wir diesem Bereich zuweisen möchten, und schließlich die Häufigkeit der akzeptierten Anforderungen Fall wird eine Anfrage pro Sekunde sein.

Jetzt teilen wir Ihnen in unserem Serverblock mit limit_req mit , dass er die Zone einnimmt , die wir im HTTP-Block eingerichtet haben. Dies ermöglicht es uns, eine “unendliche” Anzahl von Zonen einzurichten. Hier ist das Limit die Speicherkapazität des Computers, auf dem wir den Service haben von Nginx . Wenn der obere Rand der Anforderungen erreicht ist, wird Benutzern ein Dienstfehler 503 angezeigt, der nicht verfügbar ist , wodurch verhindert wird, dass die Erfahrung anderer Benutzer unter geringer Leistung leidet.

Sitzungsschlüssel
Wir können praktisch jeden Wert als Sitzungsschlüssel verwenden, es wird jedoch empfohlen, einen kleinen Wert, der im Speicher untergebracht werden kann, für alle zusätzlichen Anforderungen zu verwenden, damit beim Multiplizieren der Summe der eingehenden Verbindungen mit dem Wert der Größe aller Verbindungen Sitzungen sind kleiner als der Sitzungscache. Geschieht dies nicht, können wir nicht das Maximum der von uns eingerichteten Zonen verwenden, wodurch der Zweck des von uns erstellten Objekts mit den Grenzen der Anforderungen zerstört wird.

Damit schließen wir dieses Tutorial ab, da wir sehen, dass Nginx zwar immer die Leistung unseres Service verbessern soll, aber auch Tools anbietet, die wir verwenden können, wenn unsere Hardware nicht mehr zulässt Es gibt Fälle wie Shared Server, bei denen wir keine Änderungen vornehmen können und die wir für diese Art von Lösungen in Frage stellen müssen.

See also  Verwalten Sie Ihre Fotos und Videos in der Cloud mit Google Fotos

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *