ПРОЕКТЫ 


  АРХИВ 


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: $upstream_response_time != времени о твета бэкэнда



Hello!

On Fri, Oct 22, 2010 at 08:23:32PM +0400, cronfy wrote:

> >> set $s. Фактически получается, что upstream_response_time - это не
> >> время обработки запроса бэкэндом, а время с момента начала исполнения
> >> location, включая все rewrite'ы, до закрытия соединения с бэкэнда.
> > Тот факт, что perl'овый sleep() оказывается включён в
> > $upstream_response_time - следствие того, что время в nginx'е
> > обновляется только при получении очередной партии событий из ядра.
> > Предполагается, что код не блокируется и соответственно обработка
> > событий происходит быстро.
> 
> Ок, а как тогда обстоит дело с if ( -e $file) и try_files? На них
> nginx блокируется и время включается в upstream_response_time или нет?

Если не повезёт - заблокируется, неблокирующихся интерфейсов для 
stat()'а не существует.  Время, соответственно, включается.

Кроме того, надо понимать что включается также время обработки 
других запросов, выполнявшихся на той же итерации цикла обработки 
событий (если события из ядра пришли сразу по нескольким 
запросам).  Любое время в nginx'е - с точностью до времени 
обработки партии событий из ядра.  Поскольку 
$upstream_response_time - разность двух значений времени, 
погрешность соответственно 2*(время обработки).

Maxim Dounin

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.