两台Linux机器之间的时间差如何精确测量? 我听说“Ping”给了RTT与OS影响的关联,因此在纳秒级别上不准确? 如果是这样,还有什么需要测量基于Linux的系统或Raspi中两台机器之间的时间差(偏移)?
这是我如何测量没有参考时钟的时钟准确度的尝试。
我select了一个服务器 – 并且说这是我的参考 – 我做了一些相当小的努力来减less或测量“参考时钟”的变化 – 最后的这些变化是使其参考一个时钟并logging抖动。
然后,我测量了所有其他的时钟偏移我指定的参考我使用NTP做这个,因为它试图修复数据包穿越networking的时间的测量错误,我相信,由于处理时间两端。
我可能应该对所有的办公室做一些最小二乘分析,或者甚至看看参考得到了多less改正或者它的运行频率 – 而我只是把它图表化,你可能想要改进
所以我有多个NTP守护进程在Linux的盒子(和窗口,路由器),这些都同步到相同或不同的时间源,我想看看是什么错误
为了测量差异,我有一个额外的盒子与一个NTP守护进程,它被设置为查询每个其他盒子,但没有select它们作为时间源。 我也将其设置为日志logging统计信息,因此它会自动logging每个服务器的偏移量
我select了一台NTP服务器作为这个实际的NTP服务器时钟源来稳定它的时钟频率
这已经产生了一些图表,至less表明Windows在保持时间方面非常差,而另一台服务器没有对时钟进行纪律处理,并且在一段时间内变得更加稳定。
除了200ms的差别外,这只能精确到几十毫秒
监视器上的我的NTPconfiguration文件看起来像
restrict default noquery nopeer nomodify notrap restrict -6 default noquery nopeer nomodify notrap restrict 127.0.0.1 restrict -6 ::1 driftfile "C:\Program Files (x86)\NTP\etc\ntp.drift" server time.windows.com enable stats statsdir "C:\Program Files (x86)\NTP\etc\" statistics loopstats peerstats server 1.2.3.4 noselect minpoll 6 maxpoll 6 server 1.2.3.5 noselect minpoll 6 maxpoll 6 server 1.2.3.6 noselect minpoll 6 maxpoll 6
然后,我结束每天的“peerstats”文件在C:\ Program Files文件(x86)\ NTP \ etc \有服务器和本地机器的偏移 – 然后我插入到SQL和graphics
延迟将根据链路特性而变化 – 例如,高度利用的链路可能导致更高的延迟。
我认为可以有一个定期的ping和导出/ syslog,可以为您绘制当前延迟的系统,以及过去的值。