我遇到了一个问题,即让我的NTP客户端(在Ubuntu上运行)让它的时间同步到NTP服务器(在Windows上运行)到毫秒精度。
NTP服务器使用开源python模块运行:https://github.com/limifly/ntpserver
NTP客户端在ntp.conf文件中有server 192.168.0.28 prefer iburst
。
我发现客户端每2到15秒请求一次。
要检查我在两台设备上运行一个简单的python脚本的时间,我会做两个打印输出的屏幕截图:
from datetime import datetime
def main():
while True:
try:
print datetime.utcnow().strftime("%Y-%m-%d_%H-%M-%S.%f")
except KeyboardInterrupt:
print "Exiting..."
break
if __name__ == '__main__':
main()
我的偏差为5秒到100毫秒。
当我运行命令时:
sudo service ntp stop
sudo ntpdate -s [NTP SERVER ADDRESS]
sudo service ntp start
我发现我可以立即获得70毫秒到5微秒的精度。大约5分钟后,我可以看到时间偏离了7秒......
我的目标是获得毫秒精度,所以我的问题是我是否正确地完成了这一目标?还有更好的方法来测量时间同步时间吗?