nginx-1.15.7

Sergey Kandaurov pluknet на nginx.com
Вт Ноя 27 22:47:54 UTC 2018



> On 28 Nov 2018, at 00:45, VovansystemS <vovansystems на gmail.com> wrote:
> 
> Добрый вечер,
> 
>>    *) Добавление: параметр "delay" директивы "limit_req".
>>       Спасибо Владиславу Шабанову и Петру Щучкину.
> 
> прочитал документацию несколько раз, но мне кажется я так и не понял
> как именно работает delay:
> 
>> Если же избыточные запросы в пределах лимита всплесков
>> задерживать не требуется, то следует использовать параметр nodelay:
>> limit_req zone=one burst=5 nodelay;
>> Параметр delay (1.15.7) задаёт лимит, по достижении которого
>> избыточные запросы задерживаются.
>> Значение по умолчанию равно нулю и означает,
>> что задерживаются все избыточные запросы.
> 
> Не могли бы Вы привести пример и объяснить это подробнее?
> 

Следует читать так:

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

И далее:

: Параметр delay (1.15.7) задаёт лимит, по достижении которого избыточные
: запросы задерживаются.

Т.е. параметр имеет смысл при условии delay < burst.

> Правильно ли я понимаю, что при
> limit_req zone=one burst=5 delay=5;
> пять первых запросов отправленные в ту же секунду к серверу будут
> обслужены сразу же,
> а шестой и последующие уже будут завершены с ошибкой,
> если скорость поступления запросов превышает описанную в зоне?

Это эквивалентно
limit_req zone=one burst=5 nodelay;

Следовательно, шестой и последующие будут отклонены.

-- 
Sergey Kandaurov



Подробная информация о списке рассылки nginx-ru