Speedtest für VDSL mit iperf und OS X

Nachdem mein VDSL DSL Anschluss über Congstar jetzt endlich da ist, wollte ich natürlich auch die Bandbreite testen. Laut den Fritzbox DSL Infos sollten 50 Mbit/s down und 10 Mbit/s up möglich sein.

VDSL Info Fritzbox

Natürlich könnte ich jetzt auf irgendeine Speedtestseite gehen und dort auf „Speedtest starten“ klicken. Aber leider bieten diese Tests keine Garantie, dass das angezeigte Ergebnis auch nur annähernd richtig ist. Warum das so ist und was man ohne viel Aufwand trotzdem machen kann, habe ich hier mal erklärt.

Prequisits

Um die Bandbreite zwischen meinem Macbook und meine Server im Internet über meinen neuen VDSL Anschluss zu testen, möchte ich iperf verwenden. Entweder direkt auf der iperf Seite das tar laden oder über Homebrew mit brew install iperf installieren.

Mein Server läuft unter Ubuntu. Dort kann das Paket mit sudo apt-get install iperf installiert werden.

Da die Fritzbox die Verbindung von außen per NAT übersetzt und mein Macbook keine öffentliche Adresse hat, muss in der Box unter Internet/Freigaben eine Portfreigabe für Port 5001 TCP erstellt werden.

Portfreigabe fuer iperf fritzbox

Auf dem Macbook einfach das Terminal öffnen und schon kann es los gehen. Um eure öffentliche IP zu erfahren könnt ihr curl ifconfig.me aufrufen. Curl kann ggfs. auch über Homebrew installiert werden. Anschließend auf dem Macbook mit iperf -s den iperf Server starten.

————————————————————
Server listening on TCP port 5001
TCP window size: 128 KByte (default)
————————————————————

Auf dem Server stellt ihr dann die Verbindung mit iperf -c öffentlicheIP -P 6

Anschließend sollte ihr auf dem Server das Ergebnis sehen:

————————————————————
Client connecting to öffentlicheIP, TCP port 5001
TCP window size: 23.4 KByte (default)
————————————————————
[ 4] local ServerIP port 46749 connected with öffentlicheIP port 5001
[ 5] local ServerIP port 46750 connected with öffentlicheIP port 5001
[ 6] local ServerIP port 46751 connected with öffentlicheIP port 5001
[ 7] local ServerIP port 46752 connected with öffentlicheIP port 5001
[ 3] local ServerIP port 46748 connected with öffentlicheIP port 5001
[ 8] local ServerIP port 46753 connected with öffentlicheIP port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 0.00 ? ??s 14760230699284436992 Bytes/sec
[ 7] 0.0-10.1 sec 10.5 MBytes 8.69 Mbits/sec
[ 6] 0.0-10.2 sec 13.4 MBytes 11.1 Mbits/sec
[ 5] 0.0-10.2 sec 11.2 MBytes 9.28 Mbits/sec
[ 4] 0.0-10.2 sec 10.6 MBytes 8.75 Mbits/sec
[ 8] 0.0-10.2 sec 9.88 MBytes 8.11 Mbits/sec
[SUM] 0.0-10.2 sec 55.0 MBytes 45.2 Mbits/sec

Der Test starten 6 parallele Verbindungen, die bei mir auf insgesamt 45.2 Mbit/s kommen. Da mein Server mit 100 Mbit/s angebunden ist und zum Testzeitpunkt keine anderen Downloads liefen, kann man das schon als ziemlich genaues Ergebnis sehen.