Каково определение пакета в настройке Nginx limit_req?

9

Какая разница между этим:

limit_req_zone $binary_remote_addr zone=flood:10m rate=30r/s;
limit_req zone=flood nodelay

а также:

limit_req_zone $binary_remote_addr zone=flood:10m rate=30r/s;
limit_req zone=flood burst=5 nodelay

Документация http://wiki.nginx.org/HttpLimitReqModule .

Gajus
источник

Ответы:

1

В твоем случае:

разрешить в среднем не более 30 запросов в секунду, при этом пакеты не превышают 5 запросов.

Ссылка: http://nginx.org/en/docs/http/ngx_http_limit_req_module.html

Алан Айви
источник
2
Использование определяемого слова в его определении не очень полезно. Что такое "взрыв" в контексте limit_req? (Другие ответы отвечают на это)
Джахед
15

Как говорится о взрыве на http://nginx.org/en/docs/http/ngx_http_limit_req_module.html

Чрезмерные запросы задерживаются до тех пор, пока их количество не превысит максимальный размер пакета

Это означает, что в вашем случае первые 5 запросов «игнорируются» и учитываются только запросы 6 и выше. Таким образом, по запросу 35 предел 30 достигнут. Затем, по запросу 36 в течение той же 1 секунды, исходящей от того же источника, nginx отправит ответ 503 вместо дальнейшей обработки запроса.

RavanH
источник
6

Пакет означает, что он будет отложен на следующую секунду. Если количество запросов превышает 30 в секунду, nginx отправляет код ошибки 503.

Взрыв работает как очередь

Gaptek Обновление
источник