School’s out and summer is in full swing. As mentioned last month, I’m trying something a bit different. In a vain attempt to get a more “apples to apples” comparison, I went with AMD processors for my instances. This ended up resulting in instances priced between $5 and $7, with no two providers at the same exact price.
Additionally, Linode (Akamai Connected Cloud) was the only provider only offering SSDs. DigitalOcean and Vultr touted NVMe when opting for an AMD processor. Linode did make a huge commitment to NVMe for their block storage offering a while back. Sadly, I couldn’t find any information supporting this across their entire product line.
As always, I spun up 3 instances with each provider. Each one running Ubuntu 24.04 LTS, and I averaged the results where appropriate.
Overview – DigitalOcean vs. Linode vs. Vultr
Linux Distro
Ubuntu 24.04 LTS
Kernel Version
6.8.0
MySQL Version
8.0.36
Redis Version
7.0.15
DigitalOcean
Linode
Vultr
Location
New York 1
Newark, NJ
New York (NJ)
Monthly Price
$7/month
$5/month
$6/month
Hourly Price
$0.01/hour
$0.0075/hour
$0.009/hour
RAM
1 GB
1 GB
1 GB
CPU
1 Core
1 Core
1 Core
Storage
25 GB
25 GB
25 GB
Storage Type
NVMe
SSD
NVMe
Transfer
1 TB
1 TB
1 TB
Transfer Overage
$0.01/GB
$0.01/GB
$0.01/GB
Backups
$1.4/month
$2/month
$1.2/month
CPU Info
Model Name
DigitalOcean – All Instances
DO-Premium-AMD
Linode – Instance #1
AMD EPYC 7713 64-Core Processor
Linode – Instance #2
AMD EPYC 7542 32-Core Processor
Linode – Instance #3
AMD EPYC 7713 64-Core Processor
Vultr – Instance #1
AMD EPYC-Rome Processor
Vultr – Instance #2
AMD EPYC-Milan Processor
Vultr – Instance #3
AMD EPYC-Rome Processor
DigitalOcean
Linode
Vultr
CPU MHz
1,996.25
2,300.00
2,414.16
Cache Size (KB)
512.00
512.00
512.00
BogoMips
2,661.67
2,666.33
2,661.67
CPU
DigitalOcean
Linode
Vultr
Events per Second
1,371.92
2,742.25
3,448.21
Minimum (ms)
0.64
0.38
0.26
Average (ms)
0.73
0.40
0.29
Maximum (ms)
4.16
6.09
7.62
Memory
Read
DigitalOcean
Linode
Vultr
Ops per Second
4,129,563.17
5,243,553.05
4,830,662.99
Minimum (ms)
0.00
0.00
0.00
Average (ms)
0.00
0.00
0.00
Maximum (ms)
0.44
2.46
9.64
Write
DigitalOcean
Linode
Vultr
Ops per Second
4,214,689.39
4,995,909.41
4,973,296.50
Minimum (ms)
0.00
0.00
0.00
Average (ms)
0.00
0.00
0.00
Maximum (ms)
0.34
2.26
1.45
File I/O
DigitalOcean
Linode
Vultr
Reads per Second
1,432.36
2,297.78
2,231.56
Writes per Second
954.88
1,531.86
1,487.70
Fsyncs per Second
3,062.43
4,904.47
4,765.90
Minimum (ms)
0.00
0.00
0.00
Average (ms)
0.18
0.11
0.12
Maximum (ms)
15.87
13.54
20.47
MySQL
Read Only
DigitalOcean
Linode
Vultr
Transactions per Second
3,681.00
4,884.00
4,925.33
Queries per Second
58,896.00
78,144.00
78,805.33
Minimum (ms)
1.60
1.31
1.18
Average (ms)
2.72
2.07
2.15
Maximum (ms)
12.62
12.61
26.95
Write Only
DigitalOcean
Linode
Vultr
Transactions per Second
1,595.33
4,277.33
3,096.67
Queries per Second
9,572.00
25,664.00
18,580.00
Minimum (ms)
2.12
1.09
1.28
Average (ms)
6.31
2.36
3.31
Maximum (ms)
57.43
17.26
41.28
Read Write
DigitalOcean
Linode
Vultr
Transactions per Second
828.33
1,741.33
1,555.67
Queries per Second
16,566.67
34,826.67
31,113.33
Minimum (ms)
4.98
2.96
3.13
Average (ms)
12.08
5.74
7.02
Maximum (ms)
55.74
49.64
84.40
Redis
DigitalOcean
Linode
Vultr
PING_INLINE
28,904.01
38,261.42
34,366.39
PING_MBULK
28,397.37
38,252.03
34,277.52
SET
29,166.78
36,896.68
33,321.11
GET
30,296.65
35,538.71
33,249.63
INCR
31,137.08
36,969.30
34,328.16
LPUSH
31,177.79
37,683.55
34,461.86
RPUSH
30,001.71
37,994.50
33,435.80
LPOP
28,559.23
38,248.38
33,474.69
RPOP
27,082.29
38,410.31
35,596.15
SADD
29,443.51
38,496.04
35,094.62
HSET
30,940.89
37,143.33
34,481.71
SPOP
31,369.53
36,288.13
35,153.18
LRANGE_100 (first 100 elements)
19,203.08
26,618.34
22,871.77
LRANGE_300 (first 300 elements)
11,436.84
14,994.29
12,537.24
LRANGE_500 (first 500 elements)
7,528.96
10,560.64
9,619.92
LRANGE_600 (first 600 elements)
6,732.23
9,725.53
8,340.94
MSET (10 keys)
26,358.20
34,043.23
32,229.00
Conclusion
The first thing to jump out was that DigitalOcean continues to tout their generically named CPU. I’m not a fan, as this gives no indication of what you’re actually running. Also, both Linode and Vultr ended up having different processors between unique instances.
Friendly reminder, it’s always good to spin up multiple instances with a provider before committing to one. This allows you the chance to compare the hardware the instances are running on. There can definitely be variances, even in the same data center.
Aside from that, the results were about where I’d expect them to be. Linode and Vultr duking it out, depending on the category. Since it seemed like Linode’s storage offering may be slower (SATA vs NVMe) I was surprised to see Linode pull out in the file I/O category.
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)