Eine einfache Methode, wie man den Netzwerk-Durchsatz messen kann, geht wie folgt:

# auf host-a (Empfänger) eingeben:
root@host-a # netcat -l -p 1234 > /dev/null

# danach auf host-b (Sender) eingeben:
root@host-b # dd if=/dev/zero bs=1024k count=1024 | time netcat host-a 1234

Das pumpt dann 1 GiB Daten (Nullbytes) von host-b nach host-a und misst die dafür benötigte Zeit.

Messwerte D-Link DGE-500T:

Sender

Empfänger

Zeit[s]

entspr. MiB/s

S2466N 2xA1800+ PCI32@66

A7V333 1xA1900+ PCI32@33

20

50

dito, MTU 6100

dito

16

62

A7V333 A1900+ PCI32@33

S2466N 2xA1800+ PCI32@66

50

20

Heise etwa verwendet immer netio mit ihm kann man den durchsatz ohne Protokoll Overhead messen.

Frage: Gibt es auch nen vernünftigen Ansatz die Latenzzeit zu messen? Ping gilt nicht, das geht optimiert durch den IP-Stack! -- JanRoehrich 2002-09-25 22:46:36

Ich bin grade dabei, den IP-Stack von Kernel 2.4.19 etwas zu verändern, damit ich bessere Latenzzeiten bekomme ;-). Der Patch setzt allerdings voraus, dass die Netzstruktur bekannt ist! Wenn es zu Erfolg führt, werde ich natürlich entsprechendes veröffentlichen! -- JanRoehrich 2002-10-16 12:04:53

Interessanter Artikel über socket-Performance:

NetzwerkDurchsatz (zuletzt geändert am 2007-12-23 22:48:49 durch localhost)