Linux

使用 GPS 時鐘的 NTP 時間同步質量似乎很差

  • March 20, 2019

我有一個 Linux 伺服器,它的時間與附近的基於 GPS 的 NTP 設備同步。從伺服器到設備的 Ping 時間約為 1 毫秒,抖動非常低:

--- xxxx ping 統計 ---
100個包發送,100個接收,0%丟包,時間99001ms
rtt 最小值/平均值/最大值/mdev = 0.874/0.957/1.052/0.051 毫秒

但是,NTP 客戶端估計時間同步的準確度約為 5-6 毫秒,考慮到設置,這似乎非常高:

在第 2 層同步到 NTP 伺服器 (xxxx)
時間準確到**5 ms以內**
每 16 秒輪詢一次伺服器

ntpq -p 給出以下內容:

遠端 refid st t 輪詢到達延遲偏移抖動
==============================================================================
*xxxx .PPS。1 u 10 16 377 0.964 -0.019 0.036

兩個問題:

  1. 什麼可能導致 NTP 客戶端對同步準確性的信心如此低?
  2. 有什麼方法可以測量同步的實際精度,比如精確到毫秒?

“時間正確到範圍內”之後顯示的值ntpstat是根離散度 + 根延遲 / 2。ntpq -p不顯示“根離散度”執行ntpq -c rl

儘管如此,很明顯,缺乏準確性的主要原因是分散而不是延遲(只有 0.964)。

色散是“相對於主要參考源的名義誤差”。我已經簡要瀏覽了 NTPv4 RFC,這就是它要說的:

色散 (epsilon) 表示測量中固有的最大誤差。它以等於最大規範系統時鐘頻率容差 (PHI) 的速率增加,通常為 15 PPM。1 PPM 等於 10^(-6) 秒/秒。

使用 rrdtool 術語分散不是衡量標準,而是計數器。看到較大的值可能並不表示有任何問題。

唉,我不能很好地理解 ntp 算法來了解如何使這個數字更小。我注意到這個值偶爾會被重置。我不知道為什麼。

引用自:https://serverfault.com/questions/184257