Systemanforderungen
Zur Ausführung der Scripte wird ein UNIX-artiges System mit installiertem Python (min. 2.5) benötigt.
Speedtest
Speedtests werden über das Tool speedtest-cli von Matt Martz durchgeführt. Um konsistente Ergebnisse zu erhalten, sollte immer der selbe Testserver genutzt werden. Bei regelmäßig ausgeführten Tests lassen sich damit gut Trends erkennen. Die Tests sollten so nahe am Modem/Router wie möglich durchgeführt werden, jedenfalls aber auf einem über Kabel verbundenen System. Ideal ist z.B. die Durchführung direkt auf dem Router, wenn dieser einen Massenspeicher zur Ablage der Messdaten hat und genug Leistung besitzt um Python auszuführen. Ansonsten eignet sich ein RaspberryPi o.Ä. der mittels Kabel mit dem Router verbunden ist.
speedtest_cron
Die Datei speedtest_cron wird aufgerufen, um den Test zu starten. Dort muss zwei Mal der Pfad
/path/to/this/folder
mit dem Ordner ersetzt werden, in dem das Script liegt. Außerdem muss der Ordner /path/to/this/folder/speedtests
angelegt werden.
In dieser Datei wird auch der Server angegeben, der für Speedtests genutzt wird. Der Server 5351
ist derzeit UPC (Vienna, Austria). Die Liste der Server kann mittels ./speedtest_cli/speedtest_cli.py --list
abgerufen werden.
Mittels `/sbin/ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}'`
wird die IP-Adresse der Internetverbindung als Quelle gewählt. Hier muss eventuell das eth0
durch die richtige Schnittstelle ersetzt werden. Alternativ kann bei Problemen der gesamte Teil --source `/sbin/ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}'`
entfernt werden.
crontab_example
Die Datei speedtest_cron muss regelmäßig aufgerufen werden. Dafür muss der Inhalt der Datei crontab_example in /etc/crontab oder dem User-Crontab, der mittels
crontab -e
bearbeitet werden kann eingetragen werden. /path/to/this/folder/
muss dabei natürlich durch den wirklichen Pfad ersetzt werden.
speedcsv
Mittels des Scriptes
speedcsv
können die erzeugten Ergebnisse (eine Datei pro Test) ausgewertet und als csv exportiert werden. Die Ergebnisse können auch in eine Datei gespeichert werden, z.B. mit ./speedcsv > results.csv
Die erzeugte Datei kann dann in einer Tabellenkalkulation weiter ausgewertet werden.
Lizenz
Alle Scripte können unter den folgenden Bedingungen genutzt werden:
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004
Copyright (C) 2016 Eva Silberschneider
Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. You just DO WHAT THE FUCK YOU WANT TO.
Verbesserungsvorschläge werden gerne als Pull-Request angenommen
Alternativen
Ein ähnliches Projekt ist speedtest-cli-extras