Nginx - Begränsande förfrågningar

Innehållsförteckning
Trots Nginx det är händelseinriktad och att detta gör att vi kan optimera resurser för att ge snabba svar och med mindre resursförbrukning, det finns tillfällen då det inte räcker och på samma sätt börjar tjänsten bli bristfällig.
När detta händer börjar webben ha många fel "Paus", det vill säga, det går lång tid från begäran till Nginx kan ta hand om det, är den omedelbara och rekommenderade lösningen att förbättra serverhårdvaran, antingen mer RAM -minne eller en bättre processor eller båda, men detta är inte alltid möjligt.
Begränsa
Gränsen som vi kan fastställa är att minska mängden minne som förbrukas av förfrågningar och minska deras frekvens, vi uppnår detta genom att skapa en zon med en session för att kunna veta vem vi ska begränsa i deras förfrågningar mot vår tjänst Nginx.
Låt oss se i följande bild ett exempel på hur vi kan upprätta dessa zoner och gränser:

Hur fungerar gränsen?
Ovanstående exempel är mycket lätt att förstå, först i vårt HTTP -block vi har etablerat zonen, vi gör det här med limit_req_zone, som berättar vilken variabel som vi ska upprätta för att bygga den, i det här fallet fjärr -IP -adress binär, det vill säga klienten, det här är vad som fungerar som identifierarens värde eller nyckel för sessionen, sedan med zon vi fastställer det utrymme som vi ska tilldela nämnda zon och slutligen frekvensen av accepterade förfrågningar, i detta fall kommer det att vara en begäran per sekund.
Nu i vår serverblock med limit_req vi säger till honom att han kommer att ta den zon vi etablerade i HTTP -block, detta gör att vi kan upprätta ett "oändligt" antal zoner, här är gränsen mängden minne som utrustningen där vi är värd för tjänsten har Nginx. När förfrågningsgränsen nås kommer användarna att se a fel 503 -tjänsten inte tillgänglig, vilket förhindrar att andra användares erfarenhet drabbas av dålig prestanda.
Session nyckelVi kan använda praktiskt taget vilket värde som en sessionsnyckel, men det rekommenderas att ett litet värde används som kan rymmas i minnet med alla ytterligare förfrågningar, så att genom att multiplicera summan av inkommande anslutningar med värdet av storleken på alla sessioner vara mindre än storleken på sessionscachenOm detta inte händer kommer vi inte att kunna använda maximalt för de zoner som vi etablerar, och på så sätt förstöra syftet med det vi bygger med begränsningarna av förfrågningarna.
Med detta avslutar vi denna handledning, som vi ser trots att tanken alltid är att förbättra prestandan för vår tjänst, Nginx Det erbjuder oss också verktyg som vi kan använda när vår hårdvara inte ger mer, det vi har förklarat här borde vara en sista utväg, men det finns fall som delade servrar som vi inte kan göra några ändringar och som vi måste överklaga för detta typ av lösning.Gillade du och hjälpte denna handledning?Du kan belöna författaren genom att trycka på den här knappen för att ge honom en positiv poäng
wave wave wave wave wave