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

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

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.

Or if you’re feeling really generous, show off your favorite tech stack by picking up a shirt!

Join the Conversation

Good stuff? Want more?

Weekly emails about technology, development, and sometimes sauerkraut.

100% Fresh, Grade A Content, Never Spam.

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.

Currently Reading

Parasie Eve

Previous Reads

Buy Me a Coffee Become a Sponsor

Related Articles