Je n'ai pas compris cela lors de la première lecture de l'introduction de https://www.nginx.com/blog/rate-limiting-nginx/ .
Maintenant, je suis sûr de comprendre et ma réponse est jusqu'à présent la meilleure. :)
Supposons que: 10r/sest défini, la capacité maximale du serveur est par exemple 10000r/sce qui est 10r/mset il n'y a qu'un seul client pour le moment.
Voici donc la principale différence entre 10r/s per IP burst=40 nodelayet 10r/s per IP burst=40.

Comme le https://www.nginx.com/blog/rate-limiting-nginx/ l'a documenté ( je recommande fortement de lire l'article en premier (sauf la section de limitation de débit en deux étapes )), ce comportement résout un problème. Laquelle?:
Dans notre exemple, le 20e paquet dans la file d'attente attend 2 secondes pour être transféré, auquel cas une réponse à celui-ci pourrait ne plus être utile au client.
Vérifiez le brouillon que j'ai fait, la 40thdemande obtient une réponse pendant 1sque l'autre 40thobtient une réponse à 4s.
Cela peut faire le meilleur usage de la capacité du serveur: renvoie des réponses aussi rapidement que possible tout en conservant la x r/scontrainte à un client / IP donné.
Mais il y a aussi un coût ici. Le coût sera:
Si plusieurs clients font la queue sur le serveur, disons client A, Bet C.
Sans nodelay, les demandes sont servies dans un ordre similaire à ABCABCABC.
Avec nodelay, l'ordre est plus susceptible d'être AAABBBCCC.
Je voudrais résumer l'article https://www.nginx.com/blog/rate-limiting-nginx/ ici.
Surtout, la configuration la plus importante est x r/s.
x r/s seulement, les demandes excédentaires sont rejetées immédiatement.
x r/s+ burst, les demandes en excès sont mises en file d'attente.
1.vs 2., le coût est que du côté client, les requêtes en file d'attente saisissent les chances de demandes ultérieures qui auront eu la chance d'être servies.
Par exemple, 10r/s burst=20vs 10r/s, la 11thdemande est censée être rejetée immédiatement dans cette dernière condition, mais maintenant elle est mise en file d'attente et sera traitée. La 11thdemande prend 21thsa chance.
x r/s+ burst+ nodelay, déjà expliqué.
PS La section de limitation de débit en deux étapes de l'article est très déroutante. Je ne comprends pas, mais cela ne semble pas avoir d'importance.
Par exemple:
Avec cette configuration en place, un client qui effectue un flux continu de demandes à 8 tr / s rencontre le comportement suivant.
8 r / s? sérieusement? Il y a 17 demandes dans les 3 secondes affichées dans l'image, 17/3 = 8?