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

Time for the spooky season edition of the VPS Showdown. The last few months have been a lot of the same, so I decided to take another crack at trying to do an apples to apples comparison, focusing on price.

Even though DigitalOcean lacks a $5 plan, as the plans increase, they eventually offer a plan that’s the same price as comparable offerings from Linode and Vultr. Turns out that Vultr actually has multiple plans that fit into the price point, so I had to make a judgement call on which one to pick.

Honestly starting to think that Vultr may deserve a dedicated post comparing the different plans that they have at the same price point.

So this month, I went with 4 GB instances, that are $24 per month. A bit pricier, but this tends to be the size that I pick for most things I have in production in a VPS. I usually will run things on a dedicated CPU when available, but for this month, it’s all shared computing.

DigitalOcean and Linode are both on their standard shared offerings. For Vultr, I ended up going with the Premium AMD option. They also had Premium Intel and High Velocity (which had significantly more storage) plans. I could have went with a lesser option, but the price would have been less, and I didn’t want that.

As per usual, I went ahead and spun up three instances with each provider, all running Ubuntu 24.04 LTS and living in the New York / Newark area. Where applicable, I’ve averaged the results.

Overview – DigitalOcean vs. Linode vs. Vultr

Linux DistroUbuntu 24.04 LTS
Kernel Version6.8.0
MySQL Version8.0.39
Redis Version7.0.15

DigitalOceanLinodeVultr
LocationNew York 1Newark, NJNew York (NJ)
Monthly Price$24/month$24/month$24/month
Hourly Price$0.036/hour$0.036/hour$0.033/hour
RAM4 GB4 GB4 GB
CPU2 Cores2 Cores2 Cores
Storage80 GB80 GB100 GB
Storage TypeSSDSSDNVMe
Transfer4 TB4 TB5 TB
Transfer Overage$0.01/GB$0.01/GB$0.01/GB
BackupsStarting at $4.80/month$5/month$4.80/month

CPU Info


Model Name
DigitalOcean – All InstancesDO-Regular
Linode – Instance #1AMD EPYC 7601 32-Core Processor
Linode – Instance #2AMD EPYC 7642 48-Core Processor
Linode – Instance #3AMD EPYC 7542 32-Core Processor
Vultr – All InstancesAMD EPYC-Rome Processor

DigitalOceanLinodeVultr
CPU MHz2,294.612,466.661,996.25
Cache Size (KB)4,096.00512.00512.00
BogoMipsNaN3,400.002,661.67

CPU


DigitalOceanLinodeVultr
Events per Second800.291,472.683,328.02
Minimum (ms)0.980.640.28
Average (ms)1.250.690.30
Maximum (ms)7.704.418.71

Memory

Read


DigitalOceanLinodeVultr
Ops per Second3,235,935.414,775,000.045,051,266.61
Minimum (ms)0.000.000.00
Average (ms)0.000.000.00
Maximum (ms)1.263.532.92

Write


DigitalOceanLinodeVultr
Ops per Second3,019,862.824,695,861.715,004,443.75
Minimum (ms)0.000.000.00
Average (ms)0.000.000.00
Maximum (ms)1.574.672.37

File I/O


DigitalOceanLinodeVultr
Reads per Second831.134,743.622,995.44
Writes per Second554.073,162.411,996.96
Fsyncs per Second1,777.0210,127.386,396.65
Minimum (ms)0.000.000.00
Average (ms)0.320.060.09
Maximum (ms)62.2621.1934.44

MySQL

Read Only


DigitalOceanLinodeVultr
Transactions per Second3,017.675,420.675,032.00
Queries per Second48,282.6786,730.6780,512.00
Minimum (ms)1.661.511.49
Average (ms)3.501.982.03
Maximum (ms)22.686.3414.80

Write Only


DigitalOceanLinodeVultr
Transactions per Second488.005,015.673,489.00
Queries per Second2,928.0030,094.0020,934.00
Minimum (ms)8.001.121.31
Average (ms)21.282.103.16
Maximum (ms)283.9227.3792.00

Read Write


DigitalOceanLinodeVultr
Transactions per Second548.672,488.001,835.67
Queries per Second10,973.3349,760.0036,713.33
Minimum (ms)8.912.903.08
Average (ms)20.334.255.86
Maximum (ms)111.9216.6471.96

Redis


DigitalOceanLinodeVultr
PING_INLINE42,969.4255,466.7650,586.94
PING_MBULK48,197.4754,221.3450,433.65
SET51,347.7555,836.5249,359.50
GET51,622.2356,731.9350,647.70
INCR52,018.6654,653.4750,124.57
LPUSH51,566.2354,196.4448,809.00
RPUSH51,804.0057,714.4649,045.15
LPOP52,300.8957,295.5251,371.91
RPOP54,025.0656,388.1850,525.94
SADD48,948.3456,664.6250,749.76
HSET46,012.9356,203.1550,779.56
SPOP51,673.2257,871.5552,257.89
LRANGE_100 (first 100 elements)26,198.4042,881.9340,662.65
LRANGE_300 (first 300 elements)12,235.5322,875.5623,733.62
LRANGE_500 (first 500 elements)7,115.7716,397.1717,183.65
LRANGE_600 (first 600 elements)6,917.0114,705.0115,285.05
MSET (10 keys)47,102.0160,489.7955,524.29

Conclusion

I was expecting that Vultr would clean up this month, with the advantage of a premium AMD processor. I kinda forgot that Linode offers AMD processors with all of their plans, so Vultr lost their edge a bit.

Overall Linode and Vultr’s performance was quite comparable. DigitalOcean paled in comparison, but raw performance metrics don’t tell the entire tale. Especially since DigitalOcean offers a ton more in terms of managed services, and their App Platform.


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)
Josh Sherman - The Man, The Myth, The Avatar

About Josh

Husband. Father. Pug dad. Musician. Founder of Holiday API, Head of Engineering and Emoji Specialist at Mailshake, and author of the best damn Lorem Ipsum Library for PHP.


If you found this article helpful, please consider buying me a coffee.