Editing
Network performance
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Linux == ===Iperf=== ==== Server ==== <source lang=bash enclose=div> # TCP ]# iperf -s </source> <source lang=bash enclose=div> # UDP ]# iperf -s -u </source> ==== Client ==== <source lang=bash enclose=div> # TCP ]# iperf -c [server ip] </source> <source lang=bash enclose=div> # UDP # you must include -b to set the bandwith of the link. Defaul is 1mbps ]# iperf -c [server ip] -b 1000M </source> ==== Examples==== <source lang=bash enclose=div> # SERVER (10.69.1.254) ]# iperf -s ------------------------------------------------------------ Server listening on TCP port 5001 TCP window size: 85.3 KByte (default) ------------------------------------------------------------ </source> <source lang=bash enclose=div> # CLIENT ]# iperf -c 10.69.1.254 ------------------------------------------------------------ Client connecting to 10.69.1.254, TCP port 5001 TCP window size: 23.2 KByte (default) ------------------------------------------------------------ [ 3] local 10.69.1.250 port 34117 connected with 10.69.1.254 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 1.10 GBytes 941 Mbits/sec </source> <source lang=bash enclose=div> # SERVER (10.69.1.254) ]# iperf -s -u ------------------------------------------------------------ Server listening on UDP port 5001 Receiving 1470 byte datagrams UDP buffer size: 224 KByte (default) ------------------------------------------------------------ </source> <source lang=bash enclose=div> # CLIENT # iperf -u -c 10.69.1.254 -t 10 -b 1000M ------------------------------------------------------------ Client connecting to 10.69.1.254, UDP port 5001 Sending 1470 byte datagrams UDP buffer size: 224 KByte (default) ------------------------------------------------------------ [ 3] local 10.69.1.250 port 60912 connected with 10.69.1.254 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 972 MBytes 815 Mbits/sec [ 3] Sent 693385 datagrams </source> ---- === Bonding Example (2 gigabit) === : 'LACP 802.1ad' (mode=4) :: linux - ifcfg-bond0: '''BONDING_OPTS'''="miimon=100 mode=4 lacp_rate=1 xmit_hash_policy=1" * Open 4 terminals ** two connected to server host (hopstore) ** two connected to client host (blindpig) ==== Results ==== ---- ===== Same Client IP / Server Port ===== ---- * set server to listen on port 5001 * the other two terminal (on client) ** connect to port 5001 at the same time '''Expected''' This *should only achieve 1gbps - obviously this will for sure because I only have the client plugged in at gigabit <source> #CLIENT 1 root@blindpig:~# iperf -c 10.69.1.254 -p 5001 ------------------------------------------------------------ Client connecting to 10.69.1.254, TCP port 5001 TCP window size: 23.2 KByte (default) ------------------------------------------------------------ [ 3] local 10.69.1.250 port 50731 connected with 10.69.1.254 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 613 MBytes 514 Mbits/sec </source> <source> #CLIENT 2 root@blindpig:~# iperf -c 10.69.1.254 -p 5001 ------------------------------------------------------------ Client connecting to 10.69.1.254, TCP port 5001 TCP window size: 23.2 KByte (default) ------------------------------------------------------------ [ 3] local 10.69.1.250 port 50732 connected with 10.69.1.254 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 589 MBytes 494 Mbits/sec </source> <source> # SERVER [root@hopstore foo]# iperf -s -p 5001 ------------------------------------------------------------ Server listening on TCP port 5001 TCP window size: 85.3 KByte (default) ------------------------------------------------------------ [ 6] local 10.69.1.254 port 5001 connected with 10.69.1.250 port 50731 [ 4] local 10.69.1.254 port 5001 connected with 10.69.1.250 port 50732 [ 6] 0.0-10.1 sec 613 MBytes 511 Mbits/sec [ 4] 0.0-10.7 sec 589 MBytes 460 Mbits/sec [SUM] 0.0-10.7 sec 1.17 GBytes 939 Mbits/sec </source> ---- ===== Same Client IP / DIFFERENT Server Port ===== ---- * set server to listen on port 5001 * set server to listen on port 6001 * the other two terminalS (on client) ** connect CLIENT 1 to port 5001 (at the same time) ** connect CLIENT 1 to port 6001 (at the same time) '''Expected''' This *should achieve 2gbps - obviously this will NOT ( I need to plug a client in bonded first) * TO Test SOON ---- ===== Different Client IP / SAME Server Port ===== ---- * set server to listen on port 5001 * the other two terminal (on client) ** connect CLIENT 1 to port 5001 ** connect CLIENT 2 to port 5001 '''Expected''' 2gbps Total (1gbps per client). It does, both clients could get ~940mbps <source> #CLIENT 1 root@blindpig:~# iperf -c 10.69.1.254 -p 5001 ------------------------------------------------------------ Client connecting to 10.69.1.254, TCP port 5001 TCP window size: 23.2 KByte (default) ------------------------------------------------------------ [ 3] local 10.69.1.250 port 50762 connected with 10.69.1.254 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 1.10 GBytes 940 Mbits/sec </source> <source> #CLIENT 2 root@bigeye:~# iperf -c 10.69.1.254 -p 5001 ------------------------------------------------------------ Client connecting to 10.69.1.254, TCP port 5001 TCP window size: 23.2 KByte (default) ------------------------------------------------------------ [ 3] local 10.69.1.253 port 56929 connected with 10.69.1.254 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 1.10 GBytes 941 Mbits/sec </source> <source> # SERVER1 [root@hopstore foo]# iperf -s -p 5001 ------------------------------------------------------------ Server listening on TCP port 5001 TCP window size: 85.3 KByte (default) ------------------------------------------------------------ [ 4] local 10.69.1.254 port 5001 connected with 10.69.1.253 port 56929 [ 5] local 10.69.1.254 port 5001 connected with 10.69.1.250 port 50762 [ ID] Interval Transfer Bandwidth [ 4] 0.0-10.0 sec 1.10 GBytes 939 Mbits/sec [ 5] 0.0-10.0 sec 1.10 GBytes 938 Mbits/sec </source> ---- ===== Different Client IP / DIFFERENT Server Port ===== ---- * set server to listen on port 5001 and 6001 * the other two terminal (on client) ** connect CLIENT 1 to port 5001 ** connect CLIENT 2 to port 6001 '''Expected''' 2gbps Total (1gbps per client). It does, both clients could get ~940mbps <source> #CLIENT 1 root@blindpig:~# iperf -c 10.69.1.254 -p 5001 ------------------------------------------------------------ Client connecting to 10.69.1.254, TCP port 5001 TCP window size: 23.2 KByte (default) ------------------------------------------------------------ [ 3] local 10.69.1.250 port 50748 connected with 10.69.1.254 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 1.10 GBytes 941 Mbits/sec </source> <source> #CLIENT 2 root@bigeye:~# iperf -c 10.69.1.254 -p 6001 ------------------------------------------------------------ Client connecting to 10.69.1.254, TCP port 6001 TCP window size: 23.2 KByte (default) ------------------------------------------------------------ [ 3] local 10.69.1.253 port 34171 connected with 10.69.1.254 port 6001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 1.10 GBytes 941 Mbits/sec </source> <source> # SERVER1 [root@hopstore foo]# iperf -s -p 5001 ------------------------------------------------------------ Server listening on TCP port 5001 TCP window size: 85.3 KByte (default) ------------------------------------------------------------ [ 4] local 10.69.1.254 port 5001 connected with 10.69.1.250 port 50748 [ ID] Interval Transfer Bandwidth [ 4] 0.0-10.0 sec 1.10 GBytes 938 Mbits/sec </source> <source> # SERVER2 [root@hopstore ~]# iperf -s -p 6001 ------------------------------------------------------------ Server listening on TCP port 6001 TCP window size: 85.3 KByte (default) ------------------------------------------------------------ [ 4] local 10.69.1.254 port 6001 connected with 10.69.1.253 port 34171 [ ID] Interval Transfer Bandwidth [ 4] 0.0-10.0 sec 1.10 GBytes 939 Mbits/sec </source> === Addition Info === ---- * '''Iperf client only runs one thread'''. To get a better ''real world'' result, set the client to run with more threads. This can be used in UDP or TCP mode. As you notice above, I was only able to achieve 815mbps with udp testing. Enable 20 threads at 100mbps, I can now achieve 954mpbs. <source lang=bash enclose=div> ## set 10 threads #] iperf -c 10.69.1.250 -P 10 # iperf -u -c 10.69.1.254 -t 10 -b 100M -P 20 ------------------------------------------------------------ Client connecting to 10.69.1.254, UDP port 5001 Sending 1470 byte datagrams UDP buffer size: 224 KByte (default) ------------------------------------------------------------ [ 22] local 10.69.1.250 port 54270 connected with 10.69.1.254 port 5001 [ 3] local 10.69.1.250 port 43703 connected with 10.69.1.254 port 5001 [ 6] local 10.69.1.250 port 41342 connected with 10.69.1.254 port 5001 [ 5] local 10.69.1.250 port 47863 connected with 10.69.1.254 port 5001 [ 4] local 10.69.1.250 port 45683 connected with 10.69.1.254 port 5001 [ 7] local 10.69.1.250 port 53533 connected with 10.69.1.254 port 5001 [ 10] local 10.69.1.250 port 58435 connected with 10.69.1.254 port 5001 [ 8] local 10.69.1.250 port 34540 connected with 10.69.1.254 port 5001 [ 9] local 10.69.1.250 port 51102 connected with 10.69.1.254 port 5001 [ 11] local 10.69.1.250 port 52498 connected with 10.69.1.254 port 5001 [ 12] local 10.69.1.250 port 42381 connected with 10.69.1.254 port 5001 [ 15] local 10.69.1.250 port 57701 connected with 10.69.1.254 port 5001 [ 13] local 10.69.1.250 port 60505 connected with 10.69.1.254 port 5001 [ 14] local 10.69.1.250 port 33364 connected with 10.69.1.254 port 5001 [ 16] local 10.69.1.250 port 36105 connected with 10.69.1.254 port 5001 [ 17] local 10.69.1.250 port 37829 connected with 10.69.1.254 port 5001 [ 18] local 10.69.1.250 port 43117 connected with 10.69.1.254 port 5001 [ 19] local 10.69.1.250 port 54920 connected with 10.69.1.254 port 5001 [ 20] local 10.69.1.250 port 38253 connected with 10.69.1.254 port 5001 [ 21] local 10.69.1.250 port 48120 connected with 10.69.1.254 port 5001 [ ID] Interval Transfer Bandwidth [ 6] 0.0-10.0 sec 56.9 MBytes 47.7 Mbits/sec [ 6] Sent 40575 datagrams [ 9] 0.0-10.0 sec 57.0 MBytes 47.8 Mbits/sec [ 9] Sent 40672 datagrams [ 15] 0.0-10.0 sec 57.1 MBytes 47.9 Mbits/sec [ 15] Sent 40729 datagrams [ 14] 0.0-10.0 sec 56.8 MBytes 47.7 Mbits/sec [ 14] Sent 40550 datagrams [ 17] 0.0-10.0 sec 57.1 MBytes 47.9 Mbits/sec [ 17] Sent 40730 datagrams [ 19] 0.0-10.0 sec 56.9 MBytes 47.8 Mbits/sec [ 19] Sent 40618 datagrams [ 20] 0.0-10.0 sec 56.7 MBytes 47.6 Mbits/sec [ 20] Sent 40457 datagrams [ 5] 0.0-10.0 sec 57.1 MBytes 47.8 Mbits/sec [ 5] Sent 40695 datagrams [ 4] 0.0-10.0 sec 57.1 MBytes 47.9 Mbits/sec [ 4] Sent 40750 datagrams [ 10] 0.0-10.0 sec 57.1 MBytes 47.8 Mbits/sec [ 10] Sent 40724 datagrams [ 18] 0.0-10.0 sec 56.9 MBytes 47.7 Mbits/sec [ 18] Sent 40570 datagrams [ 21] 0.0-10.0 sec 57.0 MBytes 47.8 Mbits/sec [ 21] Sent 40680 datagrams [ 22] 0.0-10.0 sec 57.0 MBytes 47.7 Mbits/sec [ 22] Sent 40653 datagrams [ 3] 0.0-10.0 sec 57.0 MBytes 47.7 Mbits/sec [ 3] Sent 40638 datagrams [ 7] 0.0-10.0 sec 57.0 MBytes 47.7 Mbits/sec [ 7] Sent 40627 datagrams [ 8] 0.0-10.0 sec 56.9 MBytes 47.7 Mbits/sec [ 8] Sent 40622 datagrams [ 11] 0.0-10.0 sec 57.0 MBytes 47.7 Mbits/sec [ 11] Sent 40651 datagrams [ 12] 0.0-10.0 sec 57.1 MBytes 47.9 Mbits/sec [ 12] Sent 40766 datagrams [ 13] 0.0-10.0 sec 56.9 MBytes 47.6 Mbits/sec [ 13] Sent 40571 datagrams [ 16] 0.0-10.0 sec 56.9 MBytes 47.7 Mbits/sec [ 16] Sent 40595 datagrams [SUM] 0.0-10.0 sec 1.11 GBytes 954 Mbits/sec </source> [[Category:Linux]] [[Category:Networking]] [[Category:Performance]]
Summary:
Please note that all contributions to RARForge may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
RARForge:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Log in
Namespaces
Page
Discussion
English
Views
Read
Edit
View history
More
Search
Navigation
Home
All Pages
All Files
View Categories
Recent changes
Random page
Edit this menu
Tools
What links here
Related changes
Special pages
Page information