Vad är klockförskjutning?

Klockförskjutning är skillnaden mellan din lokala systemklocka och den sanna referenstiden — i det här fallet serverns klocka. Även om operativsystem försöker hålla klockor synkroniserade med hjälp av NTP (Network Time Protocol), är små avvikelser på några millisekunder till flera sekunder vanliga, särskilt på enheter som inte har synkroniserats nyligen eller som är bakom strikta brandväggar.

Att förstå klockförskjutning är viktigt i distribuerade system, realtidsapplikationer, autentiseringstoken (som TOTP), schemalagda uppgifter och alla scenarier där din klient och en fjärrserver behöver komma överens om den aktuella tiden. En stor förskjutning kan orsaka valideringsfel för token, missade tidsfrister eller felaktiga tidsstämplar i loggar.

Verktygsbeskrivning

Det här verktyget mäter klockförskjutningen mellan din webbläsare och servern med hjälp av ett WebSocket-baserat tidsprotokoll. Det skickar en serie rundresor, registrerar latensen för var och en och använder medianen för rundresetiden (RTT) för att beräkna hur långt framåt eller bakåt din lokala klocka är i förhållande till servern. Efter mätningen visar verktyget en live-uppdaterad uppskattning av servertiden tillsammans med din lokala tid så att du kan observera skillnaden i realtid.

Hur det fungerar

Verktyget öppnar en WebSocket-anslutning till servern och utbyter en serie tidsstämplade ping/pong-meddelanden. För varje meddelande:

  1. Klienten registrerar skickningstiden, mottar serverns tidsstämpel i svaret och registrerar mottagningtiden.
  2. Hälften av rundresetiden används som en uppskattning av fördröjningen för envägsöverföring.
  3. Klockförskjutningen beräknas som: serverTime − clientTime − (RTT / 2).

Tio prover samlas in och medianen för RTT används — inte medelvärdet — för att minska påverkan från extremvärden orsakade av GC-pauser eller övergående nätverksstörningar. Den resulterande klockförskjutningen anger hur många millisekunder din lokala klocka ligger före (positiv) eller efter (negativ) servern.

Funktioner

  • WebSocket-baserad mätning — använder realtidskommunikation i båda riktningar för exakta tidsprober utan HTTP-overhead
  • Median RTT-filtrering — samlar in 10 prover och använder medianen för att eliminera jitter och extremvärden
  • Live-klockvisning — visar en kontinuerligt uppdaterad uppskattning av servertiden och din lokala tid sida vid sida efter mätningen