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
je nachdem wie du den Netzwerk-Scheduler einstellst (siehe FortgeschrittenesRouting) und mit iptables Pakete markierst, werden verschiedene Pakete unterschiedlich schnell behandelt
- bei ping kannst die TOS-Bits explizit setzen
hping ist ein Utility, mit dem man ICMP/UDP/TCP Pakete verschicken und ausmessen kann
- die Messmethode richtet sich letztlich nach dem genauen Einsatzfall, da kann man keine allgemeine Aussage treffen, hping ist aber sicher das Tool der Wahl
wenn man keine besonderen Einstellungen vorgenommen hat, reicht ping aber aus -- RonnyBuchmann 2002-09-26 10:24:24
bing ist auch so ein Utility. -- AndreasSchockenhoff 2024-11-05 06:41:40
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
vielleicht wäre es effizienter, du würdest dich mit FortgeschrittenesRouting beschäftigen -- RonnyBuchmann 2002-10-16 17:29:34
Interessanter Artikel über socket-Performance: