limit_req
Евгений Торопов
jt на aaanet.ru
Вс Янв 2 23:53:39 MSK 2011
>
>> On 01/02/2011 11:40 AM, Евгений Торопов wrote:
>>> Добрый вечер,
>>>
>>> nginx version: nginx/0.8.54
>>>
>>> Отрывок из конфига:
>>>
>>> ...
>>> limit_req_zone $binary_remote_addr zone=test:10m rate=10000r/s;
>>> location /some/url {
>>> limit_req zone=test;
>>> }
>>> ...
>>>
>>> Даже при таком огромном рейте видим в error log-е:
>>>
>>> ...
>>> 2011/01/02 19:35:44 [error] 8663#0: *21852 limiting requests, excess: 1.000 by zone "test", client: xxx.xxx.xxx.xxx, server: site.com, request: "POST /some/url HTTP/1.0", host: "www.site.com"
>>> 2011/01/02 19:35:44 [error] 8663#0: *21853 limiting requests, excess: 1.000 by zone "test", client: xxx.xxx.xxx.xxx, server: site.com, request: "POST /some/url HTTP/1.0", host: "www.site.com"
>>> 2011/01/02 19:35:44 [error] 8663#0: *21849 limiting requests, excess: 1.000 by zone "test", client: xxx.xxx.xxx.xxx, server: site.com, request: "POST /some/url HTTP/1.0", host: "www.site.com"
>>> 2011/01/02 19:35:44 [error] 8663#0: *21850 limiting requests, excess: 1.000 by zone "test", client: xxx.xxx.xxx.xxx, server: site.com, request: "POST /some/url HTTP/1.0", host: "www.site.com"
>>> ...
>>>
>>> Расскажите, пожалуйста, как такое возможно.
>>>
>>> Спасибо.
>>>
>>> Евгений
>>> jt at aaanet.ru
>>> _______________________________________________
>>> nginx-ru mailing list
>>> nginx-ru at nginx.org
>>> http://nginx.org/mailman/listinfo/nginx-ru
>>
>> Включите параметр burst=X
>>
>> Без параметра burst, если новый запрос пришёл в течении 1s/10000 = 10us от прежде отработанного, то он будет отброшен.
>> Если же есть burst=X, то до X новых запросов будут отработаны, но интервал будет увеличен каждый раз на 10us. Если придёт >X запросов в интервале, они будут отрублены.
>>
>
> Хм, то есть я правильно понимаю, что я никак не могу разрешить обработку _всех_ запросов, приходящих пачками, к примеру, по 5 штук (то есть почти одновременно) при том, что общее их число укладывается в rate, равный, к примеру, 1000r/m?
>
> Евгений
> jt at aaanet.ru
>
Хотя понял - просто burst=5. Спасибо.
Подробная информация о списке рассылки nginx-ru