VPS Showdown – November 2019 – DigitalOcean vs. Lightsail vs. Linode vs. UpCloud vs. Vultr

Not a ton of movement since last month, other than DigitalOcean’s announcement
of their memory-optimized droplets being generally available.

I decided to bring things back state-side again, targeting the west coast data
centers for each provider.

As always, I’m using Ubuntu 18.04 LTS for the operating system and the metrics
below are the average of running benchmarks on 3 separate instances.

Overview

  DigitalOcean Lightsail Linode UpCloud Vultr
Location San Francisco 2 Oregon, Zone A Fremont, CA San Jose 1 Silicon Valley
RAM 1 GB 1 GB 1 GB 1 GB 1 GB
CPU 1 Core 1 Core 1 Core 1 Core 1 Core
Storage 25 GB SSD 40 GB SSD 25 GB SSD 25 GB SSD 32GB NVMe
Transfer 1 TB 2 TB 1 TB 1 TB 1 TB
Base Price $5/month $5/month $5/month $5/month $6/month
Backups $1/month N/A $2/month $0.06/GB $1.20/month
Transfer Overage $0.01/GB $0.09/GB $0.02/GB $0.056/GB $0.01/GB
Load Balancer $10/month $18/month $10/month N/A N/A
Block Storage $0.10/GB $0.10/GB $0.10/GB $0.223/GB $0.10/GB

CPU Info

  DigitalOcean Lightsail Linode UpCloud Vultr
CPU MHz 2294.61 2400.07 2200.00 2992.97 3792.00
Cache Size (KB) 25344.00 30720.00 11093.33 16384.00 16384.00
BogoMips 3059.67 3200.33 2866.33 3990.33 5056.33

CPU

  DigitalOcean Lightsail Linode UpCloud Vultr
Events per Second 1005.84 874.34 924.02 1203.79 1255.63
Minimum (ms) 0.92 1.03 1.11 0.78 0.74
Average (ms) 0.99 1.14 1.13 0.83 0.79
Maximum (ms) 1.93 1.80 3.04 152.49 1.33

Memory (Read)

  DigitalOcean Lightsail Linode UpCloud Vultr
Ops per Second 3965494.40 837273.56 3456481.27 4641479.71 5146603.45
Minimum (ms) 0.00 0.00 0.00 0.00 0.00
Average (ms) 0.00 0.00 0.00 0.00 0.00
Maximum (ms) 0.29 3.33 2.12 65.11 0.34

Memory (Write)

  DigitalOcean Lightsail Linode UpCloud Vultr
Ops per Second 3963600.14 832767.42 3461369.81 4666715.41 5099145.58
Minimum (ms) 0.00 0.00 0.00 0.00 0.00
Average (ms) 0.00 0.00 0.00 0.00 0.00
Maximum (ms) 0.94 7.47 2.12 24.17 0.69

File I/O

  DigitalOcean Lightsail Linode UpCloud Vultr
Reads per Second 1560.71 1232.05 1857.68 3983.20 4363.38
Writes per Second 1040.44 821.36 1238.43 2655.47 2908.92
Fsyncs per Second 3320.84 2620.07 3960.25 8492.74 9305.25
Minimum (ms) 0.00 0.00 0.00 0.00 0.00
Average (ms) 0.19 0.21 0.14 0.07 0.06
Maximum (ms) 8.05 82.38 14.62 34.45 5.16

MySQL

  DigitalOcean Lightsail Linode UpCloud Vultr
Transactions per Second 1964.33 2068.33 3209.33 5528.00 5756.00
Queries per Second 39286.67 41366.67 64186.67 110560.00 115120.00
Minimum (ms) 2.40 2.36 2.19 1.26 1.24
Average (ms) 5.69 4.86 3.19 1.92 1.74
Maximum (ms) 668.31 39.11 19.04 18.18 16.09

Redis

  DigitalOcean Lightsail Linode UpCloud Vultr
PING_INLINE 51967.11 55987.24 49241.33 69734.77 60371.84
PING_BULK 51745.97 54011.31 47991.47 61022.92 59914.64
SET 51972.08 55760.08 49758.36 66116.45 59443.67
GET 51462.91 57304.68 48683.80 69686.45 61233.79
INCR 51849.91 57840.73 49408.80 70138.77 60627.12
LPUSH 52150.06 55756.51 47308.04 70651.22 61014.84
RPUSH 51729.48 56014.83 48703.52 68769.02 61199.08
LPOP 51808.76 55642.28 47576.14 68284.68 60136.65
RPOP 51393.86 56793.26 48757.92 68353.87 59807.38
SADD 52637.80 58259.88 48651.72 70245.29 61233.90
HSET 52739.37 55690.74 48820.40 69410.35 59836.44
SPOP 51674.08 58722.45 48664.36 69086.78 60381.24
LRANGE_100 (first 100 elements) 29698.64 30700.17 24030.22 36266.54 34506.45
LRANGE_300 (first 300 elements) 12264.51 12143.63 9467.60 16103.44 14684.28
LRANGE_500 (first 500 elements) 8326.10 8533.22 6392.88 11069.14 10784.88
LRANGE_600 (first 600 elements) 6659.50 6772.53 5125.97 8784.52 8886.75
MSET (10 keys) 43391.45 40877.83 36398.87 61944.55 52810.22

Speed Test

  DigitalOcean Lightsail Linode UpCloud Vultr
Distance (km) 2134.46 2573.93 2372.79 1456.73 2357.97
Latency (ms) 58.434 75.205 57.782 69.710 60.065
Download (Mbit/s) 943.96 67.08 59.27 562.46 898.68
Upload (Mbit/s) 380.06 55.57 314.48 111.84 326.54

Apache Benchmark (against nginx on the servers)

  DigitalOcean Lightsail Linode UpCloud Vultr
Requests per Second 280.41 232.30 295.41 294.77 249.71
Time per Request (ms) (mean) 1788.33 2484.47 1692.60 1696.59 2034.86
Transfer Rate (Kbyte/sec) 235.23 194.87 247.81 247.28 209.47

Conclusion

The Vultr High Frequency instances are still continuing to impress, even with
the trivially higher price tag. UpCloud has continued to do fairly well,
especially with the Redis benchmarks and DigitalOcean and Linode both shined in
network speed and Apache benchmarks respectively.

That said, from a user experience standpoint, both DigitalOcean and Vultr are
really leading the way. Linode’s new dashboard is an improvement, but still
missing the mark when it comes to spinning up multiple servers in one shot.

UpCloud’s interface feels like it’s a bit speedier than I remember, but I had
noticed a bug when creating a new instance, that allowed me to click the deploy
button twice, and I ended up creating more servers than I needed. Keep an eye
out for that one if you’re creating new servers.

As always, if you found this benchmarks to be helpful in your quest for a
hosting provider, please consider using one of my referral links below.


If you have found these posts informative and helpful in searching for a new hosting provider, please consider using one of the links below when signing up:

  • DigitalOcean, new accounts receive $200 in credit (good for 60 days)
  • Linode, new accounts receive $100 in credit (also good for 60 days)
  • Vultr, new accounts also receive $100 in credit (good for only 14 days)
  • UpCloud, new accounts receive €25 in credit (yes, that’s in Euros)
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.