Palvelimen kellon aikapoikkeaman laskuri
Mittaa kellon aikapoikkeama ja edestakaisen matkan aika selaimen ja palvelimen välillä peräkkäisten ajoitettujen pyyntöjen avulla.
Syöte
Tuloste
Lue lisää
Mikä on kellon siirtymä?
Kellon siirtymä on ero paikallisen järjestelmäkellon ja todellisen referenssiajan välillä — tässä tapauksessa palvelimen kellon. Vaikka käyttöjärjestelmät yrittävät pitää kelloja synkronoituina käyttämällä NTP:tä (Network Time Protocol), pienet erot muutamasta millisekunnista useisiin sekunteihin ovat yleisiä, erityisesti laitteissa, jotka eivät ole synkronoineet äskettäin tai jotka ovat tiukkojen palomuurien takana.
Kellon siirtymän ymmärtäminen on tärkeää hajautetuissa järjestelmissä, reaaliaikaisissa sovelluksissa, todentamistunnuksissa (kuten TOTP), ajoitetuissa tehtävissä ja missä tahansa tilanteessa, jossa asiakkaasi ja etäpalvelin joutuvat sopimaan nykyisestä ajasta. Suuri siirtymä voi aiheuttaa tunnuksen validointivirheitä, määräaikojen menettämistä tai virheellisiä aikaleimoja lokeissa.
Työkalun kuvaus
Tämä työkalu mittaa kellon siirtymää selaimen ja palvelimen välillä käyttämällä WebSocket-pohjaista ajoitusprotokollaa. Se lähettää sarjan edestakaisia mittauskohteita, kirjaa kunkin viiveen ja käyttää mediaania edestakaisen matka-ajan (RTT) laskemiseen, jotta voidaan määrittää, kuinka paljon paikallinen kello on edellä vai jäljessä palvelimen kelloa. Mittauksen jälkeen työkalu näyttää palvelimen ajasta jatkuvasti päivittyvän arvion paikallisen aikasi rinnalla, jotta voit havaita eron reaaliajassa.
Kuinka se toimii
Työkalu avaa WebSocket-yhteyden palvelimeen ja vaihtaa sarjan aikaleimattuja ping/pong-viestejä. Jokaisen viestin osalta:
- Asiakas kirjaa lähetysajan, vastaanottaa palvelimen aikaleiman vastauksessa ja kirjaa vastaanottamisajan.
- Puolet edestakaisen matka-ajasta käytetään yhdensuuntaisen verkon viiveen arviointiin.
- Kellon siirtymä lasketaan seuraavasti:
serverTime − clientTime − (RTT / 2).
Kerätään kymmenen näytettä ja käytetään mediaania RTT — ei keskiarvoa — ulkopuolisten piikkien vaikutuksen vähentämiseksi, jotka johtuvat roskauksesta tai lyhytaikaisesta verkon vaihtelusta. Tuloksena oleva kellon siirtymä osoittaa, kuinka monta millisekuntia paikallinen kello on edellä (positiivinen) tai jäljessä (negatiivinen) palvelimen kelloa.
Ominaisuudet
- WebSocket-pohjainen mittaus — käyttää reaaliaikaista kaksisuuntaista viestintää tarkkoja ajoitusmittauksia varten ilman HTTP-yleiskustannuksia
- Mediaani RTT -suodatus — kerää 10 näytettä ja käyttää mediaania häiriöiden ja ulkopuolisten piikkien poistamiseen
- Kellon reaaliaikainen näyttö — näyttää jatkuvasti päivittyvää arvioitua palvelimen aikaa ja paikallista aikaasi vierekkäin mittauksen jälkeen