orm@doc-tcpip.org

Erstellt: Juni 2007 - Letzte Modifikation: Februar 2008

[ Main | Local ]


Eine Geschwindigkeitsmessung am DSL Anschluss


Die Vorgeschichte

Seit einiger Zeit bin ich Besitzer einer DSL Anbindung. Diese Dinger werden recht aggressiv vermarktet, und so ähnlich wie bei den Plattengrößen werden Einheiten benutzt, die den Kunden ziemlich verwirren - und wahrscheinlich wenig mit der Realität zu tun haben? Zum Glück kann man sowas ja messen...

Die Theorie

Ich bin Strato-Kunde, und habe dort einen DSL Anschluss gekauft, der mit 2048 kbps bezeichnet wird. Das sind Kbit pro Sekunde, Kbit/s - also ein Datenstrom von 2048000 Bits in der Sekunde. Und wahrscheinlich meint der Provider da die Daten, die er befördert, also nicht die Nutzlast, die ich dann sehe.

Die Einheit Bit pro Sekunde finde ich jetzt etwas unpraktisch, also teile ich durch 8 und erhalte Byte pro Sekunde, und zwar 256000 byte/s. Das sind 256 Kbyte/s, was schon eine viel vertrautere Einheit ist - wenn ich eines meiner 2 MB großen Bilder übertragen möchte, dann brauche ich also mindestens 8 Sekunden.

Die Praxis

Um zu messen, was man tatsächlich an Bandbreite und Durchsatz erreicht, bietet sich das FTP Kommando an, da man so einen schönen TCP-IP Datenstrom erzeugen kann.

Ich habe also beim Download von rund 70 MB Daten mit einem simplen Skript alle 2 Sekunden mit dem du-Kommando das Anwachsen der empfangenen Bytes mitgeschnitten und die Datenmenge im Filesystem gegen die Zeit aufgetragen:

DSL Durchsatz in Kbyte gegen die Zeit, eine Gerade mit
218.6 Kbyte/s Steigung

Ich benutze für soetwas gnuplot, und das kann man dazu bringen, einen linearen Fit über die Daten zu legen und die Steigung auszurechnen. Ich bin dabei auf einen Durchsatz von 218.6 Kbyte/s gekommen, was umgerechnet 1748.8 Kbit/s wären - also gute 85% der versprochenen Bitrate.

Hier die Skripte:

Zum Protokollieren des Datenzuwachses und der Zeit
(die Ausgabe muss mit dem vi ein wenig nachgearbeitet werden).

#!/bin/bash
while true;
do
date | sed -e 's/Fri Juni  8 //' |sed -e 's/CET 2007//' >> /tmp/hempel.out
du -k /tmp/delete | sed -e 's/\/tmp\/delete//' >> /tmp/hempel.out
sleep 2
done

Eingabefile für das gnuplot:

set title "DSL 2000 Durchsatz bei FTP Download"
set xrange [0:400]
set yrange [0:85000]
set xlabel "[Sekunden]"
set ylabel "[Kbyte]"
f(x) = m*x + b
fit [4:77468] f(x) "download_gut.dat" using 1:3 via m,b
set terminal post enhanced color solid "Helvetica" 21
set out "versuch.ps"
plot 'download_gut.dat' using 1:3 title "Datenzuwachs im FS in Kbyte" w lines

Ausblick

Ich werde die Messung wohl mal zu verschiedenen Tageszeiten durchführen müssen... Interessant ist auch ein spezielles Feature des DSL, nämlich das Down- und Up-Load unterschiedlich sind. Der Up-Load ist meistens nur ein Bruchteil der Download Geschwindigkeit (schliesslich will man ja die Konsumenten an ein Broadcast-Medium a la Fernsehen gewöhnen, und da kommt der Wunsch nach Up-Load nur ungelegen - das machen grundsätzlich ja nur Software-Piraten und Filesharer). Daher sollte ich mal den Up-Load sowie Down- und Up-Load gleichzeitig messen.


[ Main | Local ]

[ Allgemein | UNIX | AIX | TCP-IP | TCP | ROUTING | DNS | NTP | NFS | FreeBSD | Linux | SMTP | Tracing | GPS ]

Copyright 2001-2014 by Orm Hager - Es gilt die GPL
Feedback bitte an: Orm Hager (orm@doc-tcpip.org )