Nginx - Ograniczanie żądań

Spisie treści
Mimo Nginx To jest zorientowany na wydarzenia i że to pozwala nam zoptymalizować zasoby, aby dać szybkie odpowiedzi i przy mniejszym zużyciu zasobów, są chwile, kiedy to nie wystarczy i w ten sam sposób usługa zaczyna zawodzić.
Kiedy tak się dzieje, w sieci zaczyna pojawiać się wiele błędów "Koniec czasu", to znaczy, że od żądania do Nginx może się tym zająć, natychmiastowym i zalecanym rozwiązaniem jest ulepszenie sprzętu serwera, albo więcej pamięci RAM, albo lepszy procesor, albo jedno i drugie, jednak nie zawsze jest to możliwe.
Limit
Limit, który możemy ustalić, to zmniejszenie ilości pamięci zużywanej przez żądania i zmniejszenie ich częstotliwości, osiągamy to, tworząc strefę za pomocą sesji, aby móc wiedzieć, kogo będziemy ograniczać w ich żądaniach względem naszej usługi Nginx.
Zobaczmy na poniższym obrazku przykład, jak możemy ustalić te strefy i granice:

Jak działa limit?
Powyższy przykład jest bardzo łatwy do zrozumienia, najpierw w naszym Blokowanie HTTP ustanowiliśmy strefę, robimy to z limit_req_zone, który mówi nam, jaką zmienną zamierzamy ustalić, aby ją zbudować, w tym przypadku binarny zdalny adres IP, czyli klienta, to będzie służyć jako wartość identyfikatora lub klucz sesji, a następnie z strefa ustalamy przestrzeń, jaką przydzielimy tej strefie i wreszcie częstotliwość przyjmowanych żądań, w tym przypadku będzie to jedno żądanie na sekundę.
Teraz w naszym blok serwera z limit_req mówimy mu, że zamierza zająć strefę, którą ustanowiliśmy w Blokowanie HTTP, pozwala nam to na ustalenie „nieskończonej” ilości stref, tutaj limitem jest ilość pamięci jaką posiada sprzęt na którym hostujemy usługę Nginx. Po osiągnięciu limitu żądań użytkownicy zobaczą błąd 503 usługa niedostępna, dzięki czemu inni użytkownicy nie będą cierpieć z powodu niskiej wydajności.
Klucz sesjiJako klucza sesji możemy użyć praktycznie dowolnej wartości, jednak zaleca się użycie małej wartości, która może być zmieszczona w pamięci wraz ze wszystkimi dodatkowymi żądaniami, tak aby mnożąc sumę połączeń przychodzących przez wartość rozmiaru wszystkie sesje be mniej niż rozmiar pamięci podręcznej sesjiJeśli tak się nie stanie, nie będziemy mogli wykorzystać maksimum stref, które tworzymy, niszcząc tym samym cel tego, co budujemy, przy ograniczeniach żądań.
Na tym kończymy ten samouczek, jak widzimy pomimo tego, że zawsze chodzi o poprawę wydajności naszej usługi, Nginx Oferuje nam również narzędzia, z których możemy korzystać, gdy nasz sprzęt nie daje za więcej, to, co wyjaśniliśmy tutaj, powinno być ostatecznością, ale są przypadki takie jak serwery współdzielone, w których nie możemy wprowadzić żadnych zmian i musimy się o to odwołać rodzaj rozwiązania.Podobał Ci się i pomógł ten samouczek?Możesz nagrodzić autora, naciskając ten przycisk, aby dać mu pozytywny punkt
wave wave wave wave wave