Yes, another month’s post with less providers.
For good reason though, as Ubuntu 20.04 LTS was recently released and I wanted
to give it a whirl. Amazon is fairly notorious for being late to deliver new
operating system releases, but the shocker was that UpCloud was also not
offering up the latest Ubuntu when I sat down to run my benchmarks.
I just sort of assumed they would have had it available and that’s the big
reason that this month’s post includes the Frankfurt, DE data centers seeing as
all of the providers I had set out to include this month had a data center
there.
Featuring the Frankfurt, DE data centers did end up posing a small problem, as I
wasn’t able to run the speed tests against the usual Austin, TX based server as
I usually do. Live and learn, next time I’ll be sure to configure things to use
a European server instead.
The following benchmarks are the average of the data collected from benchmarking
3 separate instances for each provider. Each instance was running Ubuntu 20.04
LTS and resided in the Frankfurt, DE data center for the respective provider.
Overview
|
DigitalOcean |
Linode |
Vultr |
Plan |
Standard (1 GB) |
Nanode 1 GB |
High Frequency Compute 32 GB |
Location |
Frankfurt 1 |
Frankfurt, DE |
Frankfurt |
RAM |
1 GB |
1 GB |
1 GB |
CPU |
1 Core |
1 Core |
1 Core |
Storage |
25 GB SSD |
25 GB SSD |
32 GB NVMe |
Transfer |
1 TB |
1 TB |
1 TB |
Base Price |
$5/month |
$5/month |
$6/month |
Backups |
$1/month |
$2/month |
$1.20/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 |
2294.59 |
2133.32 |
3792.00 |
Cache Size (KB) |
4096.00 |
512.00 |
16384.00 |
BogoMips |
3059.67 |
2933.33 |
5056.33 |
CPU
|
DigitalOcean |
Linode |
Vultr |
Events per Second |
935.77 |
1269.37 |
1165.47 |
Minimum (ms) |
0.97 |
0.75 |
0.80 |
Average (ms) |
1.07 |
0.79 |
0.86 |
Maximum (ms) |
5.45 |
8.21 |
4.01 |
Memory (Read)
|
DigitalOcean |
Linode |
Vultr |
Ops per Second |
4312536.00 |
4201598.07 |
5414270.99 |
Minimum (ms) |
0.00 |
0.00 |
0.00 |
Average (ms) |
0.00 |
0.00 |
0.00 |
Maximum (ms) |
2.28 |
0.53 |
0.50 |
Memory (Write)
|
DigitalOcean |
Linode |
Vultr |
Ops per Second |
4266742.21 |
4219338.84 |
5392163.92 |
Minimum (ms) |
0.00 |
0.00 |
0.00 |
Average (ms) |
0.00 |
0.00 |
0.00 |
Maximum (ms) |
0.89 |
0.54 |
0.51 |
File I/O
|
DigitalOcean |
Linode |
Vultr |
Reads per Second |
1522.00 |
1748.62 |
3856.82 |
Writes per Second |
1014.66 |
1165.70 |
2571.19 |
Fsyncs per Second |
3251.15 |
3734.16 |
8236.22 |
Minimum (ms) |
0.00 |
0.00 |
0.00 |
Average (ms) |
0.17 |
0.15 |
0.07 |
Maximum (ms) |
29.47 |
51.25 |
5.43 |
MySQL
|
DigitalOcean |
Linode |
Vultr |
Transactions per Second |
1433.67 |
1949.00 |
2757.33 |
Queries per Second |
28673.33 |
38980.00 |
55146.67 |
Minimum (ms) |
4.11 |
3.67 |
2.26 |
Average (ms) |
7.07 |
5.13 |
3.66 |
Maximum (ms) |
28.11 |
36.84 |
15.19 |
Redis
|
DigitalOcean |
Linode |
Vultr |
PING_INLINE |
50707.95 |
65721.46 |
53486.28 |
PING_BULK |
50441.79 |
62576.17 |
51899.06 |
SET |
50379.48 |
67256.76 |
50753.11 |
GET |
49600.63 |
64822.90 |
49877.53 |
INCR |
51806.46 |
66188.14 |
51708.15 |
LPUSH |
52854.38 |
64550.01 |
51438.70 |
RPUSH |
51072.67 |
64700.99 |
53499.67 |
LPOP |
50507.79 |
65405.81 |
51783.05 |
RPOP |
52443.73 |
68805.52 |
52593.56 |
SADD |
50925.49 |
68219.01 |
52050.10 |
HSET |
51399.44 |
65524.97 |
52833.64 |
SPOP |
51898.90 |
66402.78 |
50847.65 |
LRANGE_100 (first 100 elements) |
31900.35 |
29537.41 |
34464.79 |
LRANGE_300 (first 300 elements) |
12849.41 |
11048.22 |
14899.23 |
LRANGE_500 (first 500 elements) |
9793.23 |
8105.80 |
10310.35 |
LRANGE_600 (first 600 elements) |
7746.84 |
6462.80 |
8799.95 |
MSET (10 keys) |
43847.93 |
39283.11 |
49030.63 |
Apache Benchmark (against nginx
on the servers)
|
DigitalOcean |
Linode |
Vultr |
Requests per Second |
166.82 |
221.44 |
258.72 |
Time per Request (ms) (mean) |
3223.72 |
2425.95 |
1936.02 |
Transfer Rate (Kbyte/sec) |
140.10 |
185.98 |
217.28 |
Conclusion
Similar to previous months, Vultr’s slightly more expensive High Frequency plan
performed quite well. The exception being on the CPU benchmark, which Linode was
able to capture even though Vultr’s processor speed out classed them.
Also similar to previous months, Vultr’s Redis performance on lower-end systems
ended up trailing behind for most operations. Usually UpCloud takes that
particular category, but since they don’t offer Ubuntu 20.04 LTS and were
omitted, Linode was able to shine.
The big take away for me this month is that being behind on the latest version
of operating systems isn’t unique to Amazon as I once thought. While I’m not one
that’s quick to upgrade to the latest version on the initial release, it’s still
nice to know which providers are on top of things for when I want to spin up
brand new servers.