RE: excess в ngx_http_limit_req_module

Кокорин Иван Владимирович kokorin.ivan на itmh.ru
Пн Апр 16 12:58:28 UTC 2012


Максим, спасибо за разъяснения. 
Вы правы, rate=10r/s.

-----Original Message-----
From: nginx-ru-bounces на nginx.org [mailto:nginx-ru-bounces на nginx.org] On Behalf Of Maxim Dounin
Sent: Monday, April 16, 2012 3:15 PM
To: nginx-ru на nginx.org
Subject: Re: excess в ngx_http_limit_req_module

Hello!

On Mon, Apr 16, 2012 at 05:47:22AM +0000, Кокорин Иван Владимирович wrote:

> Добрый день.
> Использую ngx_http_limit_req_module. В error_log появляются сообщения 
> вида:
> 2012/04/16 11:26:51 [warn] 51234#0: *2960920 delaying request, excess: 0.530, by zone "ib_soap", client: 172.16.3.204, server: ***, request: "POST /InformbureauApi.php HTTP/1.1", host: "***"
> 
> Если я правильно понимаю, это означает, что запрос был задержан на 
> 0.530 сек и это время в access_log должно отразиться в виде увеличения 
> $request_time относительно $upstream_response_time.
> 
> В access_log этому запросу соответствует запись
> 16/Apr/2012:11:26:51 +0600 *** 0.090 200 [ 127.0.0.1:10010 200 0.037 
> ][ 172.16.3.204 POST /InformbureauApi.php HTTP/1.1 756 ][ "-" 
> "PHP-SOAP/5.2.9" "-" ]
> 
> Разница между $request_time (0.090) и  $upstream_response_time
> (0.036) равна 0.053 сек. Т.е. фактическая разница в 10 раз меньше, чем 
> значение excess. То же самое и с другими запросами.
> Я что-то неправильно понимаю или значение excess в лог записывается с 
> ошибкой?

Excess - это количество запросов, сейчас посчитанное в соответствующем bucket'е.  Задержка будет на время (excess / rate), обеспечивающей поступление запросов со скоростью, не превышающей заданную.

Т.е. если у вас rate=10r/s, то задержка в 0.053s - это правильно.

Maxim Dounin

_______________________________________________
nginx-ru mailing list
nginx-ru на nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru



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