/ Administration

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