Nginx - Limitarea cererilor

Cuprins
În ciuda Nginx este orientat spre eveniment și că acest lucru ne permite să optimizăm resursele pentru a oferi răspunsuri rapide și cu un consum mai mic de resurse, există momente în care nu este suficient și, în același mod, serviciul începe să rămână scurt.
Când se întâmplă acest lucru, web-ul începe să aibă multe erori de "Pauză", adică trece mult timp de la cerere până la Nginx poate rezolva problema, soluția imediată și recomandată este îmbunătățirea hardware-ului serverului, fie mai mult RAM, fie un procesor mai bun sau ambele, însă acest lucru nu este întotdeauna posibil.
Limită
Limita pe care o putem stabili este de a reduce cantitatea de memorie consumată de solicitări și de a reduce frecvența acestora, obținem acest lucru creând o zonă folosind o sesiune pentru a putea ști pe cine vom limita în solicitările lor împotriva serviciului nostru Nginx.
Să vedem în imaginea următoare un exemplu despre cum putem stabili aceste zone și limite:

Cum funcționează limita?
Exemplul de mai sus este foarte ușor de înțeles, mai întâi în Bloc HTTP am stabilit zona, facem asta cu limit_req_zone, care ne spune care este variabila pe care urmează să o stabilim pentru a o construi, în acest caz binară adresă IP la distanță, adică a clientului, acesta este ceea ce va servi ca valoare de identificare sau cheie a sesiunii, apoi cu zona stabilim spațiul pe care urmează să-l alocăm zonei respective și în cele din urmă frecvența cererilor acceptate, în acest caz va fi o cerere pe secundă.
Acum în bloc de server cu limit_req îi spunem că va lua zona pe care am stabilit-o în Bloc HTTP, acest lucru ne permite să stabilim un număr "infinit" de zone, aici limita este cantitatea de memorie pe care o are echipamentul în care găzduim serviciul Nginx. Când se atinge limita de solicitare, utilizatorii vor vedea un Serviciul Eroare 503 nu este disponibil, împiedicând astfel experiența altor utilizatori să sufere de performanțe slabe.
Cheia sesiuniiPutem folosi practic orice valoare ca cheie de sesiune, cu toate acestea este recomandat să se utilizeze o valoare mică care poate fi găzduită în memorie cu toate cererile suplimentare, astfel încât prin înmulțirea totalului conexiunilor primite cu valoarea mărimii de toate sesiunile să fie mai mică decât dimensiunea memoriei cache a sesiuniiDacă acest lucru nu se întâmplă, nu vom putea folosi maximul zonelor pe care le stabilim, distrugând astfel scopul a ceea ce construim cu limitele cererilor.
Cu aceasta încheiem acest tutorial, așa cum vedem, în ciuda faptului că ideea este întotdeauna să îmbunătățim performanța serviciului nostru, Nginx De asemenea, ne oferă instrumente pe care le putem folosi atunci când hardware-ul nostru nu oferă pentru mai mult, ceea ce am explicat aici ar trebui să fie o ultimă soluție, dar există cazuri, cum ar fi serverele partajate, în care nu putem face modificări și că trebuie să facem apel pentru aceasta tipul soluției.V-a plăcut și ați ajutat acest tutorial?Puteți recompensa autorul apăsând acest buton pentru a-i oferi un punct pozitiv
wave wave wave wave wave