Benchmarks
Contents
Mesh Benchmark
The Mesh Benchmark represents the maximum amount of mesh-based traffic a device can send or receive. This is the speed limit of node to node traffic that doesn't leave the mesh. Services hosted in a way such that they are accessible on the mesh are mainly subject to this limit.
Procedure
To test the in-mesh speed, run iperf3 and yggdrasil on both a decently powerful PC/laptop as well as a mesh node.
On the PC, run the following command:
iperf3 -s
Then use yggdrasilctl getself
and note the IPv6 address.
On the mesh node, run the following command to start the benchmark:
iperf3 -c <PC-ipv6-address>
Results
Device | Download | Upload | Notes |
---|---|---|---|
example | 55 Mbit/s | 30 Mbit/s | Maxes out cpu |
example | 53 Mbit/s | 47 Mbit/s | Low resource usage |
Gateway Benchmark
Todo: Create standard test procedure with more powerful hardware
Environment: Laptop, Rpi4, DO Droplet, mullvad
Fully wired, rpi connected via autoygg to droplet, which routes traffic out through mullvad
Size | Download | Upload | Notes |
---|---|---|---|
$5 Basic | 55 Mbit/s | 30 Mbit/s | Tested steam downloads as well as speedtest.net. Maxed out CPU |
$15 Basic | 53 Mbit/s | 47 Mbit/s | Tested speedtest.net, CPU at ~50% |
$40 Basic | 65 Mbit/s | 55 Mbit/s | Tested speedtest.net, low resource utilization overall |
Old benchmarking results
EspressoBin v5
No Yggdrasil
Connecting to host 10.0.0.1, port 5201 [ 5] local 10.0.0.106 port 58198 connected to 10.0.0.1 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 49.2 MBytes 413 Mbits/sec 27 532 KBytes [ 5] 1.00-2.00 sec 44.8 MBytes 376 Mbits/sec 0 592 KBytes [ 5] 2.00-3.00 sec 44.8 MBytes 376 Mbits/sec 0 643 KBytes [ 5] 3.00-4.00 sec 44.9 MBytes 376 Mbits/sec 1 519 KBytes [ 5] 4.00-5.00 sec 46.1 MBytes 387 Mbits/sec 0 581 KBytes [ 5] 5.00-6.00 sec 44.8 MBytes 376 Mbits/sec 0 639 KBytes [ 5] 6.00-7.00 sec 46.1 MBytes 387 Mbits/sec 1 516 KBytes [ 5] 7.00-8.00 sec 43.6 MBytes 366 Mbits/sec 374 346 KBytes [ 5] 8.00-9.00 sec 44.9 MBytes 377 Mbits/sec 0 434 KBytes [ 5] 9.00-10.00 sec 46.1 MBytes 387 Mbits/sec 0 509 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 455 MBytes 382 Mbits/sec 403 sender [ 5] 0.00-10.05 sec 452 MBytes 377 Mbits/sec receiver iperf Done.
Yggdrasil
Connecting to host 201:f06b:1827:4e45:90fa:554e:ace5:27c7, port 5201 [ 5] local 201:28ab:ee79:77d4:192e:1366:8b79:4980 port 33776 connected to 201:f06b:1827:4e45:90fa:554e:ace5:27c7 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 17.4 MBytes 146 Mbits/sec 26 1.50 MBytes [ 5] 1.00-2.00 sec 16.2 MBytes 136 Mbits/sec 20 1.31 MBytes [ 5] 2.00-3.00 sec 15.0 MBytes 126 Mbits/sec 56 959 KBytes [ 5] 3.00-4.00 sec 13.8 MBytes 115 Mbits/sec 31 767 KBytes [ 5] 4.00-5.00 sec 13.8 MBytes 115 Mbits/sec 20 831 KBytes [ 5] 5.00-6.00 sec 15.0 MBytes 126 Mbits/sec 2 1.25 MBytes [ 5] 6.00-7.00 sec 17.5 MBytes 147 Mbits/sec 23 1.37 MBytes [ 5] 7.00-8.00 sec 17.5 MBytes 147 Mbits/sec 1 1.62 MBytes [ 5] 8.00-9.00 sec 15.0 MBytes 126 Mbits/sec 5 1.62 MBytes [ 5] 9.00-10.00 sec 17.5 MBytes 147 Mbits/sec 6 1.62 MBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 159 MBytes 133 Mbits/sec 190 sender [ 5] 0.00-10.09 sec 157 MBytes 130 Mbits/sec receiver iperf Done.
Raspberry Pi 3B+
Yggdrasil
[ ID] Interval Transfer Bitrate [ 5] 0.00-10.41 sec 37.3 MBytes 30.1 Mbits/sec receiver [ 8] 0.00-10.41 sec 36.6 MBytes 29.5 Mbits/sec receiver [ 10] 0.00-10.41 sec 36.6 MBytes 29.5 Mbits/sec receiver [ 12] 0.00-10.41 sec 38.0 MBytes 30.6 Mbits/sec receiver [SUM] 0.00-10.41 sec 149 MBytes 120 Mbits/sec receiver