Verbindungsgeschwindigkeit zwischen zwei Linux Systemen messen
Oft ist es sinnvoll, die Geschwindigkeit zwischen Linux Computern (Servern) zu messen.
Diese Methode versucht soweit als möglich, jegliche Flaschenhälse wie die Festplatte auszuschalten. Sie orientiert sich an diesem Tutorial.
Pakete installieren
Folgende Pakete werden benötigt
netcat
bzw.nc
(egal ob die "traditional" oder "openbsd" Variante)- Pipeviewer bzw
pv
So der Befehl zur Installation könnten wiefolgt aussehen:
sudo apt-get install netcat pv
yum install nc pv
(Gegebenenfalls die richtigen Paketnamen raussuchen.)
Test durchführen
Ich gehe von folgender Konfiguration aus:
- Client uns Server sind im Netzwerk
10.0.0.0/24
- Server hat IP
10.0.0.1
- Client hat IP
10.0.0.2
- Ping von Client zu Server funktioniert
Hinweis: Bei einem (richtig konfiguriertem) System sollte die Firewall die Verbindung zum Port 2222 verhindern, deshalb muss
iptables -I INPUT -p tcp -s 10.0.0.2 --dport 2222 -j ACCEPT
ausgeführt werden. Als IP die IP des Clients angeben. Am Ende des Tests kann sie mit
iptables -I INPUT -p tcp -s 10.0.0.2 --dport 2222 -j DROP
wieder entfernt werden.
Auf dem Server ausführen
nc -l -n 2222 > /dev/null
Dabei wird netcat ausgeführt und lauscht auf Port 2222.
Auf dem Client ausführen
yes | pv | nc -n 10.0.0.1 2222 > /dev/null
Sofort sieht man die Übertragungsrate:
Angezeigte Werte:
- bisher übertragene Datenmenge
- vergangene Zeit
- Übertragungsrate
Weiterführende Informationen
- Original Tutorial http://linuxaria.com/article/tool-command-line-bandwidth-linux