Maxim Dounin
June 04, 2019 12:50PM
Hello!

On Tue, Jun 04, 2019 at 12:02:47PM -0400, kron wrote:

> Доброго дня.
> Наблюдаю странную картину в логах. Логируется две переменных - request_time
> и upstream_response_time.
> Судя по документации логично предположить, что request_time будет всегда
> либо больше, либо равной upstream_response_time, но по факту оказалось, что
> upstream_response_time хоть и не значительно, но бывает больше чем
> request_time. Хотелось бы понять в каких случаях такое возможно?
>
> Пример таймингов:
> request_time upstream_response_time method
> 5.954 5.956 GET
> 5.421 5.424 GET
> 30.576 30.577 GET
> 2.302 2.304 GET
> 2.298 2.300 GET
> 1.923 1.924 GET
> 1.898 1.900 GET
> 1.802 1.804 GET
> 1.774 1.776 GET
> 1.683 1.684 GET
>
> версия nginx - 1.15.5

Это связано с тем, что сейчас на Линуксе $upstream_response_time
считается через clock_gettime(CLOCK_MONOTONIC_COARSE), и при
типичных значениях CONFIG_HZ=250 оно может отставать на время до 4
миллисекунд. В то же время время для расчёта $request_time
используется не монотонное время, а результат gettimeofday(), то
есть время по настенным часам. Так что в некоторых случаях
$upstream_response_time может быть незначительно больше
$request_time.

--
Maxim Dounin
http://mdounin.ru/
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

upstream_response_time larger than request_time

kron June 04, 2019 12:02PM

Re: upstream_response_time larger than request_time

Maxim Dounin June 04, 2019 12:50PM

Re: upstream_response_time larger than request_time

kron June 05, 2019 01:16AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 280
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready