[How To] Check Network Performance with iperf3


Sometimes it is important to check the network performance between your OSMC Device and the device providing your media (NAS, Server, PC). Especially when you are connected via wireless the throughput variations can harm you viewing experience.
This short How To should give you the required information how to install iperf3 and how to run the respective tests. When doing these tests it is suggested to have a simple setup (single switch between Sender and Receiver and avoid other traffic on the LAN. Also if you want help please post full results including the used command line.

  1. Install it on the OSMC device with sudo apt-get install iperf3

  2. Install it on your other device in your LAN (NAS, Server, Router or PC) following the respective method from here https://iperf.fr/iperf-download.php

After we have installed it on both devices we can run the test:

  1. Start iperf3 in server mode on your central device (NAS, Server, Router or PC) with iperf3 -s

  2. Start iperf3 on the OSMC as client with iperf3 -R -c <IP of your iperf3-server>, this will run a test where the OSMC device will receive data from the Server

  3. Now to test the direction from OSMC to the Server we need to remove -R switch on the OSMC device iperf3 -c <IP of your iperf3-server>

While the -R test is the more relevant one (you normally use the direction where the OSMC device receives the data) it still also important to run the test without the -R option to ensure both receiving and transmission direction works fine.

This initial test should give you an idea if your connection works fine, depending on your connectivity you should see:
Wired 100 Mbit: upto 94 Mbits/sec
Wired 1000 Mbit (both sides): upto 940 Mbits/sec
Wireless (2.4 Ghz): ~20-50 Mbits/sec
Wireless (5 GHz): 60-140 Mbits/sec

Please, be aware that Gigabit Ethernet Chips on some devices like the Raspberry Pi3+ are internally limited due to their connection (e.g. USB2) and therefore bandwidths up to 940 Mbits/sec cannot be reached with these…

If you find any major discrepancies you should look at changing cable, ports or switches. If you connect by wireless than try to change the channel.
Retries are not of major concern (if numbers are reasonably low) as the only time you would get zero retries is if the receiver and every link in the chain is faster than the sender. Especially when wireless is involved retries are common.

For further testing you could either extend the testing with -t 60 (one minute)
iperf3 -t 60 -R -c <IP of your iperf3-server>
or try parallel stream -P 4 which can make sense on wireless
iperf3 -P 4 -R -c <IP of your iperf3-server>
or you can use udp packets instead of tcp -u (you need to define the stream speed with -b eg. -b 100M or -b 1000M)
iperf3 -u -b 100M -R -c <IP of your iperf3-server>

IPTV Isues
Problems with Gigabit Ethernet on Vero 4K +
[4k+] [NFS] Extreme slow library update
(1) Change password SSH, samba, (2) win 10 samba access hangs
Adding Repos
Raspberry & Mycloud NAS failures
Vero 4k with only front red led visible
Vero 4k issues - speed and HDR