Turinys
Nepaisant Nginx tai yra orientuotas į renginį ir kad tai leidžia mums optimizuoti išteklius, kad galėtume greitai reaguoti ir sunaudojant mažiau išteklių, yra atvejų, kai to nepakanka, o paslauga pradeda trūkti.Kai taip atsitinka, žiniatinklyje atsiranda daug klaidų "Laikas baigėsi", tai yra, nuo užklausos praėjo daug laiko iki Nginx Jei norite tai padaryti, tiesioginis ir rekomenduojamas sprendimas yra patobulinti serverio aparatinę įrangą, arba daugiau RAM, arba geresnį procesorių, arba abu, tačiau tai ne visada įmanoma.
Riboti
Riba, kurią galime nustatyti, yra sumažinti užklausų sunaudojamos atminties kiekį ir sumažinti jų dažnumą. Tai pasiekiame sukurdami zoną, naudodami sesiją, kad galėtume žinoti, kam apribosime jų užklausas prieš mūsų paslaugą Nginx.
Toliau pateiktame paveikslėlyje pamatysime pavyzdį, kaip galime nustatyti šias zonas ir ribas:
Kaip veikia riba?
Pirmiau pateiktą pavyzdį labai lengva suprasti, pirmiausia mūsų HTTP blokas mes nustatėme zoną, tai darome su limit_req_zone, kuris nurodo, kuris yra kintamasis, kurį ketiname nustatyti, kad jį sukurtume, šiuo atveju nuotolinis dvejetainis IP adresas, tai yra kliento, tai bus tai, kas bus naudojama kaip seanso identifikatoriaus vertė arba raktas, tada su zona mes nustatome erdvę, kurią ketiname priskirti minėtai zonai, ir galiausiai priimamų užklausų dažnumą, šiuo atveju tai bus viena užklausa per sekundę.
Dabar mūsų serverio blokas su limit_req mes jam sakome, kad jis eis į zoną, kurią sukūrėme HTTP blokas, tai leidžia mums nustatyti „begalinį“ zonų skaičių, čia riba yra atminties kiekis, kurį turi įranga, kurioje mes teikiame paslaugą Nginx. Pasiekus užklausos ribą, vartotojai matys a 503 klaida paslauga nepasiekiama, taip neleisdami kitiems vartotojams patirti prastos veiklos.
Sesijos raktasMes galime naudoti praktiškai bet kokią vertę kaip seanso raktą, tačiau rekomenduojama naudoti nedidelę vertę, kuri gali būti talpinama atmintyje su visomis papildomomis užklausomis, kad padauginus gaunamų ryšių sumą iš dydžio dydžio visi seansai bus mažesnis už seanso talpyklos dydįJei taip neatsitiks, negalėsime išnaudoti maksimaliai mūsų nustatomų zonų, taip sugadindami užstatymo tikslą su prašymų ribomis.
Tuo baigiame šią mokymo programą, kaip matome, nepaisant to, kad idėja visada yra pagerinti mūsų paslaugos našumą, Nginx Ji taip pat siūlo mums įrankius, kuriuos galime naudoti, kai mūsų aparatinė įranga neduoda daugiau, tai, ką mes čia paaiškinome, turėtų būti paskutinė išeitis, tačiau yra atvejų, kai, pavyzdžiui, bendrinami serveriai, negalime atlikti jokių pakeitimų ir turime kreiptis dėl to sprendimo tipas.Ar jums patiko ir padėjo ši pamoka?Galite apdovanoti autorių paspausdami šį mygtuką, kad suteiktumėte jam teigiamą tašką