This post is old news – Get fresh benchmarks at VPS Showdown (daily updates!)

in VPS Showdown

VPS Showdown – June 2024 – DigitalOcean vs. Linode vs. Vultr

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

Version
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: