Cum măsori viteza web cu JavaScript și de ce rezultatele pot fi inexacte

Măsurarea vitezei web cu JavaScript poate varia din cauza browserului, Wi-Fi-ului, serverului sau traficului. Ghidul explică verificarea și optimizarea.

Publicat 2026-09-01 Ultima actualizare 2026-09-01 Categorie: Ghiduri

Cum funcționează măsurarea vitezei web cu JavaScript

O pagină web poate estima viteza conexiunii folosind JavaScript și API-uri ale browserului precum Fetch, XMLHttpRequest și Performance API. Pentru download, aplicația descarcă un fișier de dimensiune cunoscută și compară volumul transferat cu durata măsurată. Pentru upload, trimite date către un server de test. Latența este estimată prin timpul necesar unei cereri și al răspunsului.

Rezultatul nu reprezintă întotdeauna viteza maximă a abonamentului. El descrie performanța dintre dispozitivul utilizatorului, router sau modem, rețeaua operatorului și serverul ales în acel moment.

Fenomenul: viteza afișată este mai mică sau fluctuează

Este normal ca o măsurătoare realizată în browser să difere de rezultatul obținut printr-o aplicație dedicată sau prin testul operatorului. Browserul execută simultan alte scripturi, extensii și procese, iar conexiunea poate fi partajată de mai multe dispozitive.

O diferență mică între teste nu indică automat o problemă. Devine relevantă o scădere repetată, asociată cu încărcarea lentă a paginilor, apeluri video întrerupte, jitter ridicat sau pierdere de pachete.

Cauze legate de browser și implementarea JavaScript

Overhead-ul browserului

Motorul JavaScript, colectarea de memorie și redarea paginii consumă resurse. Dacă testul rulează într-o filă încărcată sau pe un dispozitiv modest, timpul măsurat include și procesarea locală, nu doar transferul de date.

Fișierul de test este prea mic

Un fișier mic nu permite conexiunii să atingă viteza stabilă, mai ales când latența este ridicată. Durata inițială a conexiunii, rezolvarea DNS și configurarea TLS pot influența disproporționat rezultatul.

Cache-ul și reutilizarea conexiunii

Dacă fișierul este livrat din cache sau conexiunea HTTP este reutilizată, testul poate afișa o valoare nerealistă. Un test corect trebuie să evite cache-ul și să folosească date generate sau un identificator unic pentru resursă.

Cauze legate de server și rutarea către operator

Distanța față de server

Un server aflat departe de utilizator adaugă latență și poate traversa mai multe rețele. Pentru un abonat din România, un server local sau regional oferă de regulă o imagine mai bună asupra conexiunii către servicii apropiate, în timp ce un server internațional măsoară și calitatea rutei externe.

Capacitatea serverului

Serverul de test poate fi aglomerat, limitat de CPU, disc sau lățime de bandă. În acest caz, viteza JavaScript scade chiar dacă fibra, cablul sau DSL-ul utilizatorului funcționează normal.

Rutarea și congestia temporară

Traficul dintre rețeaua utilizatorului și server poate trece printr-un punct congestionat. O rută cu latență sau pierdere de pachete ridicată afectează atât download-ul, cât și upload-ul, fără ca routerul local să fie defect.

Cauze legate de Wi-Fi, router și modem

Semnal Wi-Fi slab sau interferențe

Pereții, distanța și rețelele vecine pot reduce viteza Wi-Fi. Banda de 2,4 GHz are de obicei acoperire mai bună, dar este mai aglomerată, iar banda de 5 GHz poate oferi performanță mai mare la distanță mică.

Router sau modem suprasolicitat

Un router vechi, firmware-ul neactualizat sau multe conexiuni simultane pot limita transferul. Descărcările, camerele video, consolele și backup-urile cloud pot consuma capacitatea disponibilă în timpul testului.

Legătura locală este mai lentă decât abonamentul

Un adaptor Wi-Fi, un cablu deteriorat sau un port Ethernet limitat la 100 Mbps poate deveni punctul de blocaj. Pentru diagnostic, compară testul pe Wi-Fi cu unul pe Ethernet, folosind un cablu și un port compatibile cu viteza abonamentului.

Cum identifici cauza prin teste controlate

  1. Închide descărcările, streamingul și aplicațiile care folosesc intens rețeaua.
  2. Rulează testul de mai multe ori, la ore diferite, pe același server.
  3. Compară Wi-Fi-ul cu o conexiune Ethernet directă la router.
  4. Verifică separat download-ul, upload-ul, latența, jitter-ul și pierderea de pachete.
  5. Compară rezultatul JavaScript cu un instrument de test al operatorului sau cu o aplicație dedicată.

Dacă Ethernet-ul este stabil, iar Wi-Fi-ul variază mult, cauza este probabil în rețeaua wireless. Dacă toate dispozitivele au rezultate slabe, problema poate fi routerul, modemul, linia operatorului sau congestia externă. Dacă doar un server are rezultate slabe, verifică ruta și capacitatea acelui server.

Optimizarea unei măsurători cu JavaScript

  • Folosește un fișier de test suficient de mare și descarcă date care nu pot fi servite din cache.
  • Repetă testul și calculează o valoare mediană, nu doar primul rezultat.
  • Separă timpul de conectare de timpul efectiv de transfer cu Performance API.
  • Rulează testele pe servere apropiate și folosește mai multe conexiuni paralele doar când implementarea are nevoie de ele.
  • Nu considera datele dintr-o singură filă drept diagnostic definitiv pentru linia de internet.

Pentru o implementare practică, documentația Performance API ajută la separarea etapelor unei cereri, iar Fetch API poate fi folosit pentru transferuri controlate.

Când trebuie contactat operatorul

Contactează ISP-ul dacă viteza rămâne constant mult sub nivelul așteptat și testul pe Ethernet confirmă aceeași problemă, dacă apar pierderi de pachete persistente sau dacă latența crește puternic în mod repetat. Notează ora, serverul, tipul conexiunii și rezultatele download-ului și upload-ului.

Furnizează operatorului rezultate obținute în condiții controlate. Menționează dacă folosești fibră, cablu sau DSL, modelul routerului ori modemului și dacă problema apare pe toate dispozitivele.