Tools: NETIO, IPERF und TTCP

Neben DT ist NETIO ein kleines nützliches Programm, um mal schnell den Durchsatz der Netzwerkkarte zu prüfen. zwar können Sie mit DT auch auf Netzwerklaufwerke schreiben und lesen und damit ebenfalls einen effektiven Durchsatz ihres PCs, dem Netzwerk und dem Dateiserver müssen, aber hierbei wird in der Regel nur ein Bruchteil der Netzwerkleistung erreicht. Zumindest das Zielsystem muss die Daten ja weg schreiben.

NETIO arbeitet anders. Über eine einfache TCP oder SMB Verbindung werden eigens dazu generierte Daten von einem Client zu einem Server übertragen und der Durchsatz gemessen. Dabei ist keine Festplatte oder andere Komponente involviert, sondern außer dem Betriebssystem nur der Netzwerkkartentreiber, der TCP/IP-Stack und beim Einsatz des NetBIOS over TCP/IP-Tests auch die Windows RPC-Funktion.

Download, Installation und Aufruf

NETIO ist ohne Installation funktionsfähig. Sie müssen aus dem Archiv die für ihre Betriebssystem zutreffende Datei extrahieren. NETIO gibt es für Windows (32bit), Linux und OS/2. In diesem Archiv ist nur die Windows 32Bit Version enthalten.

netio123nt.zip (10kb) (Eventuell gibt es schon eine neuere Version)
Homepage des Authors: http://www.ars.de/ars/ars.nsf/docs/netio
Freshmeat Site: http://freshmeat.net/projects/netio/

Folgende Optionen stehen zum Aufruf auf dem System zur Auswahl:

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 für benchmark
-u use UDP protocol für 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 für benchmark
-m <name> use this as the local NetBIOS name (defaults are NETIOSRV
for the server and NETIOCLT für the client)
-a <adapter> use this NetBIOS adapter (default is 0)

<server> If TCP or UDP is used für the client, a server name or address
is required. für NetBIOS, this is optional, für 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.

Dies bedeutet, dass Sie als Minimalfunktion folgendes aufrufen müssen. Ein System ist der Client und das andere System der Server

Client

Server

Für den TCP/IP Test

netio.exe -t servername

netio.exe -s -t

Für den NetBIOS-Test

netio.exe servername

netio.exe -s

Der Server wartet in einem DOS-Fenster auf eingehende Verbindungen. Wenn sich ein Client verbindet, wird dies angezeigt. Es kann sich aber immer nur ein Client verbinden. Den Server können sie mit CTRL-C beenden.

Auf der Seite des Clients ist gut der Testfortschritt zu erkennen.

Die Messwerte hier zeigen einen einfachen Rest über ein Gigabit-LAN. Es ist gut erkennbar, dass hier nicht die echte Bandbreite ausgenutzt werden kann. Allerdings werden Sie auch erkennen, dass der Durchsatz über NetBIOS nicht an den nativen TCP/IP-Durchsatz aufgrund des zusätzlichen Overhead herankommen kann.

Interpretieren der Ergebnisse

Jeder Test ist immer nur so gut, wie die Testvorbereitungen und die Interpretationen. NETIO ist keine Testsuite mit Assistenten und umfangreichen Anleitungen, wie die Daten zu bewerten sind. Das kann NETIO in der Form auch nicht leisten, das stupide einfach nur Daten ohne Nutzwert übertragen werden. Sie können aus den Ergebnissen daher nicht unbedingt die Leistung ihres Servers feststellen oder sogar Vergleiche mit anderen Servern herstellen.

Die Übertragungsrate setzt sich dazu aus zu vielen Komponenten zusammen. Dazu gehört die CPU, die Netzwerkkarte, der Treiber aber auch das Betriebssystem, der Switch und die allgemeine Netzwerkbelastung. Bedenken Sie, dass auch NetIO sehr viel Last produziert und z.B.: in einem Netzwerk (Hub, BNC-Kabel, WiFi etc.) die gesamte Bandbreite belegt.

Wann immer Sie Vergleichsmessungen anstreben, sollten Sie immer nur eine Komponente ändern und die Randbedingungen gleich belassen. So könnten Sie feststellen, ob ein Firmware-Update oder eine Änderungen der Konfiguration am Switch sich auf die Performance positiv oder negativ auswirkt.

Interessant ist bei dem Test auch die CPU-Belastung der Systeme. Da die beiden Komponenten "Hauptspeicher" und "Festplatte" bei NetIO außen vor bleiben, ist der Test zugleich ein Leistungstest der CPU, des Betriebssystems und der Netzwerkkarten. Sie werden sehr schnell erkennen, dass je nach Treiber und Netzwerkkarte die CPU unterschiedlich stark belastet ist.

NetIO zur Fehlersuche

Allerdings ist NetIO durchaus zu gebrauchen, um Konfigurationsfehler zu entdecken. Eine 100MBit Verbindung sollte schon nahe an die 100 Megabit kommen und auch ein Gigabit LAN sollte zumindest 500-600 Megabit übertragen können. Ansonsten sollten Sie vielleicht mal die Einstellungen ihrer Netzwerkkarte oder ihres Switches (Halbduplex / Vollduplex) kontrollieren. NetIO ist auch wunderbar geeignet, um z.B.: den Durchsatz einer WAN-Verbindung als Stichprobe zu kontrollieren. Besonders "Adapter Teaming", QoS und andere Methoden zur Bandbreitensteuerung und Fehlersicherung sind mit NETIO schnell ausgemessen.

Weitere Links