savienojums.lv

Metodoloģija

Šī lapa apraksta, kā tieši savienojums.lv mēra interneta savienojumu — ko katrs skaitlis nozīmē, kā tas ir izrēķināts un kādas ir metodes robežas. Mērījumu uzticamība sākas ar atklātību.

Pārskats

Tests sastāv no trim fāzēm: latences mērīšana bez slodzes (~4 s), lejupielādes tests (10 s) un augšupielādes tests (10 s). Lejupielādes laikā papildus tiek mērīta latence zem slodzes. Viens tests var patērēt līdz aptuveni 1,5 GB datu (mazāk lēnākiem savienojumiem un mobilajām ierīcēm — tests pielāgojas).

Pings un džiters

Latence tiek mērīta ar maziem HTTP pieprasījumiem serverim (/api/ping) un atbildes gaidīšanas laiku, ko fiksē pārlūka augstas precizitātes pulkstenis. Pirmie 3 pieprasījumi (savienojuma izveide, TCP lēnais starts) netiek ieskaitīti; pēc tam seko 16 mērījumi pēc kārtas.

Lejupielāde

Ātrumu nekad neizmēra vienā "dati ÷ laiks" darbībā. Tā vietā:

Detaļās redzamais p10–p90 diapazons parāda, cik plats bija ātruma izsvārme testā.

Augšupielāde

Augšupielādei pārlūki nepiedāvā precīzu "nosūtīto baitu" plūsmu standarta fetch API, tāpēc tiek izmantoti XMLHttpRequest augšupielādes progresa notikumi: 4 plūsmas (mobilajā 3), katras 8 MB, 10 sekundes. Fāzes beigās nenosūtītie dati tiek pārtraukti, tāpēc tests nevilcinās arī uz ļoti lēniem augšupielādes kanāliem. Rezultāts rēķināts ar to pašu logu + mediānas metodi kā lejupielādei.

Ierobežojums: progresa notikumi fiksē baitus, ko operētājsistēma ir pieņēmusi nosūtīšanai, nevis baitus, kurus tīkls jau apstiprinājis. Ļoti ātriem savienojumiem tas rezultātu var nedaudz (parasti < 1 %) pārvērtēt. Precīzākai mērīšanai nākotnē plānojam WebSocket balstītu dzini ar servera apstiprinājumiem.

Latence zem slodzes (bufferbloat)

Lejupielādes testa laikā katras ~350 ms tiek mērīts pings. Ja maršrutētājs vai interneta pakalpojumu sniedzēja aprīkojums pieņem vairāk datu, nekā spēj nosūtīt, gaidīšanas rindas izaug — un latence zem slodzes ievērojami pieaug. Rezultāts ir starpība: latence zem slodzes − pings bez slodzes.

Ja šī vērtība ir augsta, palīdz maršrutētājā ieslēgt Smart Queue Management (SQM / CAKE / FQ-CoDel) vai samazināt maršrutētāja buferu lielumu.

Stabilitāte

Stabilitāte raksturo, cik vienmērīgs bija lejupielādes ātrums testā: stabilitāte = 1 − variācijas koeficients (standartnovirze dalīta ar vidējo vērtību logiem). 100 % nozīmē, ka ātrums visu laiku bijis vienāds; zemāka vērtība parasti norāda uz Wi-Fi traucējumiem, signāla problēmām vai mobilā tīkla šūnu pārslēgšanu.

Parametru tabula

ParametrsVērtība
Ping fāze3 iesildīšanās + 16 mērījumi, 60 ms starplaiks
Lejupielādes fāze10 s (pagarinās līdz 15 s, ja ātrums vēl strauji pieaug), 6 plūsmas (4 mobilajā), 32 MB bloki
Augšupielādes fāze10 s, 4 plūsmas (3 mobilajā), 8 MB bloki
Savienojumi2 atšķirīgas izcelsmes (savienojums.lv + speed.savienojums.lv) — divi paralēli TCP savienojumi; izmantojot vienu HTTP/2 savienojumu, nevienmaiļu un augstas latentces ceļos ātrums tiktu nenovērtēts
Iesildīšanās, kas netiek ieskaitīta1,5 s
Loga izmērs500 ms
Rezultāta metrikalogu mediāna
Datu limits vienam testam~1,5 GB (mazāk, ja savienojums lēnāks)
Datu limits vienam IP stundā12 GB

Metodes robežas

Servera atrašanās vieta

Pašlaik mērījumu serveris atrodas Frankfurtē, Vācijā (Oracle Cloud). Latvijas lietotājiem tas nozīmē ~20–35 ms pamatlatenci atkarībā no novietojuma. Mēs meklējam partnerus Rīgā un citviet Latvijā, lai izvietotu vietējos mērījumu mezglus — sazinies ar mums, ja vari palīdzēt.

Kad mezglu būs vairāki, pārlūks automātiski izvēlēsies tuvāko pēc latences, un rezultātos redzēsi, kurš servers tika izmantots.

Privātums

Atklātība

Mērījumu servera programmatūra ir rakstīta Go valodā ar standarta bibliotēku, mērījumu dzinis — pārlūkā TypeScript bez trešo pušu bibliotēkām. Mēs balstāmies uz atklātu projektu (piemēram, LibreSpeed) pieredzi, bet mērījumu dzini esam uzrakstījuši paši, lai saprastu katru mērījumu. Pārpublicējot datos no šī servisa, lūdzu norādi izcelsmi un parauga izmēru; mēs neteiksim "ātrākā operatora" apgalvojumus — tikai datus un to robežas.