Hi alle zusammen, bin grad bei meiner Bachelorarbeit mit einem Netzwerktreiber(für einen SPI Netzwerkchip) für Linux(Raspberry Pi) fertig geworden. Jetzt muss ich noch ne Performanceanalyse starten. Kennt jemand ne konsolenbasierte NetzwerkMonitoringSoftware für Linux mit der ich abhänging von der Payloadgröße der Ethernetframes den Ethernetnutzdatendurchsatz berechnen/messen kann? Ich will einen Vergleich zwischen dem theoretisch möglichen Durchsatz, dem Durchsatz über die Standart NIC vom Raspberry und vom meinem Netzwerkchip machen. Oder hat jemand ne Idee wie man das am besten anstellen kann? Danke schon mal im voraus:-)
Traffic mit `tcpdump` aufnehmen, dann mit libpcap oder `wireshark` analysieren? Letzteres kann eine ganze Menge, u.a. auch Graphen über Durchsatz etc. erzeugen.
iperf?
1 | # iperf --help |
2 | Usage: iperf [-s|-c host] [options] |
3 | iperf [-h|--help] [-v|--version] |
4 | |
5 | Client/Server: |
6 | -f, --format [kmKM] format to report: Kbits, Mbits, KBytes, MBytes |
7 | -i, --interval # seconds between periodic bandwidth reports |
8 | -l, --len #[KM] length of buffer to read or write (default 8 KB) |
9 | -m, --print_mss print TCP maximum segment size (MTU - TCP/IP header) |
10 | -o, --output <filename> output the report or error message to this specified file |
11 | -p, --port # server port to listen on/connect to |
12 | -u, --udp use UDP rather than TCP |
13 | -w, --window #[KM] TCP window size (socket buffer size) |
14 | -B, --bind <host> bind to <host>, an interface or multicast address |
15 | -C, --compatibility for use with older versions does not sent extra msgs |
16 | -M, --mss # set TCP maximum segment size (MTU - 40 bytes) |
17 | -N, --nodelay set TCP no delay, disabling Nagle's Algorithm |
18 | -V, --IPv6Version Set the domain to IPv6 |
19 | |
20 | Server specific: |
21 | -s, --server run in server mode |
22 | -U, --single_udp run in single threaded UDP mode |
23 | -D, --daemon run the server as a daemon |
24 | |
25 | Client specific: |
26 | -b, --bandwidth #[KM] for UDP, bandwidth to send at in bits/sec |
27 | (default 1 Mbit/sec, implies -u) |
28 | -c, --client <host> run in client mode, connecting to <host> |
29 | -d, --dualtest Do a bidirectional test simultaneously |
30 | -n, --num #[KM] number of bytes to transmit (instead of -t) |
31 | -r, --tradeoff Do a bidirectional test individually |
32 | -t, --time # time in seconds to transmit for (default 10 secs) |
33 | -F, --fileinput <name> input the data to be transmitted from a file |
34 | -I, --stdin input the data to be transmitted from stdin |
35 | -L, --listenport # port to receive bidirectional tests back on |
36 | -P, --parallel # number of parallel client threads to run |
37 | -T, --ttl # time-to-live, for multicast (default 1) |
38 | -Z, --linux-congestion <algo> set TCP congestion control algorithm (Linux only) |
39 | |
40 | Miscellaneous: |
41 | -x, --reportexclude [CDMSV] exclude C(connection) D(data) M(multicast) S(settings) V(server) reports |
42 | -y, --reportstyle C report as a Comma-Separated Values |
43 | -h, --help print this message and quit |
44 | -v, --version print version information and quit |
45 | |
46 | [KM] Indicates options that support a K or M suffix for kilo- or mega- |
47 | |
48 | The TCP window size option can be set by the environment variable |
49 | TCP_WINDOW_SIZE. Most other options can be set by an environment variable |
50 | IPERF_<long option name>, such as IPERF_BANDWIDTH. |
51 | |
52 | Report bugs to <iperf-users@lists.sourceforge.net> |
netio habe ich letztens auch benutzt. Liefert ganz gute Aussagen, jeweils in Sende- und Empfangsrichtung. Kann entweder TCP und UDP verschicken. Die Paketgröße ändert das Tool automatisch. Der Compile auf meiner ARM-Entwicklungsplattform war auch ganz einfach.
Du suchst iperf: http://code.google.com/p/iperf/ Das Tool wird auf allen embedded Platformen für performance Messungen benutzt.
iperf ist in den Paketquellen von raspbian schon enthalten, einfach per apt-get installieren.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.