Netzwerkperformance mit NetIO messen
Netzwerk zu langsam? Das kleine
Tool NetIO zeigt aktuelle Messwerte und hilft dem Administrator bei
der Fehlersuche. Mirko Kulpa, 10.07.2005
Grundlagen
Bei der Fehlersuche im Netzwerk geht es oft um Probleme mit der
Performance. Aber wo liegt die Ursache für den zu geringen
Datendurchsatz im Netz? Das Programm NetIO von Kai Uwe Rommel
erlaubt die Messung der Geschwindigkeit unabhängig von einer
bestimmten Applikation. Da NetIO unter Windows, Unix, Linux und OS/2
arbeitet, können Messungen auch platformübergreifend vorgenommen
werden. NetIO kann die Übertragungsrate für die Protokolle UDP, TCP
und CIFS/SMB (NetBIOS) messen. NetBIOS wird nur in der
Windows-Version unterstützt. Da NetIO für die Messung nicht auf die
Festplatte zugreifen muss, wird wirklich die reine
Netzwerkperformance gemessen.
Installation
Die letzte mir bekannte Version von NetIO ist die 1.26. Sie
können die Software zum Beispiel von
http://www.ars.de/ars/ars.nsf/f24a6a0b94c22d82862566960071bf5a/aa577bc4be573b05c125706d004c75b5/$FILE/netio126.zip
herunterladen. Das ZIP-Archiv enthält den Sourcecode und die
ausführbaren Programme für Windows, Linux und OS/2 (im Ordner bin).
Je nach Platform kopieren Sie das entsprechende Programm in einen
Ordner der sich im Suchpfad befindet. Dabei kann das Programm auch
in "netio" bzw. "netio.exe" umbenannt werden. Beim Aufruf von NetIO
ohne Parameter wird eine kurze Hilfe angezeigt: [mirko] ~ $ netio
NETIO - Network Throughput Benchmark, Version 1.23
(C) 1997-2003 Kai Uwe Rommel
Usage: netio [options] [<server>]
-s run server side of benchmark (otherwise run client)
-b <size>[k] use this block size (otherwise run with 1,2,4,8,16 and 32k)
-t use TCP protocol for benchmark
-u use UDP protocol for benchmark
-h <addr> bind TCP and UDP servers to this local host address/name only
(default is to bind to all local addresses)
-p <port> bind TCP and UDP servers to this port (default is 18767)
-n use NetBIOS protocol for benchmark
-m <name> use this as the local NetBIOS name (defaults are NETIOSRV
for the server and NETIOCLT for the client)
-a <adapter> use this NetBIOS adapter (default is 0)
<server> If TCP or UDP is used for the client, a server name or address
is required. For NetBIOS, this is optional, for the case that
the server uses a different NetBIOS name than NETIOSRV.
The server side can run either NetBIOS (-n), TCP (-t) or UDP (-u) protocol
or all three (default, if neither -t, -u or -n are specified). The client
runs one of these protocols only (-t, -u or -n must be specified).
The -m and -a options apply to both client and server sides.
Das Programm enthält die Server- und Client-Applikation.
Messungen durchführen
Zuerst muss auf einer Maschine der NetIO-Server gestartet werden.
Dazu wird NetIO mit dem Parameter "-s" aufgerufen. NetIO nutzt per
Default die Portnummer 18767. Sollte dieser Port belegt sein, kann
über den Parameter "-p" eine andere Portnummer bestimmt werden. [mirko] ~ $ netio -s
NETIO - Network Throughput Benchmark, Version 1.23
(C) 1997-2003 Kai Uwe Rommel
TCP server listening.
UDP server listening.
Im nächsten Schritt wird von einer anderen Maschine der
NetIO-Client aufgerufen. Als Parameter werden Hostname oder
IP-Adresse des Servers und das Netzwerkprotokoll für die Messung
angegeben. Das Beispiel zeigt eine Messung für das Protokoll TCP.
[sun] ~ $ netio -t netio-server.example.net
NETIO - Network Throughput Benchmark, Version 1.23
(C) 1997-2003 Kai Uwe Rommel
TCP connection established.
Packet size 1k bytes: 11542 KByte/s Tx, 7912 KByte/s Rx.
Packet size 2k bytes: 11499 KByte/s Tx, 7179 KByte/s Rx.
Packet size 4k bytes: 11302 KByte/s Tx, 7972 KByte/s Rx.
Packet size 8k bytes: 11482 KByte/s Tx, 7984 KByte/s Rx.
Packet size 16k bytes: 11077 KByte/s Tx, 7985 KByte/s Rx.
Packet size 32k bytes: 11519 KByte/s Tx, 7972 KByte/s Rx.
Done.
NetIO führt die Messung des Datendurchsatzes für die Paketgrößen
von 1 KB bis 32 KB durch. Das Messergebnis wird getrennt für die
Sende- (Tx) und Empfangsrichtung (Rx) angezeigt. Unterschiedliche
Werte für beide Richtungen können zum Beispiel durch eine
asymetrische Verbindung (ADSL) oder eine verschieden eingestellte
TCP-Window Size verursacht werden. Auf der Serverseite ist die
laufende Messung ebenfalls zu sehen: [mirko] ~ $ netio -s
NETIO - Network Throughput Benchmark, Version 1.23
(C) 1997-2003 Kai Uwe Rommel
TCP server listening.
UDP server listening.
TCP connection established ...
Receiving from client, packet size 1k ...
Sending to client, packet size 1k ...
Receiving from client, packet size 2k ...
Sending to client, packet size 2k ...
Receiving from client, packet size 4k ...
Sending to client, packet size 4k ...
Receiving from client, packet size 8k ...
Sending to client, packet size 8k ...
Receiving from client, packet size 16k ...
Sending to client, packet size 16k ...
Receiving from client, packet size 32k ...
Sending to client, packet size 32k ...
Done.
TCP server listening.
Das nächste Beispiel zeigt eine Messung für das verbindungslose
Protokoll UDP. Über die Option "-b 2k" wird die Paketgröße auf 2 KB
festgelegt. [sun] ~ $ netio -u -b 2k netio-server.example.net
NETIO - Network Throughput Benchmark, Version 1.23
(C) 1997-2003 Kai Uwe Rommel
UDP connection established.
Packet size 2k bytes: 11365 KByte/s (1%) Tx, 11361 KByte/s (0%) Rx.
Done.
NetIO liefert Messwerte für die Netzwerkperformance zwischen zwei
Hosts. Die Ergebnisse sind eine gute Grundlage für die Fehlersuche
oder Optimierungen. NetIO kann sowohl im lokalen Netz (LAN) als auch
im Internet genutzt werden.
Nach Beendigung der Messungen sollte der NetIO-Server mit STRG+C
wieder deaktiviert werden. NetIO kann durchaus einiges an Traffic
verursachen. Wer an seinem vServer oder Root Server also keine
Flatrate hat, sollte den Traffic im Auge behalten.
Hilfe und Erfahrungsaustausch zu NetIO finden Sie im Netzwerkforum.
Weiterführende Informationen
Weiterführende Informationen finden Sie unter folgenden Links:
|