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

Josh Sherman
8 min read
VPS Showdown
HEADS-UP: A ton has changed since this post was originally published!
Why not check out the latest comparison?

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.

Join the Conversation

Good stuff? Want more?

Weekly emails about technology, development, and sometimes sauerkraut.

100% Fresh, Grade A Content, Never Spam.