Benchmarks

Revision as of 23:35, 22 September 2020 by Stephen304 (talk | contribs)
Jump to navigation Jump to search

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

Mesh Node Benchmarks (In-Mesh)
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

Benchmarked VPS
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