VPS Showdown – Singapore – October 2019 – DigitalOcean vs. Lightsail vs. Linode vs. UpCloud vs. Vultr

One of my bigger pain points with doing these comparisons is that it’s really
hard to line all of the providers in the same geographical region. Things tend
to be close, but there’s always an outlier (looking at you Amazon Lightsail).

With that, decided this month to switch it up and run benchmarks in the
Singapore area, as all of the covered providers actually have a data center
there.

I’ve also included both the Vultr Cloud Compute and High Frequency plans this
month, as I’ve been curious as to how they stacked up against each other.

In usual fashion, I spun up 3 instances with each provider for each plan, all of
which are running Ubuntu 18.04 LTS. The following results are an average of the
benchmarks, where applicable.

Overview

  DigitalOcean Lightsail Linode UpCloud Vultr Vultr High Frequency
Location Singapore 1 Singapore, Zone A Singapore, SG Singapore #1 Singapore Singapore
RAM 1 GB 1 GB 1 GB 1 GB 1 GB 1 GB
CPU 1 Core 1 Core 1 Core 1 Core 1 Core 1 Core
Storage 25 GB SSD 40 GB SSD 25 GB SSD 25 GB SSD 25 GB SSD 32GB NVMe
Transfer 1 TB 2 TB 1 TB 1 TB 1 TB 1 TB
Base Price $5/month $5/month $5/month $5/month $5/month $6/month
Backups $1/month N/A $2/month $0.06/GB $1.20/month $1.20/month
Transfer Overage $0.01/GB $0.09/GB $0.02/GB $0.056/GB $0.01/GB $0.01/GB
Load Balancer $10/month $18/month $10/month N/A N/A N/A
Block Storage $0.10/GB $0.10/GB $0.10/GB $0.223/GB $0.10/GB $0.10/GB

CPU Info

  DigitalOcean Lightsail Linode UpCloud Vultr Vultr High Frequency
CPU MHz 2294.61 2394.47 2200.00 2999.99 2398.15 3792.00
Cache Size (KB) 25344.00 30720.00 11093.33 16384.00 16384.00 16384.00
BogoMips 3059.67 3193.00 2866.67 3999.67 3196.00 5056.33

CPU

  DigitalOcean Lightsail Linode UpCloud Vultr Vultr High Frequency
Events per Second 992.19 857.81 909.53 1080.03 784.22 1319.69
Minimum (ms) 0.94 1.04 1.03 0.91 1.13 0.74
Average (ms) 1.01 1.16 1.16 0.93 1.27 0.76
Maximum (ms) 3.65 3.10 9.50 3.93 12.36 1.94

Memory (Read)

  DigitalOcean Lightsail Linode UpCloud Vultr Vultr High Frequency
Ops per Second 3896778.91 823526.24 2436499.48 4554653.66 3258425.28 5398662.12
Minimum (ms) 0.00 0.00 0.00 0.00 0.00 0.00
Average (ms) 0.00 0.00 0.00 0.00 0.00 0.00
Maximum (ms) 0.48 1.76 20.28 2.88 7.00 1.24

Memory (Write)

  DigitalOcean Lightsail Linode UpCloud Vultr Vultr High Frequency
Ops per Second 3874988.87 822084.30 2477671.07 4546227.70 3225389.66 5429002.29
Minimum (ms) 0.00 0.00 0.00 0.00 0.00 0.00
Average (ms) 0.00 0.00 0.00 0.00 0.00 0.00
Maximum (ms) 1.06 2.22 2.36 2.38 5.12 0.74

File I/O

  DigitalOcean Lightsail Linode UpCloud Vultr Vultr High Frequency
Reads per Second 698.66 1387.30 1375.48 3838.02 1763.00 4874.99
Writes per Second 465.75 924.89 916.95 2558.66 1175.30 3250.00
Fsyncs per Second 1484.00 2950.14 2928.03 8179.31 3753.39 10392.10
Minimum (ms) 0.00 0.00 0.00 0.00 0.00 0.00
Average (ms) 0.39 0.19 0.19 0.07 0.15 0.05
Maximum (ms) 47.20 9.51 20.27 30.82 11.29 3.28

MySQL

  DigitalOcean Lightsail Linode UpCloud Vultr Vultr High Frequency
Transactions per Second 854.00 2342.00 2218.33 4584.00 2613.00 6317.00
Queries per Second 17080.00 46840.00 44366.67 91680.00 52260.00 126340.00
Minimum (ms) 4.37 2.30 2.47 1.56 2.20 1.21
Average (ms) 15.54 4.27 4.81 2.18 3.83 1.58
Maximum (ms) 176.13 43.06 38.40 23.86 39.74 12.88

