HEADS-UP: A ton has changed since this post was originally published!
Why not check out the latest comparison?

Wow, pretty big news week for DigitalOcean last week, after some strongly worded accusations about ruining somebody’s business.

If we learned anything, it’s that off-site backups are an absolute must, especially if you’re serving Fortune 500 companies and/or providing SLAs.

Okay, now that I got that out of the way, it’s June and I’ve been receiving a TON of great feedback on these posts. Obviously I can’t make everybody happy every month, but I am chipping away at some improvements.

First, I went ahead and expanded the overview to include pricing for the base instances as well as some of the other services the providers offer.

The other big update is the inclusion of some benchmarks around Redis on the instances. Nothing terribly fancy, just using redis-benchmark. You can check out the arguments I’m using as well as everything else I use in this post here.

As per usual, I try to keep the data centers are close together as possible and all server instances were running Ubuntu 18.04 LTS. The metrics presented below are the average of the benchmarks run on 3 different servers.

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
SSD 25 GB 40 GB 25 GB 25 GB 25 GB
Transfer 1 TB 2 TB 1 TB 1 TB 1 TB
Base Price $5/month $5/month $5/month $5/month $5/month
Backups $1/month N/A $2/month $0.06/GB $1/month
Transfer Overage $0.01/GB $0.09/GB $0.02/GB $0.056/GB $0.01/GB
Load Balancer $10/month $18/month $20/month N/A N/A

DigitalOcean does not appear to be charging for bandwidth in 2019, so the price is reflective of how much bandwidth overage costs will be starting next year.

Bandwidth overage prices are reflective of North American traffic and depending on the provider, the price could be a bit more depending on where your traffic is coming from.

Amazon is generous enough to include automatic backups with 7 days of retention for free. Manual backups, which persist until you delete them, carry a $0.05/GB per month price tag.

UpCloud offers a bit more flexibility with their backup offering. They charge for the storage of your backup instead of a flat rate, meaning you could go crazy and have hourly snapshots if you wanted. Doing the math, if you kept a single backup of a 25 GB instance, you’d paying $1.50.

Even though Vultr and UpCloud don’t offer managed load balancers, you could still very well run your own load balancer on one of their servers.

CPU Info

  DigitalOcean Lightsail Linode UpCloud Vultr
CPU MHz 1964.87 2398.12 2666.65 2992.96 2394.45
Cache Size (KB) 28928.00 30720.00 16384.00 16384.00 16384.00
BogoMips 2729.67 3200.33 3466.67 3990.33 3192.33

CPU

  DigitalOcean Lightsail Linode UpCloud Vultr
Events per Second 749.88 855.11 950.52 1242.90 789.21
Minimum (ms) 1.29 1.03 1.05 0.78 1.13
Average (ms) 1.38 1.17 1.06 0.81 1.27
Maximum (ms) 2.52 4.50 3.45 3.02 4.99

Memory (Read)

  DigitalOcean Lightsail Linode UpCloud Vultr
Ops per Second 3119722.43 819953.92 4070253.66 4994342.68 3370248.55
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.24 0.12 0.59 0.64 1.49

Memory (Write)

  DigitalOcean Lightsail Linode UpCloud Vultr
Ops per Second 3148524.02 821609.44 4054193.90 4966030.07 3369760.53
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) 1.24 0.26 1.99 1.37 0.96

File I/O

  DigitalOcean Lightsail Linode UpCloud Vultr
Reads per Second 1964.39 1321.71 2292.23 4491.83 1866.17
Writes per Second 1309.56 881.14 1528.13 2994.54 1244.09
Fsyncs per Second 4184.08 2817.11 4884.25 9573.40 3970.54
Minimum (ms) 0.00 0.00 0.00 0.00 0.00
Average (ms) 0.17 0.20 0.12 0.06 0.15
Maximum (ms) 25.53 19.90 6.59 15.15 57.08

MySQL

  DigitalOcean Lightsail Linode UpCloud Vultr
Transactions per Second 2180.33 2229.00 4185.67 5961.33 2775.00
Queries per Second 43606.67 44580.00 83713.33 119226.67 55500.00
Minimum (ms) 3.20 2.34 1.98 1.17 2.30
Average (ms) 4.92 4.49 2.59 1.68 4.18
Maximum (ms) 24.91 74.62 14.82 16.66 33.26

Redis

The following values are the number of requests per second for the command listed on the left.

  DigitalOcean Lightsail Linode UpCloud Vultr
PING_INLINE 38570.61 56221.91 53548.89 85036.87 45619.48
PING_BULK 37920.24 55618.78 53183.38 84795.25 46550.52
SET 37006.22 55425.01 53980.93 85590.89 45027.32
GET 35227.28 55847.77 53678.08 84608.88 46855.76
INCR 36165.32 56614.77 53807.19 84624.78 47364.20
LPUSH 37539.02 55002.21 54666.79 85602.36 47035.52
RPUSH 37015.88 55989.36 54376.68 86264.85 46667.61
LPOP 36583.93 55261.27 54100.95 86322.57 44900.69
RPOP 35949.94 55927.76 54118.35 85757.17 46101.50
SADD 35660.86 56255.05 53819.37 85425.37 46490.59
HSET 37246.60 53286.84 54464.13 86070.90 44894.60
SPOP 36647.92 56518.59 53548.75 85268.15 45384.79
LRANGE_100 (first 100 elements) 17750.45 30085.04 26318.10 44071.95 24997.12
LRANGE_300 (first 300 elements) 7919.01 11916.44 10031.25 18463.97 10000.44
LRANGE_500 (first 500 elements) 5519.06 8347.04 6913.31 12650.73 7138.74
LRANGE_600 (first 600 elements) 4369.84 6659.40 5398.09 9966.12 5571.45
MSET (10 keys) 30952.14 40932.22 43373.69 71083.92 35029.50

Speed Test

  DigitalOcean Lightsail Linode UpCloud Vultr
Distance (km) 2365.29 2573.93 2372.79 2412.86 2357.97
Latency (ms) 50.652 74.852 62.023 62.486 55.638
Download (Mbit/s) 1268.17 300.81 513.86 357.79 1178.45
Upload (Mbit/s) 496.37 220.13 431.78 281.29 495.16

Apache Benchmark (against nginx on the servers)

  DigitalOcean Lightsail Linode UpCloud Vultr
Requests per Second 178.23 175.22 196.30 191.04 158.77
Time per Request (ms) (mean) 2813.56 2872.78 2550.25 2651.99 3158.55
Transfer Rate (Kbyte/sec) 149.51 146.99 164.67 160.26 133.16

Conclusion

The last few months have been pretty consistent with UpCloud taking the crown in just about every category. This month the speed tests weren’t nearly as favorable with upload and downloads speeds nearly as slow as that of Lightsail.

I know raw metrics aren’t always a good indicator of how good a provider is, so factoring in things like managed services and overage pricing, DigitalOcean is still standing tall as a good mix of performance and platform offerings.

As always, YMMV so it’s always encouraged to run your own benchmarks and weigh your needs before making a decision on providers.

If you did find this post helpful and plan to sign up, please use one of my referral links below.

  • DigitalOcean, new accounts receive $10 in credit.
  • Lightsail, no promotion for $5 plans, but you can snag the $3.50 plan for 1 month free (up to 750 hours)
  • Linode, use code LINODE10 for $10 in credit.
  • UpCloud, new accounts receive $25 in credit.
  • Vultr, new accounts receive $50 in credit.




Did you enjoy this post?

Cool if I slip into your inbox with more?
Full posts, 1-2 times per week: