電腦時鐘(或 LAN)有問題嗎?

電腦時鐘(或 LAN)有問題嗎?

我遇到了一種非常奇怪的行為,我很難確定其來源,但假設它是計算機時鐘。以下是設定和概要:

我的家庭網路上有兩台電腦透過數據機連接到網路。一 (電腦A)透過 RJ45 連接,另一個(電腦B)透過無線區域網路。兩台機器都運行 Windows 10,並且在兩台機器上我都有完全相同的應用程式堆疊:Postgresql 13 資料庫和 Java 應用程式。

我正在使用 Java 應用程式透過 websocket 監視事件,這些事件每幾毫秒到達一次。這些事件發佈在網際網路上的伺服器上,並包含毫秒粒度的時間戳記。

Java 應用程式解析訊息並將其儲存在 postgresql 表中。此表還包含一個自動捕獲插入時間的欄位(使用預設的 now())。

為了了解事件與資料庫中的記錄之間的延遲,我對事件時間和插入時間進行了比較。在電腦B(使用 WLAN 連線),我發現延遲約為 5 毫秒,這是完全可以接受的。在電腦A然而,對於完全相同的軟體堆疊,這種「延遲」卻出乎意料地高,約為 2 到 3 秒,並且變化很大。 Furthermore, in some instances the insertion time is recorded as BEFOR the event time, which is an impossibily and which makes me believe that it's not a latency issue but an issue with what time the "now()" function in postgresql is getting from the電腦.

使用http://time.is,我檢查了電腦時鐘的準確性,確實電腦B,時間顯示為“精確”,而電腦A顯示有​​ 0.7 秒的差異。重新同步時間也沒有任何差別。然後,我使用 NetTime 應用程式使用不同的同步方法,並注意到時鐘報告為 28 毫秒,幾秒鐘後,它關閉了 -1 秒。換句話說,雖然我剛剛進行了同步,但它幾乎立即再次不同步,並且在太慢和太快之間變化。

我主要關心的是第一台電腦(電腦 A)上的時間差或延遲,考慮到有關時脈變化的觀察結果,再加上軟體堆疊 100% 相同的事實,我認為問題出在電腦時鐘上。不幸的是,我不知道如何最好地驗證這個假設,也不知道如果我是正確的,如何解決這個問題,因為我從未聽說過電腦時鐘顯示出這種行為。但是……會不會是別的原因,我在這裡追錯兔子了?是否是任何與 LAN 相關的問題,我將如何檢查,因為沒有其他明顯的問題。

任何幫助將不勝感激。

相關內容