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