I exchanged my Synology server for a 10Gbit capable model, and after deploying it, I wanted to confirm the actual available speed over my network.
For this matter I use the tool iperf3. It is a great command line interface (CLI) based tool, that supports all varieties of operating systems: from Windows over MacOS and Linux to Android and a lot more distros.
To simply and quickly run it on a Synology NAS, I use docker from the Synology AppStore. So this is how it flows:
1. Install Docker on your Synology NAS over their AppStore
2. Go to your DSM System Control Paned on the Synology and under Applications, Terminal and SNMP activate the SSH service on port 22. please be mindful about this and make sure you are not forwarding this port from your internet firewall/router to your Synology (unless you wanted that to).
3. open a Terminal and ssh into your Synology NAS:
ssh [email protected]
4. Install the iperf3 docker image:
sudo docker run -it --rm -p 5201:5201 networkstatic/iperf3 --help
Now you should see it installing the docker image from the net and after finishing it launching the container.
5. Start iperf3 as listening server on the NAS:
sudo docker run -it --rm --name=iperf3-server -p 5201:5201 networkstatic/iperf3 -s
Now you should see the following output which means your Synology is waiting for another iperf3 client to start the test to it:
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
CAUTION: if you have the Synology DSM firewall enabled, you need to open port 5201 for iperf to function. Else your client won't be able to connect to it!
6. Go to your client machine, in my case a OSX machine, and open the Terminal.
If you haven't iperf3 installed already, install it via brew:
brew install iperf3
7. initiate the speedtest from your client with:
iperf3 -c 192.168.x.x
192.168.x.x stands for your Synologys IP address.
8. You should get now an output similiar to this (example for a 1Gbit connection:
$ iperf3 -c 192.168.x.x
Connecting to host 192.168.x.x, port 5201
[ 5] local 192.168.x.xx port 50685 connected to 192.168.x.x port 5201
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 94.5 MBytes 793 Mbits/sec
[ 5] 1.00-2.00 sec 93.4 MBytes 783 Mbits/sec
[ 5] 2.00-3.00 sec 90.4 MBytes 758 Mbits/sec
[ 5] 3.00-4.00 sec 92.8 MBytes 778 Mbits/sec
[ 5] 4.00-5.00 sec 92.9 MBytes 779 Mbits/sec
[ 5] 5.00-6.00 sec 92.8 MBytes 778 Mbits/sec
[ 5] 6.00-7.00 sec 92.6 MBytes 777 Mbits/sec
[ 5] 7.00-8.00 sec 93.3 MBytes 782 Mbits/sec
[ 5] 8.00-9.00 sec 92.5 MBytes 776 Mbits/sec
[ 5] 9.00-10.00 sec 89.0 MBytes 747 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate
[ 5] 0.00-10.00 sec 924 MBytes 775 Mbits/sec sender
[ 5] 0.00-10.00 sec 924 MBytes 775 Mbits/sec receiver
iperf Done.
Thats it! Super simple, quick and reliable to test your network device connections. You can also easily run this from or to a raspberry pi or any other linux machine.
Enjoy and happy testing!