Speedtest.fi Speedtest.fi

Nopeustesti.fi - kun nopeus ratkaisee

Nopeustesti.fi - kun nopeus ratkaisee

Speed test
  Speedtest in English
Hastighetstest
  Hastighetstest på svenska

© 2010 Siptune

Nopeustesti.fi
 Etusivu
 Yhteysnopeus
 Tietokoneen nopeus
 Muistilaitteet
 Mobiililaitteet

Iperf - pikkujätti yhteystestaukseen

Iperf on pieni, komentoikkunassa käytettävä ilmaisohjelma, jolla yhteysnopeuden ja laatutekijöiden mittaus onnistuu uskomattoman monipuolisesti. Ominaisuuksissa löytyy kaistanleveyden, viiveen vaihtelun ja hukattujen pakettien lisäksi esim. mahdollisuus mitata erikseen UDP-protokollaa, kaksisuuntaista tai multicast-liikennettä. Voit myös valita siirrettäväksi pakattua tai pakkaamatonta dataa. Iperf on saatavilla Windows-, Linux-, FreeBSD-, Irix, Mac- OpenBSD- ja Solaris-käyttöjärjestelmiin ja toimii myös IPv6-verkoissa.

Iperf-ohjelman toiminta

Iperf vaatii kaksi tietokonetta. Sama ohjelma käynnistetään toisessa koneessa palvelin- ja toisessa client-moodiin. Jos käytettävissäsi on kaksi tietokonetta, on vaikkapa WLAN-verkon VoIP- ja multimedia-kelpoisuuden kattava tutkiminen mahdollista. Raaka tiedonsiirtonopeus on mitattavissa iperf-ohjelmalla myös omia tiedostoja käyttäen.

Ohjelman lataus ja peruskäyttö

Omaan järjestelmään sopivan Iperfin version voi hakea Sourceforgen Iperf-sivuilta. (Windowsissa toimiva .exe-tiedosto löytyy paketin lib-hakemistosta.)

Samasta osoitteesta löytyy myös edistyneemmässä käytössä tarvittavaa ohjeistusta. Windows-ympäristössä ohjelma ei vaadi asentamista.

Iperf ja Linux

Linux-käyttöjärjestelmään tarvittava iperf package löytyy useimmista repositoryistä. Erityisen näppärä iperf on OpenWrt-pohjaisissa reitittimissä. Voit mitata langattoman yhteyden nopeuden kätevästi käynnistämällä iperf-palvelimen OpenWrt-reitittimessä ja käyttämällä clientia PC:ssä.

Tällä sivulla opettelemme ohjelman peruskäytön ja kokeilemme myös puheen, musiikin ja videon siirrossa oleellisen UDP-siirron testausta.

Iperf-palvelimen käynnistys

Testausta varten iperf käynnistetään palvelimena käytettävällä tietokoneella komennolla:

C:\>iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 8.00 KByte (default)
------------------------------------------------------------
        

Palomuurin on luonnollisesti läpäistävä iperf:n käyttämä TCP-portti 5001.

Iperf:n käynnistys client-koneella

Iperf clientin käynnistys tapahtuu yksinkertaisimmillaan näin: (Osoitteena voi käyttää myös palvelinkoneen nimeä, jos palvelin on samassa verkossa tai nimipalvelin sen löytää.)

C:\>iperf -c 192.168.50.31
------------------------------------------------------------
Client connecting to 192.168.50.31, TCP port 5001
TCP window size: 8.00 KByte (default)
------------------------------------------------------------
[1916] local 192.168.0.31 port 1826 connected with 192.168.50.31 port 5001
[ ID] Interval       Transfer     Bandwidth
[1916]  0.0-10.0 sec  22.0 MBytes  18.4 Mbits/sec
        

Kuten yltä näkyy, saadaan tulokseksi siirretty datamäärä ja saavutettu nopeus. Samat tiedot ilmestyvät myös palvelimen konsolille.

Käyttö UDP-datan mittaukseen

UDP:n testausta varten iperf-palvelimen käynnistyskomentoon lisätään parametri -u:

C:\>iperf -su
------------------------------------------------------------
Server listening on UDP port 5001
Receiving 1470 byte datagrams
UDP buffer size: 8.00 KByte (default)
------------------------------------------------------------
        

