Starte einen einfachen Speedtest direkt hier im Browser.
Willkommen auf dem Speedtest-Server der BITel! Wir bieten dir hier die Möglichkeit, die Geschwindigkeit zwischen deinem Internetzugang und unserem Speedtest-Server zu messen. Neben einem einfachen, browserbasierten Speedtest kannst du auch Test-Dateien in verschiedenen Größen herunterladen, iPerf3, netcat und FTP für Up- und Downloads benutzen. Dieser Server kann auch für Pings genutzt werden.
Lies nachfolgend mehr über den Aufbau und die vielfältigen Möglichkeiten dieses Speedtest-Servers! 🚀
Diese Test-Dateien bestehen nur aus Nullen. Es sind sogenannte Sparse-Dateien, die praktisch keinen Speicherplatz auf dem Server belegen. Sie sind somit nicht von der Geschwindigkeit der Server-Festplatte abhängig.
Die Dateien kannst du im Browser herunterladen. Der zeigt dir dann die Geschwindigkeit an. Beliebte Größen:
Hier zwei Snippets, wie du die Dateien auf der CLI herunterladen kannst:
# Linux mit wget (misst in Bit/s)
wget --report-speed=bits -O /dev/null https://speedtest.bitel.io/Testdateien/1000MB
# Unix mit curl (misst in Byte/s)
curl -o /dev/null https://speedtest.bitel.io/Testdateien/1000MB
An die URL /dev/null kannst du per POST- oder PUT-Request Daten übertragen. Diese werden auf dem Server verworfen und nicht auf der Festplatte gespeichert. Somit gibt es keinen serverseitigen Flaschenhals bei diesem Test.
Du kannst eine reguläre Datei oder einen Datenstrom aus /dev/zero
übertragen (max. 1 GB).
# Linux mit curl und einer Testdatei
truncate -s 250M /tmp/testdatei
curl --data-binary @/tmp/testdatei https://speedtest.bitel.io/dev/null >/dev/null
# PUT-Request mit curl
dd if=/dev/zero bs=1M count=1000 | curl -T . https://speedtest.bitel.io/dev/null >/dev/null
💁♂️ Nein, es handelt sich nicht um die Gerätedatei /dev/null
, in die der Webserver schreibt. Aber wir finden es witzig, den Endpoint genauso zu nennen.
Das unverschlüsselte File Transfer Protocol eignet sich gut, um die Geschwindigkeit zu messen. Du kannst mit deinem FTP-Programm zu ftp://speedtest.bitel.io/Testdateien verbinden und dieselben Testdateien wie oben im HTTP-Abschnitt herunterladen.
Beachte, dass wir aus Sicherheitsgründen nur passives FTP freigeschaltet haben, mit dem Portbereich 30.000 bis 30.999 für den Datenkanal. Der Login ist anonym (Benutzername anonymous
, kein Passwort). Prüfe, dass in deinem FTP-Programm kein Bandbreitenlimit eingestellt ist!
Der FTP-Download ist auch per Kommandozeile möglich:
# Linux mit wget (misst in Bit/s)
wget --report-speed=bits -O /dev/null ftp://speedtest.bitel.io/Testdateien/1000MB
# Unix mit curl (misst in Byte/s)
curl -o /dev/null ftp://speedtest.bitel.io/Testdateien/1000MB
# Linux mit ftp (zeigt Geschwindigkeit erst hinterher an)
ftp -o /dev/null ftp://speedtest.bitel.io/Testdateien/128MB
Hier gelten dieselben Regeln wie für den FTP-Download. Du solltest jedoch in das Verzeichnis ftp://speedtest.bitel.io/upload wechseln. In diesem Fall wird deine Datei tatsächlich auf die Festplatte gespeichert, da der FTP-Server sie nicht direkt nach /dev/null
schreiben kann. In der Praxis wirst du das erst bemerken, wenn du mit deinem Upload die 12-Gbps-SAS-SSDs an ihre Grenzen bringst. 😉 Ein Cronjob leert das Upload-Verzeichnis minütlich.
Auch hier wieder einige CLI-Beispiele:
# Linux mit curl und einer Testdatei
truncate -s 1G /tmp/testdatei
curl -T /tmp/testdatei ftp://speedtest.bitel.io/upload/
# Linux mit ftp
dd if=/dev/zero of=testdatei bs=1 count=0 seek=1G
ftp -u ftp://speedtest.bitel.io/upload/ testdatei
Das genaueste Ergebnis erreichst du mit iPerf3. Es testet auf einer niedrigeren Schicht des OSI-Modells als HTTP und FTP. Denn auf höheren Schichten fällt nicht messbarer Overhead an. Beachte, dass wir iPerf3 anbieten, nicht jedoch das ältere, inkompatible iperf.
Nachfolgend einige Beispiele für den Up- und Download-Test unter Linux. iPerf3 gibt es auch für Windows und weitere Plattformen.
Zur Verfügung stehende Ports sind 5.200 bis 5.209, sowie 4.242.
Der Server sendet, der Client empfängt, dank -R
für den Reverse Mode.
# Upload mit TCP
iperf3 -c speedtest.bitel.io -p 5203- R
iperf3 -c speedtest.bitel.io -p 5206 -P 4 -R
Ohne -R
sendet der Client zum Server.
# Download mit TCP
iperf3 -c speedtest.bitel.io -p 5204
iperf3 -c speedtest.bitel.io -p 5207 -P 4
Nachts um drei im Rechenzentrum am Terminal stehend im Rescue Mode unterwegs und nur /bin/bash
zur Hand? Oder vielleicht magst du es auch einfach nur einfach. Dann kannst du auch von der bash-Kommandozeile aus einen TCP-Datenstrom an Port 9 senden. Hier empfängt und verwirft der discard
-Service von inetd
deine Daten.
Nachfolgend drei Beispiele. Die ersten beiden funktionieren mit einer regulären Datei und dd
. Das dürftest du mit Bordmitteln hinkriegen. Das dritte Beispiel verwendet den Pipe Viewer, der sehr einfach und ohne Abhängigkeiten nachinstalliert werden kann.
# dd, ohne und mit Fortschrittsanzeige
dd if=/dev/zero bs=1M count=1024 | nc speedtest.bitel.io 9
dd status=progress if=/dev/zero bs=1M count=1024 >/dev/tcp/speedtest.bitel.io/9
# Erstelle eine 200 Megabyte-Datei, übertrage sie und messe die Zeit.
# Danach muss man manuell ausrechenn, wie schnell der Transfer war.
truncate -s 200M testdatei
time cat testdatei >/dev/tcp/speedtest.bitel.io/9
# Bequem mit pv (Pipe Viewer)
pv /dev/zero | netcat speedtest.bitel.io 9
pv /dev/zero >/dev/tcp/speedtest.bitel.io/9
# Zeigt aktuelle und durchschnittliche Geschwindigkeit, sowie Fortschritt und ETA
pv -Ss 1G -petrab /dev/zero >/dev/tcp/speedtest.bitel.io/9
💡 netcat
bzw. nc
kann reine TCP-Verbindungen zum Senden/Empfangen öffnen. Aber auch die Bash kann Ausgaben von Kommandos an entfernte Hosts via TCP umleiten. Nützlich, wenn netcat
nicht vorhanden ist.
Hier siehst du, wie viel Traffic dieser Speedtest Server wuppt.
Klicke zum Vergrößern. Tagesrekorde:
Dieser Speedtest ist für jeden verfügbar, aber in erster Linie natürlich für die Kundinnen und Kunden der BITel gedacht. Diese können damit ihre gebuchte und mit der tatsächlichen Internetgeschwindigkeit vergleichen.
Nur dieser Speedtest misst die Geschwindigkeit zwischen dem BITel-Router und der BITel. Und das ist maßgeblich. Um andere Webseiten, Speedtests und Ziele im Internet einschließlich der offiziellen Bandbreitenmessung der BNetzA zu erreichen, müssen deine Datenpakete von deinem Router zur BITel und dann weiter ins Internet geroutet werden. Die BITel hat aber — wie jeder andere Internetprovider auch — keinen Einfluss auf den Datenverkehr im Internet und wie deine Datenpakete dort behandelt werden.
Beachte einige Hinweise für einen möglichst aussagekräftigen Speedtest. ☝️
WLAN schwankt und außerdem teilt sich dein WLAN-Gerät die WLAN-Bandbreite mit deinen anderen WLAN-Geräten. Überhaupt teilt sich dein WLAN-Router die WLAN-Frequenzen mit den WLAN-Routern deiner Nachbarn. Egal ob 2,4 oder 5 GHz-Band, es kann immer nur ein Gerät gleichzeitig funken. Lediglich kabelgebundene Verbindungen (LAN) sind aussagekräftig. Verbinde dein Gerät möglichst direkt mit dem Router, welcher dem Internet am nächsten ist. Auch dLAN ist keine echte Lösung.
Schalte eventuelle Stromsparmodi aus. Diese könnten den Prozessor deines Geräts heruntertakten. Schließe dein Gerät ans Stromnetz an; insbesondere Laptops wechseln dann automatisch in den Modus "Beste Leistung". Oder du wechselst den Modus händisch.
Sorge für die Dauer des Speedtests dafür, dass auf deinem Gerät keine sonstigen Anwendungen deine Internetbandbreite beanspruchen. Vielleicht schaltest du auch vorübergehend dein WLAN uas, damit deine smarten Lautsprecher, TVs und Tables nicht rein grätschen. 📵
Führere mehrere Speedtests zu unterschiedlichen Zeitpunkten durch. Bedenke den Overhead von HTTP und SSL/TLS bei entsprechenden Messungen. Berücksichtige Einbußen durch 3G/LTE/4G/5G, WLAN-Verschlüsselung und -Signalstärke sowie VPN und Proxys. Schalte wenn möglich vorübergehend Firewalls, Virenscanner aus. Verwende nicht Microsoft Internet Explorer. Stelle sicher, dass deine Netzwerkkarte und alle Netzwerkverbindungen bis zum Router die optimale Leistung bieten (z. B. alles auf 1 Gigabit/s Vollduplex). Nicht, dass irgendwo ein altes 4-adriges CAT5-Kabel deinen Speedtest auf 100 Megabit/s Halbduplex runterzieht...
Es handelt sich bei diesem Speedtest-Server um das jeweils aktuelle Ubuntu-LTS auf einem Dell PowerEdge R350 mit Intel Xeon E-2374 CPU (3,7 GHz) und 16 GB RAM. Die Anbindung an das Internet ist mit 10G für die meisten Testszenarien ausreichend dimensioniert. Als Serverdienste verwenden wir Caddy Webserver, vsftpd, iPerf3, und inetd.
Wir haben einige nützliche Endpoints für deine CLI und Skripte parat:
/ip
➡️ deine IP als text/plain
/uuid
➡️ die UUID deines HTTP-Requests/random
➡️ der Source-Port deines HTTP-Requests/time
➡️ die aktuelle Serverzeit (Europe/Berlin)/timestamp
➡️ der Unix-Timestamp/connection
➡️ Details der HTTP-Verbindung