Re: limit_req странное поведение

Валентин Бартенев vbart at nginx.com
Thu Jun 6 20:00:16 UTC 2013


On Thursday 06 June 2013 23:31:23 Anatoly Mikhailov wrote:
> Столкнулся с очень неожиданной проблемой, limit_req ведет себя
> непредсказуемо. Установка любого количества запросов в limit_req_zone
> сводится к ограничению, которое устанавливается через limit_req.
> 
> Такой конфиг пропустит только 1 запрос в секунду (проверено через Apache
> Bench):
> 
>   limit_req_zone            $binary_remote_addr zone=one:10m rate=70r/s;
>   limit_req                      zone=one;
> 
> Такой конфиг позволит пройти только 6 запросам в секунду:
> 
>   limit_req_zone            $binary_remote_addr zone=one:10m rate=70r/s;
>   limit_req                      zone=one burst=5;
> 
> Вопрос, каким образом влияет параметр rate на ограничение запросов?
> 

С каких это пор ab умеет лимитировать скорость поступления запросов? =)

70 запросов в секунду - это 1000мс/70 ~ 14мс, вы видимо запустили ab -n N
и N запросов были благополучно посланы менее чем за 14мс, естественно при
этом N-1 получили отлуп (во втором случае ещё 5 запросов заполнили ведерко
и были задержаны, остальные уже получили отлуп).

Читайте: http://en.wikipedia.org/wiki/Leaky_bucket

--
Валентин Бартенев
http://nginx.org/en/donation.html


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