Client-koneen käynnistyksessä vaaditaan sama -u-parametri, mutta komento vaatii myös kaistanleveyden ilmoittamisen parametrillä -b, koska UDP:llä iperf:n oletusnopeus on vain 1 Mb/s:

C:\iperf -c 192.168.50.31 -u -b 54m
------------------------------------------------------------
Client connecting to 192.168.50.31, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size: 8.00 KByte (default)
------------------------------------------------------------
WARNING: delay too large, reducing from 217.8 to 1.0 seconds.
[1916] local 192.168.0.31 port 1887 connected with 192.168.50.31 port 5001
[ ID] Interval       Transfer     Bandwidth
[1916]  0.0-12.0 sec  17.2 KBytes  11.8 Kbits/sec
[1916] Server Report:
[1916]  0.0-11.9 sec  17.2 KBytes  11.9 Kbits/sec  1.559 ms    0/   12 (0%)
[1916] Sent 12 datagrams        
        

Tulokseksi saadaan datamäärän ja siirtonopeuden lisäksi jitter (viiveen vaihtelu) ja hukkuneiden pakettien määrä. Samat tiedot tulostuvat tässäkin myös palvelimen ruudulle, ja hieman selkeämmässä muodossa. Huom: Viiveen vaihtelun ja hukkuneiden pakettien vaikutuksesta on kerrottu lisää näiden sivujen ping-komennon oppaassa.

Edistyneempi käyttö

Iperfin voi laittaa tietysti pyörimään myös internet-palvelimelle. Lisäksi edistyneempi käyttäjä voi muokata testisiirtoa hyvin monipuolisesti iperf:n pitkän parametrilistan avulla:

Client ja palvelin:
  -f, --format    [kmKM]   raportin yksikkö: Kbits, Mbits, KBytes, MBytes
  -i, --interval  #        raporttien toistoväli
  -l, --len       #[KM]    siirrettävän paketin pituus (oletus 8 KB)
  -m, --print_mss          näyttää TCP segmentin maksimikoon (MTU - TCP/IP header)
  -o, --output  [filename] vikaraportin tulostus [filename]-tiedostoon
  -p, --port      #        palvelimen kuunteleman portin määritys
  -u, --udp                UDP-siirron valinta
  -w, --window    #[KM]    TCP ikkunan koko
  -B, --bind      [host]   multicast-osoite
  -C, --compatibility      sanomat vanhemman version muodossa
  -M, --mss       #        TCP:n maksimi segmenttikoko
  -N, --nodelay            ilman viivettä, Nagle:n algoritmi pois päältä
  -V, --IPv6Version        IPv6:n käyttö

Palvelimella käytettäviä:
  -s, --server             palvelinmoodi
  -D, --daemon             aja palvelinta daemon-moodissa
  -R, --remove             palvelun poisto (windows 32)

Clientilla käytettäviä
  -b, --bandwidth #[KM]    UDP:llä, käytettävä kaistanleveys bit/s (K=kilo, M=mega)
                           (oletus 1 Mbit/sec)
  -c, --client    [host]   client-moodin käynnistys [host]=palvelimen osoite
  -d, --dualtest           kaksisuuntainen testaus yhtäaikaisesti
  -n, --num       #[KM]    lähetettävien tavujen määrä (K tai M) (vaihtoehto -t:lle)
  -r, --tradeoff           kaksisuuntainen testaus erikseen
  -t, --time      #        lähetyksen kestoaika (oletus 10 s)
  -F, --fileinput [name]   lähetettävä data tiedostosta [name]
  -I, --stdin              lähetettävä data stdin:stä
  -L, --listenport #       kaksisuuntaisen datan vastaanottoportti
  -P, --parallel  #        rinnakkaisten client threadien määrä
  -T, --ttl       #        time-to-live, multicastille (default 1)

Sekalaisia:
  -h, --help               parametrien selitykset
  -v, --version            version tulostus
          

Tarkempia ohjeita yllä olevien parametrien käyttöön sekä yhteyksien testaus- ja parannusohjeita iperfin avulla löytyy käyttöohjeesta.