maanantai 21. joulukuuta 2020

Nettiyhteyden nopeuden mittaaminen komentoriviltä - Speedtest.net

Verkkopalvelu speedtest.net on  nettiyhteyden nopeusmittauksen de-facto-standardi. Se on helppo ajaa selaimessa (ja on siitä mobiilisovelluskin), mutta web-versio on haudattu mainosten alle ja siten epämiellyttävä käyttää. Sitä ei myöskään voi ajaa toistuvasti eikä tuloksia saa helposti lokiin. 

Speedtestin sivulta voi kuitenkin ladata merkkipohjaisen komentoriviversion (Speedtest-cli) lähes kaikille käyttöjärjestelmille, kuten Windows, Mac ja Linux. Vaikka sivulla kerrotaan ohjelman olevan kehittäjille, se on helppokäyttöinen kenelle tahansa. 

Seuraavat esimerkit ovat Windows 10:n komentoikkunasta. 

Vuorovaikutteinen ajo tapahtuu yksinkertaisesti ohjelman nimellä:

C:\temp>speedtest
   Speedtest by Ookla

     Server: Netplaza Oy - Helsinki (id = 27828)

        ISP: DNA Oyj

    Latency:    16.97 ms   (9.96 ms jitter)
   Download:   348.03 Mbps (data used: 470.7 MB)
     Upload:    49.84 Mbps (data used: 59.4 MB)
Packet Loss:     0.0%

Result URL: https://www.speedtest.net/result/c/da6f9b18-34b4-4c5c-ac0f-320bd33b7ebc

Sama tulos kuin selainversiossa, mutta kokonaan ilman mainoksia! Tulokset tallentuvat ja ohjelma näyttää niihin linkin. 

Speedtestin tulos selaimella.

Ohjelma tuntee useita valitsimia. Niistä hyödyllisiä ovat mm. -L (listaa numerokoodeina lähimmät mittauspalvelimet), -s valitsee tietyn palvelimen sekä -f (määrittelee tiedostoformaatin, CSV, sarkaineroteltu tai json-variaatiot).

Nyt on helppo tehdä komentojono, joka ajaa nopeustestin 15 minuutin (900 sekuntia) välein ja kirjoittaa tuloksen lokitiedostoon, jota on helppo analysoida vaikka Excelillä.

:alku
speedtest -f csv -s 14164 >>nopeustesti.log
timeout 900
goto alku

Tulokset tallentuvat rivittäin:

"DNA Welho Oy - Helsinki", "14164", "12.033", "5.984", "0", "44095147", "6525619", "559824344", "70722211", "https://www.speedtest.net/result/c/9694cfd0-3d3e-4c1d-a342-0816f68606c9"

Ensimmäinen luku on valittu palvelin (tässä DNA), sitten on ping (ms), jitter (ms), kadonneiden ip-pakettien lukumäärä sekä testissä saadut nopeudet ja siirretyt datamäärät. Nopeus 44095147 muutetaan megabiteiksi sekunnissa kertomalla kahdeksalla ja jakamalla miljoonalla. Sama upload-nopeudelle.

Mittausaika ei tallennu lokiin, mikä on ongelma. Odotusaika 900 sekuntia merkitsee sitä, että tunnissa syntyy vähän alle neljä mittausta, sillä mittaukseen kuluva aika siirtää seuraavaa mittausajanhetkeä hieman eteenpäin. Tämä on toisaalta hyvä asia, sillä se varmistaa ettei testiä ajeta aina samalla minuuttilukemalla. 

Elisan VDSL-yhteys antaa tylsän tasaisen tuloksen. Viiva on tasaisempi kuin selainversiolla ajettuna. Ilmeisesti mittauspalvelimen asettaminen samaksi joka mittauksella lisää tulosten toistettavuutta.

VDSL-yhteys piirtää suoraa viivaa.

Ping- ja jitter-arvot osoittavat kuitenkin vaihtelua:

Ping ja jitter

Kellonaika on lisätty Exceliin yksinkertaisesti joka neljännelle riville, mikä antaa riittävän tarkan tuloksen.

Ping-arvo on todella vakaa, mutta sen vaihtelu (jitter) näyttää muutaman piikin. 

Seuraavassa postauksessa mittaus DNA 5G-yhteydestä. Olisi kiinnostavaa nähdä vastaava mittaus myös kodin valokuidusta, jos joku viitsisi sen tehdä.

9 kommenttia:

  1. Voihan aina käyttää operaattoreiden omia ST-testisivuja joissa ei ole mainoksia. Tosin niissä ei palvelimen vaihto onnistu.

    https://www.telia.fi/kauppa/kodin-netti/tee-nopeustesti
    https://www.dna.fi/nopeustesti
    - tallentaa testit evästeeseen seurantaa varten
    https://elisa.fi/nopeustesti/

    VastaaPoista
  2. Kirjoittaja on poistanut tämän kommentin.

    VastaaPoista
  3. Mittausajan saa tallennettua näin. Päiväyksen lisäys oma muokkaus.

    @echo off
    SET DATETIME=%DATE:~2,10%,%TIME:~0,5%
    cd /D "C:\speedtest" 2>nul && @for /F delims^=^ eol^= %%I in ('speedtest.exe -f csv -s 14164') do >>"speedtest.log" echo %DATETIME%,%%I

    Lähde: https://stackoverflow.com/a/59962176/982646

    VastaaPoista
  4. Olen ajanut tuota nyt neljättä vuorokautta putkeen puolen tunnin välein.
    Excel hakee tiedot powerqueryllä skriptin kirjoittamasta tiedostosta, tekee samalla tuon b->Mb muunnoksen ja syöttää tiedot Pivot-taulukkoon josta on tehty kaavio.

    Liittymätyyppi on erilainen (kaapelilaajakaista) mutta nopeudet ovat laskeneet iltaisin jonknu verran ja esim. Youtube jumittuu usein joten jotain mätää on jossain.

    VastaaPoista
  5. Hyviä vinkkejä. Ovatko mittaukset jossain näkyvissä?

    VastaaPoista
    Vastaukset
    1. Ei ollut tarkoitus mutta tuolla se on nyt.
      https://sites.google.com/view/vtm-nopeusmittaus/etusivu

      Ajoin tuota koneessa mikä oli langattomassa verkossa ja aika ajoin muussa käytössä. Täytyy tehdä tuo testi vielä vaikka Raspberryllä.
      Heittoja on jonkun verran mutta osa johtunee liittymän muusta käytöstä testin aikana.

      Poista
  6. Laitoin valokuidulla pyörimään. Harmillisesti liittymänä on Elisan rampautettu 1000/100 kaista :( . Postailen tässä lähiaikoina tulokset.

    VastaaPoista