Redis

  DigitalOcean Lightsail Linode UpCloud Vultr Vultr High Frequency
PING_INLINE 50315.80 55789.86 42919.77 68031.65 44409.15 63291.19
PING_BULK 49638.31 55752.07 41900.77 67956.86 43670.91 62028.02
SET 49916.16 55730.37 44262.09 69663.91 42700.60 63356.73
GET 50622.43 56060.28 44186.53 68052.00 43533.28 63080.79
INCR 50692.13 56404.46 44622.31 69274.58 45152.43 63362.90
LPUSH 50777.61 55562.76 44010.22 69886.58 44240.01 65051.76
RPUSH 50029.72 56054.67 44619.73 68907.36 44797.01 64909.18
LPOP 50037.13 55316.43 43985.54 69244.17 44387.23 63436.84
RPOP 50386.83 54522.87 43040.24 69223.11 44026.76 63290.97
SADD 50177.50 56215.32 44616.27 68915.89 44403.09 63204.81
HSET 52168.70 54898.55 44291.04 68895.28 43938.78 63064.85
SPOP 48845.44 56307.63 44433.22 69302.08 44482.61 63463.47
LRANGE_100 (first 100 elements) 27636.73 30075.99 21466.02 35588.63 23365.15 38710.97
LRANGE_300 (first 300 elements) 11927.26 11903.43 8309.72 14464.86 9085.85 16805.92
LRANGE_500 (first 500 elements) 8639.04 8372.17 5907.74 9978.19 6480.19 12105.14
LRANGE_600 (first 600 elements) 6875.75 6654.98 4617.27 7868.30 5174.97 9820.20
MSET (10 keys) 42371.76 40535.64 32745.88 51114.03 29310.66 55724.10

Speed Test

  DigitalOcean Lightsail Linode UpCloud Vultr Vultr High Frequency
Distance (km) 2433.84 15826.72 15826.72 15822.87 15826.72 15826.72
Latency (ms) 233.200 278.946 255.868 232.211 260.285 254.510
Download (Mbit/s) 147.13 78.77 94.18 150.91 143.92 145.36
Upload (Mbit/s) 67.35 33.98 56.36 62.28 64.63 63.48

Worth noting, that DigitalOcean’s distance was showing as being way off compared
to the rest of the pack. We’ve seen this before in past comparisons and is
probably due to the IP data used by the speed test being out of data and not
indicative of the server potentially being in a different geographical region.

Apache Benchmark (against nginx on the servers)

  DigitalOcean Lightsail Linode UpCloud Vultr Vultr High Frequency
Requests per Second 162.71 165.47 175.96 194.14 195.71 191.61
Time per Request (ms) (mean) 3083.81 3069.53 2854.86 2625.66 2566.14 2617.33
Transfer Rate (Kbyte/sec) 136.49 138.80 147.60 162.86 164.18 160.74

Conclusion

Was nice to see the Vultr Cloud Compute in comparison to their High Frequency
plan. Vultr’s Cloud Compute still but up a good showing, but the High Frequency
plan continues to impress.

Hard to not consider it with the price being a mere buck more per month so I’ll
probably go back to omitting the Cloud Compute plan entirely and just continuing
to include the High Frequency plan.

Everybody’s been putting some pretty consistent numbers for the last few months,
so I’m probably going to start delving a bit more into the advanced features and
user interfaces in the coming months. I’ve been trying to include a bit more of
that in the overview section, slowly building that out.

Something else I wanted to point out this month, as I struggled to find the
block storage pricing for UpCloud (which I ended up calculating myself, so it
may not be 100% accurate), I happened upon a series of pages of theirs with
comparisons to other providers.

That said, the page comparing themselves to Linode happened to tout that they
offered more storage than Linode, even though Linode bumped their plan to offer
the same size SSD in May of 2018.

This shit happens, so I’m not trying to point a finger at UpCloud. Really just
wanted to take the opportunity to remind folks that it’s always a good thing to
run your own independent benchmarks to make sure you’re seeing the same results
as what providers are advertising.

Every few months I get somebody raging at me about their benchmarks not matching
up with mine, which does happen. Even when you pick a provider, it’s also worth
it to spin up a handful of instances to make sure you’re getting the best they
have to offer.

And as always, if you found this review helpful in your quest to find a new
hosting provider, it’d be greatly appreciated if you used 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.