Я создаю проект для приложения удаленного мониторинга, состоящего из службы, которая будет размещаться на отдельных машинах. Задача службы состоит в том, чтобы собирать информацию об использовании ЦП, использовании памяти и т. Д. С использованием WMI. Служба выполняет сканирование каждые 15 секунд с помощью потоковой передачи. Теперь я хочу, чтобы службы на каждой машине выполнялись точно в одно и то же время. Напр. 8,15, 8,30, 8,45. Я написал простой логикс, который проверяет текущий второй счетчик и заставляет поток спящего режима для системы времени достигать времени, которое точно падает либо в x.15, x.30, x.45 и т. Д. Но реализация этого сама по себе не делает убедитесь, что стоимость, собранная службой через WMI для одного и того же процесса, будет в одно и то же время. Напр. Использование ЦП для машины 1 и ЦП. Использование для машины 2 необходимо собирать в одно и то же время, чтобы ее можно было сравнивать во время выполнения. То же самое относится и к другим процессам и метрическим значениям.Выполнение служб на нескольких машинах одновременно
Любая помощь будет оценена по достоинству.
Простое синхронизация часов на нескольких машинах - сложная проблема. Существует причина, по которой большинство протоколов, включающих элемент времени (например, предотвращение повторных атак), допускают * некоторые * слабые времена, о которых сообщают различные задействованные машины. –
На самом деле логика, которую я реализовал, дает мне желаемый результат, но решение не является надежным. Решение работает на том основании, что все будет работать нормально. :-( –
См., Например, [Протокол сетевого времени] (http://en.wikipedia.org/wiki/Network_Time_Protocol): «Microsoft не гарантирует, что их реализация будет более точной, чем 2 секунды» –