Welcome! Log In Create A New Profile

Advanced

Re: Зависимость значений директив *_timeout от значения timer_resolution

Maxim Dounin
February 12, 2019 10:00AM
Hello!

On Tue, Feb 12, 2019 at 05:06:09PM +0300, igor isaenko wrote:

> Здравствуйте.
> Я заметил интересный момент и хотел бы уточнить, правильно ли я его понял.
> Похоже, работа директив директив *_timeout сильно зависит от значения
> timer_resolution.
> А точнее, лучше не ставить таймауты меньше или равными timer_resolution.
>
> При timer_resolution = 100ms, nginx узнает время раз в 100 миллисекунд.
> Т.е. грубо говоря, у него один момент времени "12:00:00 30:00,100", а
> второй момент времени - только "12:00:00 30:00,200".
> Все временные метки помечаются временем с точностью до 100 мс, потому что
> nginx округляет время до 100 мс.

[...]

> Не подскажите, правильно ли я нашел причину?
> Может быть, стоит указать в документации, что timer_resolution должен быть
> меньше, чем самый маленький *_timeout?

Да, при использовании timer_resolution - погрешность определения
времени будет от 0 до -timer_resolution, и соответственно
погрешность определения длительности временного интревала - от 0
до timer_resolution. Очевидно, что при такой погрешности
использовать таймауты, сравнимые с timer_resolution - не имеет
смысла.

Да и вообще использовать таймауты меньше 300 миллисекунд
(NGX_TIMER_LAZY_DELAY) - не очень хорошая идея, nginx с ними не
будет работать нормально. Так как при замене таймеров на близкие
(отстающие менее чем на 300 миллисекунд от предыдущего
установленного таймера) - nginx, в целях экономии ресурсов,
таймеры на самом деле менять не будет. Соответственно для разовых
таймаутов на connect - работать будет, а скажем для перевзводимых
таймаутов на чтение - уже нет. Так как при обновлении таймаута
nginx увидит различие меньше чем на 300 миллисекунд - и ничего не
будет обновлять, а тем временем собственно таймаут случится.

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

Зависимость значений директив *_timeout от значения timer_resolution

xore February 12, 2019 09:06AM

Re: Зависимость значений директив *_timeout от значения timer_resolution

Валентин Бартенев February 12, 2019 09:26AM

Re: Зависимость значений директив *_timeout от значения timer_resolution

xore February 12, 2019 09:32AM

Re: Зависимость значений директив *_timeout от значения timer_resolution

Валентин Бартенев February 12, 2019 09:42AM

Re: Зависимость значений директив *_timeout от значения timer_resolution

xore February 12, 2019 09:50AM

Re: Зависимость значений директив *_timeout от значения timer_resolution

Валентин Бартенев February 12, 2019 01:54PM

Re: Зависимость значений директив *_timeout от значения timer_resolution

xore February 13, 2019 03:42AM

Re: Зависимость значений директив *_timeout от значения timer_resolution

Maxim Dounin February 12, 2019 10:00AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 239
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