limit_req

Valery Kholodkov valery+nginxru на grid.net.ru
Чт Сен 15 09:31:38 UTC 2011


----- Valery Kholodkov <valery+nginxru at grid.net.ru> wrote:
> > и какой физический смысл значения excess? 
> > > 
> > > Excess - это текущее количество запросов, скопившееся в "корзине".  
> > > Если оно больше параметра burst - запросы будут отбрасываться. 
> > 
> > Я тоже так подумал, но не понимаю, как количество запросов может быть
> > дробное. Про leaky bucket algorithm прочитал, можно снова туда не
> > посылать.
> 
> Это в запросах в секунду. Если получили 1 запрос и прошло 2 секунды, получим значение 0.5

Нет, я не прав, и excess измеряется действительно в запросах. Думаю, такая точность нужна, чтобы вычислить время ожидания. То есть, если хочется 2 запроса в секунду, а пришло 2 с интервалом 100ms, то excess будет (500ms - 100ms) / 2 = 0.2 запроса. Если через 100ms придет третий, то его нужно будет задержать 1 / 2 + 0.2 * 2 - 100ms = 800ms. Тогда на любом интервале в 1 секунду будет ровно 2 запроса. Соответственно, 100ms = 0.1 в этих расчетах. 

-- 
Regards,
Valery Kholodkov


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