ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: limit req zone - некорректый подсчет числа запростов ?



On Wednesday 11 September 2013 23:59:39 SergeyFs wrote:
> Добрый день всем...
> 
> Пытался сделать ограничение кол-ва запросов для одного локейшена, и
> сталкнулся с непонятным для меня эффектом.
> 
> AWS, nginx стоит за лоад балансером.
> 
> nginx.conf :
> 
>     set_real_ip_from 10.0.0.0/16;
>     real_ip_header X-Forwarded-For;
>     real_ip_recursive on;
> 
>     limit_req_zone  $binary_remote_addr zone=basic:16m rate=300r/s;
> 
> ......
>     location ~* \.(html)$ {
>         limit_req   zone=basic  nodelay;
> .....
> 
> Лимит специально сделан сильно выше, чем в принципе нужно (реквест рэйт
> вообще не превышает 10r/s по данным амазона)  Но несмотря на это я в логах
> вижу (поправил dns и ip):
> 
> 2013/09/09 23:19:54 [error] 4818#0: *328855 limiting requests, excess:
> 0.700 by zone "basic", client: 6.1.2.194, server: dev.testserver.io,
> request: "GET /scripts/ops/views/organizations/organizations.html
> HTTP/1.1", host: "dev.testserver.io", referrer:
> "https://dev.testserver.io/ops.html"; 2013/09/09 23:21:46 [error] 4818#0:
> *329120 limiting requests, excess: 1.000 by zone "basic", client:
> 6.1.2.194, server: dev.testserver.io, request: "GET
> /scripts/ops/views/organizations/organizations.html HTTP/1.1", host:
> "dev.tesserver.io", referrer: "https://dev.testserver.io/ops.html";
> 2013/09/09 23:21:46 [error] 4818#0: *329120 limiting requests, excess:
> 0.700 by zone "basic", client: 6.1.2.194, server: dev.testserver.io,
> request: "GET /scripts/ops/views/organizations/organizations.list.html
> HTTP/1.1", host: dev.testserver.io", referrer:
> "https://dev.testserver.io/ops.html";
> 
> 
> подскажите, пожалуйста, в чем может быть причина...

В том, что "реквест рэйт" все-таки превысил 300r/s.  Это не так сложно, как
может показаться.  Достаточно послать два запроса с интервалом менее 3-х 
миллисекунд.

--
Валентин Бартенев
http://nginx.org/en/donation.html
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.