Vultr vs Linode vs Digital Ocean vs Hetzner cloud network benchmark

I made some network tests to compare the 4 cloud providers (Vultr, Linode, Digital Ocean and Hetzner), in thse tests, all cloud instances were deployed in Frankfurt, Germany.

The tested instances are with ~similar CPU and Ram:

Provider CPU(s) Ram SSD capacity Total traffic Price
Vultr* 2 4 GB ram 128 GB Nvme 3 TB $25 /mo*
Linode 2 4 GB ram 80 GB SSD 4 TB $20 /mo
Digital Ocean 2 4 GB ram 80 GB SSD 4 TB $20 /mo
Hetzner 2 16 GB ram 40 GB SSD 20 TB $5.33 /mo

A quick CPU test

First a quick CPU test, I downloaded a 1GB file from Leaseweb and I made the machines process this file with "cksum" and compared the time it took:

Provider command result (lower is better)
Vultr time cksum 1000mb.bin 2.648s*
Linode time cksum 1000mb.bin 4.694s
Hetzner* time cksum 1000mb.bin 4.314s*
Digital Ocean time cksum 1000mb.bin 4.164s

*this Vultr was a "high frequency" CPU version, there is also a $20 version
*also tested Hetzner 4 CPU version for ~$17 /mo (still cheaper than the rest), result: 0m2.809s.

Network upload test

These tests are made by downloading the same 1 GB file with wget, from one server to another, repeated the tests a few time, to make sure the speed is consistant.

Don't mix the directions :) I call this upload, when server uploads to other servers or to website visitors, this should be the important direction, the speed visitors gets to download from the server, is server upload speed:

upload from upload to region MB/s latency
Vultr Linode Germany 383 <1ms
Vultr Hetzner cloud Germany 220 3ms
Vultr Digital Ocean Germany 350 1ms
Vultr Digital Ocean United States East 30 87ms
Vultr Digital Ocean United States West 18 152ms
Vultr Digital Ocean Singapore 18 159ms

upload from upload to region MB/s latency
Linode Vultr Germany 170 <1ms
Linode Hetzner cloud Germany 190 3ms
Linode Digital Ocean Germany 350 1ms
Linode Digital Ocean United States East 31 90ms
Linode Digital Ocean United States West 17 150ms
Linode Digital Ocean Singapore 17 166ms

  upload from upload to region MB/s latency
Hetzner Vultr Germany 265 3ms
Hetzner Linode cloud Germany 328 3ms
Hetzner Digital Ocean Germany 300 3ms
Hetzner Digital Ocean United States East 30 80ms
Hetzner Digital Ocean United States West 17 165ms
Hetzner Digital Ocean Singapore 16 170ms

  upload from upload to region MB/s latency
Digital Ocean Vultr Germany 190 1ms
Digital Ocean Linode cloud Germany 240 1ms
Digital Ocean Hetzner Germany 160 3ms
Digital Ocean Digital Ocean United States East 32 83ms
Digital Ocean Digital Ocean United States West 17 158ms
Digital Ocean Digital Ocean Singapore 17 158ms

Download test

I didn't do a separate table, but you can reversely look in the above upload test and see the server you are interested.

My conclusion

What I understand from the tests is that they are all great cloud providers;
Generally faster and cheaper than some competitors I tested, I also use OVH for example.

If you need more than 3-4 TB traffic you might look more into Hetzner, also if you want to get decent performance for as low as $5-$10 but without much storage Hetzner would fit.

In my case now I want it be be as responsive as possible so this particular situation I will go with the Vultr "High Frequency" version. Hetzner and Linode also have a "Dedicated CPU" improved performance instances but they are a bit more expensive.

What I also noticed is that Hetzner are a bit more strict when it comes to abuse or external complaints, I had 2-3 situatons when users uploaded inapropriate content on my site(s) and Hetzner disconnected them in a few hours and re-activated the server after I removed the content. In another situation whwere I hosted a mobile apps directory, Hetzner simply asked me to move the site out of their network, without any room for discussion. So yes, they are a bit more sensitive; this also means that their IPs/network has a better reputation, e.g spam scores and such.