Скорость подстройки внутреннего времени системы резервирования (tcorrect)
Синтаксис
 
/tcorrect=< процент >
< процент >::=положительное целочисленное значение или значение с десятичной точкой.
Описание

Задаёт, на сколько процентов ускоряется/замедляется ход внутренних часов системы резервирования по отношению к часам операционной системы при несоответствии внутреннего и системного времени.

Наличие внутренних часов системы резервирования обусловлено следующими причинами. Система резервирования может не использовать часы операционной системы, например, потому, что в случае их скачкообразного перевода (вручную или операционной системой) может произойти ложное срабатывание событий по тайм-аутам. Это приведет к непредсказуемому поведению системы резервирования.

Поэтому система резервирования использует свои внутренние часы с плавной подстройкой к системному времени.

Если ключ не задан, по умолчанию берется 10%.

Значение этого ключа должно быть в пределах 0 – 50. При выходе значения за указанные границы аргумент принимается равным 10.

При скорости подстройки, для примера, 20%, после перевода системных часов на 10 минут вперед, внутренние часы будут идти на 20% быстрее системных, пока не догонят их. Это произойдет через t = 10 * (100 / 20) = 50 мин.

Для отмены автоматической подстройки времени значение < процента > должно быть равным 0. При этом в случае перевода системного времени внутренние часы будут продолжать идти без перевода и подстройки.

Алгоритм подстройки времени:

  • внутреннее время высчитывается как сумма базового времени и истекшего интервала некорректируемого времени;

  • базовое время сначала равно значению системного времени на момент старта системы резервирования;

  • при скачке системного времени базовое время плавно изменяется, пока внутреннее время не подстроится к системному;

  • базовое время изменяется так, что измеряемые интервалы растягиваются или сжимаются на количество процентов, заданное в ключе /tcorrect;

  • подстройка производится только при разнице системного и внутреннего времени больше 0.01 сек.;

  • каждый раз, когда суммарный скачок системного времени превышает 0.5 сек., генерируется событие E_TIME_CHANGE (код 40) с указанием величины скачка в секундах в формате с плавающей запятой.