They don’t actually have to run on your server, just on a system at the server location.
I run Plex on a Synology NAS, so I installed the Docker image for both. iperf3 openspeedtest
You will have to add a port forward to access them remotely. iperf3 uses tcp/5201. Openspeedtest uses tcp/3000 (http). If desired, you can remap to a different port just like remapping Plex from 32400 to a different external port.
Running OpenSpeedTest on Windows or Mac is easy if you’ve access to the system. Just download the executable and run it. You’ll see a message like “Now go to http://192.168.1.126:3000” (i.e. the ip address of the system where you’re running it). See screenshot below.
Then point your browser at the URL and run the test. Use the public IP address (what is displayed on PMS remote access settings page) to access remotely.
iperf3 server runs via CLI. For windows, download the executable and run it with the -s (server) flag (-h for help).
c:\foo>iperf3 -s
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Then point your iperf3 client at the IP address of the server. You’ll see results on the server and the client.
You can try them on your local systems to get a feel for how they work before running at your server location.
Stop/start the server apps as desired or remove/re-establish the port forwards.
I don’t leave mine open to the Internet full time. I’m not aware of any security implications with either. I just don’t want some bot to start using it and suck up my limited bandwidth.
OpenSpeedTest running on my Windows desktop:
iperf3 running on my Windows desktop, with results from a test with Analiti app on my phone (local on 2.4 GHz WiFi)
c:\foo>iperf3 -s
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Accepted connection from 192.168.1.254, port 47948
[ 5] local 192.168.1.126 port 5201 connected to 192.168.1.254 port 47950
[ ID] Interval Transfer Bandwidth
[ 5] 0.00-1.01 sec 4.38 MBytes 36.2 Mbits/sec
[ 5] 1.01-2.00 sec 4.25 MBytes 36.0 Mbits/sec
[ 5] 2.00-3.00 sec 3.38 MBytes 28.4 Mbits/sec
[ 5] 3.00-4.00 sec 5.12 MBytes 43.0 Mbits/sec
[ 5] 4.00-5.00 sec 5.12 MBytes 43.0 Mbits/sec
[ 5] 5.00-6.00 sec 6.75 MBytes 56.6 Mbits/sec
[ 5] 6.00-7.00 sec 7.00 MBytes 58.7 Mbits/sec
[ 5] 7.00-8.00 sec 7.00 MBytes 58.7 Mbits/sec
[ 5] 8.00-9.00 sec 9.88 MBytes 82.8 Mbits/sec
[ 5] 9.00-10.01 sec 9.50 MBytes 79.2 Mbits/sec
[ 5] 10.01-10.04 sec 0.00 Bytes 0.00 bits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth
[ 5] 0.00-10.04 sec 62.4 MBytes 52.1 Mbits/sec sender
[ 5] 0.00-10.04 sec 0.00 Bytes 0.00 bits/sec receiver
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Accepted connection from 192.168.1.254, port 47952
[ 5] local 192.168.1.126 port 5201 connected to 192.168.1.254 port 47954
[ ID] Interval Transfer Bandwidth
[ 5] 0.00-1.00 sec 7.67 MBytes 64.3 Mbits/sec
[ 5] 1.00-2.00 sec 8.57 MBytes 71.8 Mbits/sec
[ 5] 2.00-3.01 sec 7.74 MBytes 64.3 Mbits/sec
[ 5] 3.01-4.00 sec 7.77 MBytes 65.9 Mbits/sec
[ 5] 4.00-5.00 sec 6.62 MBytes 55.5 Mbits/sec
[ 5] 5.00-6.00 sec 7.05 MBytes 59.2 Mbits/sec
[ 5] 6.00-7.00 sec 5.86 MBytes 49.1 Mbits/sec
[ 5] 7.00-8.00 sec 6.99 MBytes 58.7 Mbits/sec
[ 5] 8.00-9.00 sec 7.88 MBytes 66.1 Mbits/sec
[ 5] 9.00-10.00 sec 8.22 MBytes 68.9 Mbits/sec
[ 5] 10.00-10.07 sec 493 KBytes 60.8 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth
[ 5] 0.00-10.07 sec 0.00 Bytes 0.00 bits/sec sender
[ 5] 0.00-10.07 sec 74.8 MBytes 62.4 Mbits/sec receiver
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------