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