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)