Nginx - Limitation des demandes

Table des matières
Malgré que Nginx il est orienté événement et que cela nous permet d'optimiser les ressources pour donner des réponses rapides et avec moins de consommation de ressources, il y a des moments où cela ne suffit pas et de la même manière le service commence à faire défaut.
Lorsque cela se produit, le Web commence à avoir de nombreuses erreurs de "Temps libre", c'est-à-dire qu'un long délai s'écoule entre la demande et Nginx peut s'en occuper, la solution immédiate et recommandée est d'améliorer le matériel du serveur, soit plus de RAM, soit un meilleur processeur, soit les deux, mais ce n'est pas toujours possible.
Limite
La limite que nous pouvons établir est de réduire la quantité de mémoire consommée par les requêtes et de réduire leur fréquence, nous y parvenons en créant une zone à l'aide d'une session pour pouvoir savoir qui nous allons limiter dans leurs requêtes contre notre service Nginx.
Voyons dans l'image suivante un exemple de la façon dont nous pouvons établir ces zones et limites :

Comment fonctionne la limite ?
L'exemple ci-dessus est très facile à comprendre, d'abord dans notre Blocage HTTP nous avons établi la zone, nous le faisons avec limite_req_zone, qui nous dit quelle est la variable que l'on va établir pour la construire, en l'occurrence le adresse IP distante binaire, c'est-à-dire du client, c'est ce qui va servir d'identifiant valeur ou clé de la session, puis avec zone on établit l'espace que l'on va attribuer à ladite zone et enfin la fréquence des requêtes acceptées, dans ce cas ce sera une requête par seconde.
Maintenant dans notre bloc de serveur avec limite_req nous lui disons qu'il va prendre la zone que nous avons établie dans le Blocage HTTP, cela nous permet d'établir un nombre "infini" de zones, ici la limite est la quantité de mémoire dont dispose l'équipement où nous hébergeons le service Nginx. Lorsque le plafond de demandes est atteint, les utilisateurs verront un erreur 503 service non disponible, empêchant ainsi l'expérience des autres utilisateurs de souffrir de mauvaises performances.
Clé de sessionNous pouvons utiliser pratiquement n'importe quelle valeur comme clé de session, cependant il est recommandé d'utiliser une petite valeur pouvant être hébergée en mémoire avec toutes les requêtes supplémentaires, de sorte qu'en multipliant le total des connexions entrantes par la valeur de la taille de toutes les séances soient inférieure à la taille du cache de sessionSi cela ne se produit pas, nous ne pourrons pas utiliser le maximum des zones que nous établissons, détruisant ainsi la finalité de ce que nous construisons avec les limites des demandes.
Avec cela, nous terminons ce tutoriel, comme nous le voyons malgré le fait que l'idée est toujours d'améliorer les performances de notre service, Nginx Il nous offre également des outils que nous pouvons utiliser lorsque notre matériel ne donne pas plus, ce que nous avons expliqué ici devrait être un dernier recours, mais il existe des cas tels que les serveurs partagés que nous ne pouvons apporter aucune modification et que nous devons faire appel pour cela type de solution.Avez-vous aimé et aidé ce tutoriel ?Vous pouvez récompenser l'auteur en appuyant sur ce bouton pour lui donner un point positif

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave