最近、サーバーでNTP高い遅延値とオフセット値が発生しています。
$ ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*10.161.50.254 .SLK. 1 u 962 1024 377 23.942 -2.157 0.819
+10.147.50.253 .SLK. 1 u 1001 1024 377 26.628 2.991 0.245
ただし、同期の詳細を手動で照会すると、値が大きく異なります。
$ ntpdate -q 10.161.50.254
server 10.161.50.254, stratum 1, offset -0.001250, delay 0.04601
5 Mar 11:14:37 ntpdate[29876]: adjust time server 10.161.50.254 offset -0.001250 sec
最初の出力遅延は約24秒ですが、2番目の出力遅延は1秒未満です。これはオフセット値についても同じです。どの出力が有効か知りたいのですが。 2番目の出力がより正確である場合、なぜ最初の出力で同じように表示されないのですか。誰かがそのような違いの原因を説明できますか、どれが有効で、私は参照する必要がありますか?
(私たちのサービスは時間に非常に敏感であり、そのような不一致は、負のサービス使用期間時間などの異常なレポートになります)
遅延はミリ秒単位の時間だと思います。
http://www.clock.org/ntp/debug.html
そのリンクは、出力の読み方について少し詳しく説明しています。ただし、ネットワークの速度にもよりますが、24msはほぼ正しいようです。 ntpdate
の出力も考慮する必要があります。
https://superuser.com/questions/393426/how-inaccurate-is-my-system-clock-on-unix
これは、ntpdate -q
が数秒で報告していることを詳しく説明しています。 46msは、ntpq -p
出力の遅延とほぼ同じ時間です。
他のコメントと回答が指摘しているように、ntpdate
からのオフセットは秒単位ですが、ntpq
はミリ秒単位で表示します。したがって、オフセットに実際の不一致はありません(これは重要なことです)。あなたの時間はかなり密接に同期しています。しかし、報告された遅延にはまだ矛盾があります。
サーバーのピアに対して遅延のテストをいくつか行ったところ、次のようになりました。
ピア1(ローカルLAN上のストラタム1 BeagleBone Black):ntpdate
経由で0.02689秒、ntpq
経由で0.598ミリ秒、ping
経由で平均1.032ミリ秒-ntpdate
およびntpq
:26.292ミリ秒
ピア2(約1000 km離れたパブリックストラタム1サーバー):ntpdate
経由で0.04485秒、ntpq
経由で18.662ミリ秒、ping
経由で平均18.379ミリ秒-ntpdate
およびntpq
:26.188ミリ秒
ピア3(太平洋全体のパブリックストラタム1サーバー):ntpdate
経由で0.21938秒、ntpq
経由で193.844ミリ秒、ping
経由で平均207.875ミリ秒-ntpdate
およびntpq
:25.536ミリ秒
私の結論:ntpdate
はやや非効率的であり、(私のマシンでは)平均で約25〜26ミリ秒の固定オーバーヘッドが追加され、ntpd
および/またはLinuxUDPスタックは通常わずかに多いping
やLinuxICMPスタックよりも効率的です。