Как nginx считает текущую скорость при работе limit req?
Vanya
nginx-forum на nginx.us
Сб Янв 9 10:44:38 MSK 2010
И все-таки я побуду утренним занудой. Теоретический вопрос.
вот к примеру имеем в конфиге
limit_req_zone $binary_remote_addr zone=one:10m rate=30r/s;
Допустим на сервер приходят 9 запросов с промежутком 50ms
С точки зрения математики и сферического коня в вакууме, фактическая частота запросов при этих условиях составит:
1/50ms = 20 запросов в секунду.
А с точки зрения nginx`a?
Почему я задаю такой вопрос? Меня бы это не волновало, но.
Я в качестве эксперимента выставил лимит на частоту 30r/s, далее иду на тестовую страницу, на которой около 15-ти картинок, стилей и прочих элементов (т.е. в сумме, при одном рефреше этой страницы, браузер сгенерирует не больше 16 запросов).
И что же я получаю в error логе? Я все равно получаю якобы превышение частоты и дилэи (от 1 до 3).
А если усложнить вопрос и представить что несколько запросов шли с разным интервалом но уложились в одну секунду? По какой формуле нгинкс вычисляет скорость для решения об ограничении n+1-го запроса? Текущее среднее?
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,39003,39003#msg-39003
Подробная информация о списке рассылки nginx-ru