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