VPS Showdown – Germany / Ubuntu 20.04 LTS – May 2020 – DigitalOcean vs. Linode vs. Vultr

Yes, another month’s post with less providers.

For good reason though, as Ubuntu 20.04 LTS was recently released and I wanted
to give it a whirl. Amazon is fairly notorious for being late to deliver new
operating system releases, but the shocker was that UpCloud was also not
offering up the latest Ubuntu when I sat down to run my benchmarks.

I just sort of assumed they would have had it available and that’s the big
reason that this month’s post includes the Frankfurt, DE data centers seeing as
all of the providers I had set out to include this month had a data center
there.

Featuring the Frankfurt, DE data centers did end up posing a small problem, as I
wasn’t able to run the speed tests against the usual Austin, TX based server as
I usually do. Live and learn, next time I’ll be sure to configure things to use
a European server instead.

The following benchmarks are the average of the data collected from benchmarking
3 separate instances for each provider. Each instance was running Ubuntu 20.04
LTS and resided in the Frankfurt, DE data center for the respective provider.

Overview

  DigitalOcean Linode Vultr
Plan Standard (1 GB) Nanode 1 GB High Frequency Compute 32 GB
Location Frankfurt 1 Frankfurt, DE Frankfurt
RAM 1 GB 1 GB 1 GB
CPU 1 Core 1 Core 1 Core
Storage 25 GB SSD 25 GB SSD 32 GB NVMe
Transfer 1 TB 1 TB 1 TB
Base Price $5/month $5/month $6/month
Backups $1/month $2/month $1.20/month
Transfer Overage $0.01/GB $0.01/GB $0.01/GB
Load Balancer $10/month $10/month $10/month
Block Storage $0.10/GB $0.10/GB $0.10/GB
Object Storage Yes Yes Yes
Managed Databases Yes On 2020 Roadmap No
2FA/MFA Yes Yes Yes
One-click Apps Yes Yes Yes
Custom Images Yes Yes Yes

CPU Info

  DigitalOcean Linode Vultr
CPU MHz 2294.59 2133.32 3792.00
Cache Size (KB) 4096.00 512.00 16384.00
BogoMips 3059.67 2933.33 5056.33

CPU

  DigitalOcean Linode Vultr
Events per Second 935.77 1269.37 1165.47
Minimum (ms) 0.97 0.75 0.80
Average (ms) 1.07 0.79 0.86
Maximum (ms) 5.45 8.21 4.01

Memory (Read)

  DigitalOcean Linode Vultr
Ops per Second 4312536.00 4201598.07 5414270.99
Minimum (ms) 0.00 0.00 0.00
Average (ms) 0.00 0.00 0.00
Maximum (ms) 2.28 0.53 0.50

Memory (Write)

  DigitalOcean Linode Vultr
Ops per Second 4266742.21 4219338.84 5392163.92
Minimum (ms) 0.00 0.00 0.00
Average (ms) 0.00 0.00 0.00
Maximum (ms) 0.89 0.54 0.51

File I/O

  DigitalOcean Linode Vultr
Reads per Second 1522.00 1748.62 3856.82
Writes per Second 1014.66 1165.70 2571.19
Fsyncs per Second 3251.15 3734.16 8236.22
Minimum (ms) 0.00 0.00 0.00
Average (ms) 0.17 0.15 0.07
Maximum (ms) 29.47 51.25 5.43

MySQL

  DigitalOcean Linode Vultr
Transactions per Second 1433.67 1949.00 2757.33
Queries per Second 28673.33 38980.00 55146.67
Minimum (ms) 4.11 3.67 2.26
Average (ms) 7.07 5.13 3.66
Maximum (ms) 28.11 36.84 15.19

Redis

  DigitalOcean Linode Vultr
PING_INLINE 50707.95 65721.46 53486.28
PING_BULK 50441.79 62576.17 51899.06
SET 50379.48 67256.76 50753.11
GET 49600.63 64822.90 49877.53
INCR 51806.46 66188.14 51708.15
LPUSH 52854.38 64550.01 51438.70
RPUSH 51072.67 64700.99 53499.67
LPOP 50507.79 65405.81 51783.05
RPOP 52443.73 68805.52 52593.56
SADD 50925.49 68219.01 52050.10
HSET 51399.44 65524.97 52833.64
SPOP 51898.90 66402.78 50847.65
LRANGE_100 (first 100 elements) 31900.35 29537.41 34464.79
LRANGE_300 (first 300 elements) 12849.41 11048.22 14899.23
LRANGE_500 (first 500 elements) 9793.23 8105.80 10310.35
LRANGE_600 (first 600 elements) 7746.84 6462.80 8799.95
MSET (10 keys) 43847.93 39283.11 49030.63

Apache Benchmark (against nginx on the servers)

  DigitalOcean Linode Vultr
Requests per Second 166.82 221.44 258.72
Time per Request (ms) (mean) 3223.72 2425.95 1936.02
Transfer Rate (Kbyte/sec) 140.10 185.98 217.28

Conclusion

Similar to previous months, Vultr’s slightly more expensive High Frequency plan
performed quite well. The exception being on the CPU benchmark, which Linode was
able to capture even though Vultr’s processor speed out classed them.

Also similar to previous months, Vultr’s Redis performance on lower-end systems
ended up trailing behind for most operations. Usually UpCloud takes that
particular category, but since they don’t offer Ubuntu 20.04 LTS and were
omitted, Linode was able to shine.

The big take away for me this month is that being behind on the latest version
of operating systems isn’t unique to Amazon as I once thought. While I’m not one
that’s quick to upgrade to the latest version on the initial release, it’s still
nice to know which providers are on top of things for when I want to spin up
brand new servers.

Josh Sherman - The Man, The Myth, The Avatar

About Josh

Husband. Father. Pug dad. Musician. Founder of Holiday API, Head of Engineering and Emoji Specialist at Mailshake, and author of the best damn Lorem Ipsum Library for PHP.


If you found this article helpful, please consider buying me a coffee.