Tag: speed testing

  • Hetzner Storage box quirks

    While troubleshooting some issues with my “Homelab” configuration I noticed some quirks in the speed I was able to achieve when connecting to my storage box:

    My “Homelab” is hosted by hetzner at Falkenstein. I use this box to host a bunch of services that I use, and at 4 arm cores it has plenty for most applications and is dirt cheap compared to what I can get now.

    I also use the Storage-box solution the offer as the backend for the bulk data.

    Recently the performance of the link between the VM and the storage box degraded significantly and I spent some time digging into what changed (I think Ive figured that out now, story for another time). Performance is now back to the region I would expect.

    What I noticed was that if I was using rsync to transfer files I go significantly faster results if I tunneled through the VM to the storage box. the only explanation I can come up with is that there is some sort of speed cap on external connections going to the storage box that is not enforced for the VM, now this could be my ISP or Hetzner, or someone in the middle (unlikely).

    Desktop --> VM --> Storage box : upload ~20.2 Mbps
    Desktop <-- VM <-- Storage box : download ~73.0 Mbps
    Desktop --> Storage box : upload ~18.8 Mbps
    Desktop <-- Storage box : download ~62.1 Mbps

    Now before we run into a replication crisis of our own I have run these tests at several times of the day the results remained comparable. I set up an SHH config for three hosts: The server, the storage box, and the storage box with a proxy jump configured to go via the vm.

    This means I can run the two commands below easily to compare the two, fstbox is configured to use the proxy jump, and box is a direct connection. I have downloaded the the speed check file from Hetzner’s servers as a baseline anyway, so I used that file and moved it around a few time.

    rsync -avz --progress fstbox:100MB.bin ~/ && rm ~/100MB.bin
    rsync -avz --progress box:100MB.bin ~/ && rm ~/100MB.bin

    Commands for the Hetzner speed test are here:

    curl -4 -w "\nIP: %{local_ip}\nTime: %{time_total}\n\n" https://fsn1-speed.hetzner.com/100MB.bin -o ~/100MB.bin

    The files available are referenced at Hetzner troubleshooting article. I was able to achieve slightly less using curl: only about 67 Mbps

    This got me thinking. If it can be faster to jump what about using the VPN which is already set up to the VM to carry the proxy jump connection? (prxbox is configured as a host using the wireguard interface)

    rsync -avz --progress prxbox:100MB.bin ~/ && rm ~/100MB.bin
    receiving incremental file list
    100MB.bin
        104,857,600 100%   10.09MB/s    0:00:09 (xfr#1, to-chk=0/1)
    
    sent 43 bytes  received 104,881,449 bytes  9,120,129.74 bytes/sec
    total size is 104,857,600  speedup is 1.00

    Something weird happened when I was just re-running the tests to show a complete suite done at a similar time. I was now testing 1GB files. and they all came in at roughly the same speed. Now my thoughts are did another process interfere with my network or