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: