Nginx - Verzoeken beperken

Inhoudsopgave
Niettegenstaande Nginx het is evenement georiënteerd en dat dit ons in staat stelt om middelen te optimaliseren om snel te reageren en met minder middelenverbruik, er zijn momenten waarop het niet genoeg is en op dezelfde manier begint de service tekort te schieten.
Wanneer dit gebeurt, begint het web veel fouten te bevatten van: "Time-out", dat wil zeggen, een lange tijd verstrijkt vanaf het verzoek tot Nginx kan doen, is de onmiddellijke en aanbevolen oplossing om de serverhardware te verbeteren, ofwel meer RAM of een betere processor of beide, maar dit is niet altijd mogelijk.
Begrenzing
De limiet die we kunnen vaststellen, is om de hoeveelheid geheugen die wordt verbruikt door verzoeken te verminderen en hun frequentie te verminderen, we bereiken dit door een zone te creëren met behulp van een sessie om te weten wie we gaan beperken in hun verzoeken tegen onze service Nginx.
Laten we in de volgende afbeelding een voorbeeld zien van hoe we deze zones en limieten kunnen vaststellen:

Hoe werkt de limiet?
Het bovenstaande voorbeeld is heel gemakkelijk te begrijpen, eerst in onze HTTP-blok we hebben de zone vastgesteld, dit doen we met limit_req_zone, die ons vertelt wat de variabele is die we gaan instellen om het te bouwen, in dit geval de extern IP-adres binair, dat wil zeggen, van de client, dit is wat zal dienen als de identificatiewaarde of sleutel van de sessie, dan met zone we bepalen de ruimte die we aan die zone gaan toewijzen en tot slot de frequentie van geaccepteerde verzoeken, in dit geval is het één verzoek per seconde.
Nu in onze server blok met limit_req we vertellen hem dat hij de zone gaat innemen die we in de… HTTP-blok, hierdoor kunnen we een "oneindig" aantal zones instellen, hier is de limiet de hoeveelheid geheugen die de apparatuur heeft waarop we de service hosten Nginx. Wanneer de verzoeklimiet is bereikt, zien gebruikers een fout 503-service niet beschikbaar, waardoor wordt voorkomen dat de ervaring van andere gebruikers lijdt onder slechte prestaties.
SessiesleutelWe kunnen praktisch elke waarde als sessiesleutel gebruiken, maar het wordt aanbevolen een kleine waarde te gebruiken die in het geheugen kan worden ondergebracht met alle aanvullende verzoeken, zodat door het totaal van de inkomende verbindingen te vermenigvuldigen met de waarde van de grootte van alle sessies zijn kleiner dan de grootte van de sessiecacheAls dit niet gebeurt, zullen we niet in staat zijn om het maximum van de zones die we instellen te gebruiken, waardoor het doel wordt vernietigd van wat we bouwen met de limieten van de verzoeken.
Hiermee sluiten we deze tutorial af, zoals we zien ondanks het feit dat het altijd de bedoeling is om de prestaties van onze service te verbeteren, Nginx Het biedt ons ook tools die we kunnen gebruiken wanneer onze hardware niet meer geeft, wat we hier hebben uitgelegd, zou een laatste redmiddel moeten zijn, maar er zijn gevallen zoals gedeelde servers dat we geen wijzigingen kunnen aanbrengen en dat we hier een beroep op moeten doen soort oplossing.Vond je deze Tutorial leuk en heb je eraan geholpen?Je kunt de auteur belonen door op deze knop te drukken om hem een ​​positief punt te geven

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave