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

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

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:

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