Yes, this month’s post actually has less providers.
There’s a good reason though.
This month I decided to switch it up and compare some of the “CPU”-centric
instances that some of the providers are touting these days. Because Lightsail
and UpCloud don’t offer plans like that (not that I could find at least), I have
omitted them from this month’s comparison.
The other change to come out of this, specifically because of not including
Lightsail, is that I was able to spin up instances on Ubuntu 19.10 instead of
the dated 18.04 LTS.
So yeah, this month’s comparison is of plans that are CPU focused, at least in
terms of what the providers are marketing. There’s no standard naming
conventions, so each provider has their own marketing speak. To keep things
consistent, I opted for the 4 GB of RAM option from each.
As per usual, I spun up three instances from each provider, each on Ubuntu 19.10
and ran my benchmarks and averaged the results. I omitted the speed test this
month because I was being throttled or something, and the performance overall
was in the toilet. Streaming was pretty heavy this weekend, and probably played
a factor.
Overview
|
DigitalOcean |
Linode |
Vultr |
Plan |
CPU Optimized (4 GB) |
Dedicated 4GB |
128 GB NVMe |
Location |
New York 1 |
Newark, NJ |
New Jersey |
RAM |
4 GB |
4 GB |
4 GB |
CPU |
2 Cores |
2 Cores |
2 Cores |
Storage |
25 GB SSD |
80 GB SSD |
128 GB NVMe |
Transfer |
4 TB |
4 TB |
3 TB |
Base Price |
$40/month |
$30/month |
$24/month |
Backups |
$8/month |
$5/month |
$4.80/month |
Transfer Overage |
$0.01/GB |
$0.01/GB |
$0.01/GB |
Load Balancer |
$10/month |
$10/month |
$10/month |
Block Storage |
$0.10/GB |
$0.10/GB |
$0.10/GB |
Object Storage |
Yes |
Yes |
Yes |
Managed Databases |
Yes |
On 2020 Roadmap |
No |
2FA/MFA |
Yes |
Yes |
Yes |
One-click Apps |
Yes |
Yes |
Yes |
Custom Images |
Yes |
Yes |
Yes |
CPU Info
|
DigitalOcean |
Linode |
Vultr |
CPU MHz |
2693.67 |
2199.77 |
3792.00 |
Cache Size (KB) |
4096.00 |
512.00 |
16384.00 |
BogoMips |
3591.67 |
2933.00 |
5056.67 |
CPU
|
DigitalOcean |
Linode |
Vultr |
Events per Second |
1204.47 |
1325.62 |
1259.75 |
Minimum (ms) |
0.80 |
0.73 |
0.74 |
Average (ms) |
0.83 |
0.75 |
0.79 |
Maximum (ms) |
2.63 |
2.02 |
1.29 |
Memory (Read)
|
DigitalOcean |
Linode |
Vultr |
Ops per Second |
5120861.58 |
4294414.37 |
5682700.18 |
Minimum (ms) |
0.00 |
0.00 |
0.00 |
Average (ms) |
0.00 |
0.00 |
0.00 |
Maximum (ms) |
0.68 |
0.56 |
0.38 |
Memory (Write)
|
DigitalOcean |
Linode |
Vultr |
Ops per Second |
5124754.65 |
4311392.30 |
5716602.09 |
Minimum (ms) |
0.00 |
0.00 |
0.00 |
Average (ms) |
0.00 |
0.00 |
0.00 |
Maximum (ms) |
0.62 |
0.64 |
0.37 |
File I/O
|
DigitalOcean |
Linode |
Vultr |
Reads per Second |
1092.74 |
2862.97 |
8206.56 |
Writes per Second |
728.50 |
1908.65 |
5471.04 |
Fsyncs per Second |
2338.46 |
6110.40 |
17514.49 |
Minimum (ms) |
0.00 |
0.00 |
0.00 |
Average (ms) |
0.25 |
0.99 |
0.03 |
Maximum (ms) |
20.33 |
33.09 |
5.21 |
MySQL
|
DigitalOcean |
Linode |
Vultr |
Transactions per Second |
1170.00 |
1416.67 |
3478.33 |
Queries per Second |
23400.00 |
28333.33 |
69566.67 |
Minimum (ms) |
4.74 |
26.66 |
1.89 |
Average (ms) |
8.78 |
52.41 |
2.91 |
Maximum (ms) |
49.61 |
151.68 |
13.89 |
Redis
|
DigitalOcean |
Linode |
Vultr |
PING_INLINE |
88734.55 |
96336.04 |
102843.38 |
PING_BULK |
88269.95 |
94523.98 |
105547.54 |
SET |
90263.87 |
95261.42 |
108651.47 |
GET |
89210.80 |
93202.26 |
110408.13 |
INCR |
90228.02 |
94920.47 |
112772.56 |
LPUSH |
91157.70 |
97269.89 |
104950.91 |
RPUSH |
90915.79 |
96965.13 |
109729.59 |
LPOP |
90666.35 |
97735.48 |
109673.18 |
RPOP |
90091.01 |
95561.96 |
108497.33 |
SADD |
89686.73 |
94727.56 |
107124.63 |
HSET |
92110.21 |
98302.02 |
111445.03 |
SPOP |
88785.73 |
94315.66 |
111642.21 |
LRANGE_100 (first 100 elements) |
45482.70 |
45634.38 |
68269.90 |
LRANGE_300 (first 300 elements) |
16074.35 |
15303.11 |
28660.77 |
LRANGE_500 (first 500 elements) |
11375.02 |
10558.25 |
20335.52 |
LRANGE_600 (first 600 elements) |
8701.73 |
8078.14 |
15223.83 |
MSET (10 keys) |
66612.09 |
70183.15 |
94006.20 |
Apache Benchmark (against nginx
on the servers)
|
DigitalOcean |
Linode |
Vultr |
Requests per Second |
196.02 |
206.31 |
267.02 |
Time per Request (ms) (mean) |
2752.90 |
2533.36 |
1879.66 |
Transfer Rate (Kbyte/sec) |
164.44 |
173.07 |
223.99 |
Conclusion
What really stood out this month is how varied the plans were in terms of SSD
and price. Usually Vultr is the highest priced provider when I include their
NVMe plans, but this month at the 4 GB instance size, they came in at nearly
half the price of DigitalOcean and they offered up the most storage.
The overall better specs definitely shined through as well, considering Vultr
nearly swept all of the categories in terms of performance.