Network Performance Testing

Yeah, you can do a lot, like they do at FOSDEM. I usually just need simple things. iperf3 is a simple tool.

iperf3 --server --verbose

and on the other machine:

iperf3 --client other.machine.or.ip -n 100000000

This can make the server write something like this (stdout):

iperf 3.1.3
Linux jjim 4.15.0-91-generic #92-Ubuntu SMP Fri Feb 28 11:09:48 UTC 2020 x86_64
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Time: Tue, 12 May 2020 21:52:36 GMT
Accepted connection from vpn-ip2-here, port 48182
      Cookie: trumpet.1589320356.806f73.6fc971c34c
      TCP MSS: 1385 (default)
[  5] local vpn-ip-here port 5201 connected to vpn-ip2-here port 48184
Starting Test: protocol: TCP, 1 streams, 131072 byte blocks, omitting 0 seconds, 100000000 bytes to send
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-1.00   sec  35.8 MBytes   300 Mbits/sec
[  5]   1.00-2.00   sec  35.7 MBytes   299 Mbits/sec
[  5]   2.00-2.62   sec  23.6 MBytes   320 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
Test Complete. Summary Results:
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-2.62   sec  0.00 Bytes  0.00 bits/sec                  sender
[  5]   0.00-2.62   sec  95.0 MBytes   305 Mbits/sec                  receiver
CPU Utilization: local/receiver 6.5% (1.5%u/5.1%s), remote/sender 0.8% (0.2%u/0.6%s)

This is two machines over Tinc VPN.

Skipping the VPN gives:

Time: Tue, 12 May 2020 21:53:22 GMT
Accepted connection from 192.168.86.19, port 56254
      Cookie: trumpet.1589320402.957547.3db249522c
      TCP MSS: 1448 (default)
[  5] local 192.168.86.201 port 5201 connected to 192.168.86.19 port 56256
Starting Test: protocol: TCP, 1 streams, 131072 byte blocks, omitting 0 seconds, 100000000 bytes to send
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-0.89   sec  95.3 MBytes   902 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
Test Complete. Summary Results:
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-0.89   sec  0.00 Bytes  0.00 bits/sec                  sender
[  5]   0.00-0.89   sec  95.3 MBytes   902 Mbits/sec                  receiver
CPU Utilization: local/receiver 1.1% (0.0%u/1.1%s), remote/sender 1.5% (0.4%u/1.0%s)
This work by Fredrik Wendt is licensed under CC by-sa.