Скорость подстройки внутреннего времени системы резервирования (tcorrect)
Синтаксис
/tcorrect=< процент > < процент >::=положительное целочисленное значение или значение с десятичной точкой.
Описание
Задаёт, на сколько процентов ускоряется/замедляется ход внутренних часов системы резервирования по отношению к часам операционной системы при несоответствии внутреннего и системного времени.
Наличие внутренних часов системы резервирования обусловлено следующими причинами. Система резервирования может не использовать часы операционной системы, например, потому, что в случае их скачкообразного перевода (вручную или операционной системой) может произойти ложное срабатывание событий по тайм-аутам. Это приведет к непредсказуемому поведению системы резервирования.
Поэтому система резервирования использует свои внутренние часы с плавной подстройкой к системному времени.
Если ключ не задан, по умолчанию берется 10%.
Значение этого ключа должно быть в пределах 0 – 50. При выходе значения за указанные границы аргумент принимается равным 10.
При скорости подстройки, для примера, 20%, после перевода системных часов на 10 минут вперед, внутренние часы будут идти на 20% быстрее системных, пока не догонят их. Это произойдет через t = 10 * (100 / 20) = 50 мин.
Для отмены автоматической подстройки времени значение < процента > должно быть равным 0. При этом в случае перевода системного времени внутренние часы будут продолжать идти без перевода и подстройки.
Алгоритм подстройки времени:
-
внутреннее время высчитывается как сумма базового времени и истекшего интервала некорректируемого времени;
-
базовое время сначала равно значению системного времени на момент старта системы резервирования;
-
при скачке системного времени базовое время плавно изменяется, пока внутреннее время не подстроится к системному;
-
базовое время изменяется так, что измеряемые интервалы растягиваются или сжимаются на количество процентов, заданное в ключе
/tcorrect
; -
подстройка производится только при разнице системного и внутреннего времени больше 0.01 сек.;
-
каждый раз, когда суммарный скачок системного времени превышает 0.5 сек., генерируется событие
E_TIME_CHANGE
(код 40) с указанием величины скачка в секундах в формате с плавающей запятой.