chrony和ntpd精度对比测试

Redhat从RHEL 7.0开始使用chrony替换ntpd作为默认的ntp同步工具。从chrony的官方网站上可以看到与ntpd各维度详细对比:

从其测试结果上看似乎是各维度性能都可以吊打ntpd。因此chrony对自身的整体评价还是比较高的

在测试之前,从理论上说chrony的主要优点在于:
1. 支持Hardware timestamping,时间戳会更加准确,因为从网卡到内核之间的延迟可能有几十us。
2. 支持xleave,可以提升对网络延迟的测量精度。
为了评估内部是否需要使用chrony来替换ntpd,我自己也做了一些测试。主要是从集群的延迟稳定性和时钟偏差2个维度来衡量。
测试集群选择三个城市的多个机房内服务器做测试。
1. chrony的延迟稳定性

2. ntpd延迟稳定性

3. chrony时钟稳定性

4. ntpd的时钟稳定性

从上面的4个图可以看到,实际上NTPD的同步稳定性相对比较好一些。NTP协议本身精度的瓶颈是在于网络延迟稳定性,NTPD在这一块有大量的算法保证:
1. Clock Filter Algorithm (huff-n’-puff filter)
2. Clock Select Algorithm
3. Clock Cluster Algorithm:
4. Clock Discipline Algorithm:
整体的流程如下

正因为NTP的设计者一开始就考虑的非常全面,使得目前NTP的授时精度早已经达到理论瓶颈。广域网的授时精度要想稳定性&精度超越ntpd,几乎不太可能(PTP只能用户局域网),因此短期内我还是会继续选择NTPD作为时钟同步软件。
对于NTP这种古老的协议,目前还有人愿意投入精力去改进实际是非常难能可贵的,真心希望chrony能早日从稳定性&精度两个方面超越ntpd。

参考链接:
1. https://chrony.tuxfamily.org/comparison.html

此条目发表在NTP分类目录。将固定链接加入收藏夹。