Speed tests
Netronome runs speed tests with three providers:
- Speedtest.net, built into Netronome.
- iperf3, against an iperf3 server that you add. This needs the
iperf3program on the host that runs Netronome. - LibreSpeed, against public or custom LibreSpeed servers. This needs the
librespeed-cliprogram on the host that runs Netronome.
You select the provider and the server in the web interface. The keys on this page go in config.toml or in environment variables.
Speedtest.net
Section titled “Speedtest.net”speedtest.timeout(default30): The time limit in seconds for the download test, and a separate time limit for the upload test. For a test that you start in the web interface, it is also the time limit for a full iperf3 test.speedtest.connections(default0): The maximum number of parallel connections for the download test and the upload test.
Each key also has an environment variable. See Environment variables.
With connections = 0, the test library chooses:
- Download: one connection for each CPU core.
- Upload: one connection for each CPU core, with a maximum of 8.
A higher value, for example 32, can give more accurate results on links faster than 1 Gbit/s.
[speedtest]timeout = 30connections = 32Servers
Section titled “Servers”The server list shows the Speedtest.net servers, nearest first. Netronome keeps the list for 30 minutes. If you do not select a server, Netronome uses the nearest one.
To use a server that is not in the list, type its ID in the Server ID field and add it. Netronome then asks Speedtest.net for the server with that ID.
Some servers redirect their HTTP address to HTTPS. Before the test starts, Netronome follows the redirects and uses the final address for the full test.
iperf3
Section titled “iperf3”Add an iperf3 server in the web interface with a name, a host, and a port (5201 is the iperf3 default). Before each iperf3 test, Netronome runs ping against the server to measure the latency.
speedtest.iperf.test_duration(default10): The length of the iperf3 test, in seconds.speedtest.iperf.parallel_conns(default4): The number of parallel TCP connections.speedtest.iperf.timeout(default60): The time limit for theiperf3program, in seconds.speedtest.iperf.ping.count(default5): The number of ping packets.speedtest.iperf.ping.interval(default1000): The time between ping packets, in milliseconds.speedtest.iperf.ping.timeout(default10): The time limit for the ping step, in seconds.
If the ping step fails, the iperf3 test continues without a latency value.
[speedtest.iperf]test_duration = 10parallel_conns = 4timeout = 60
[speedtest.iperf.ping]count = 5interval = 1000timeout = 10LibreSpeed
Section titled “LibreSpeed”speedtest.librespeed.timeout(default60): The time limit in seconds for a LibreSpeed test that you start in the web interface. If the value inconfig.tomlis0, Netronome uses 60.
The server list contains two groups:
- Public servers from
librespeed.org. Netronome keeps this list for 30 minutes. - Custom servers from the file
librespeed-servers.json, in the same directory asconfig.toml. If the file does not exist, the list has no custom servers.
The custom file is a JSON array in the librespeed-cli server format:
[ { "id": 1, "name": "Clouvider - London, UK", "server": "http://lon.speedtest.clouvider.net/backend", "dlURL": "garbage.php", "ulURL": "empty.php", "pingURL": "empty.php", "getIpURL": "getIP.php" }]Scheduled tests
Section titled “Scheduled tests”A scheduled test does not use speedtest.timeout or speedtest.librespeed.timeout for the full test. It has a fixed time limit of 5 minutes. The other time limits on this page still apply. To set up schedules, see Scheduling.
