With spring already upon us (meteorological, not quite astronomical) it was time for me to shake things up a bit with these posts. This month, my curiosity led me including UpCloud yet again. I also opted to drop the averaged metrics in favor of spinning up just a single instance, and reporting on it as such.
This month is a bit all over the place with instance types and prices, but all were 1 GB of RAM each. With UpCloud being on the higher end of the pricing, I may switch over to including DigitalOcean’s Premium AMD offering next time. Since Vultr’s High Frequency plan seemed to do the best when I compared Vultr against itself, I included it.
Linode (Akamai Cloud) is still leading the pack in terms of price. They also blow everybody out of the water by not over complicating their plans with confusing marketing jargon. UpCloud’s pricing is still in Euros. I went ahead and converted that to USD for consistency. Hopefully they’ll start to globalize their pricing at some point.
Like previous posts, all instances are running the latest long-term service release of Ubuntu. As previously mentioned, I only spun up one instance with each provider, no averaging, just raw results.
Overview – DigitalOcean vs. Linode vs. Vultr
Linux Distro
Ubuntu 24.04 LTS
Kernel Version
6.8.0
MySQL Version
8.0.41
Redis Version
7.0.15
DigitalOcean – Basic – Regular
Linode – Shared CPU – Nanode
UpCloud – General Purpose – Balanced
Vultr – Shared CPU – High Frequency
Location
New York 1
Newark, NJ
US-NYC1
New York (NJ)
Monthly Price
$6/month
$5/month
$7.26/month
$6/month
Hourly Price
$0.009/hour
$0.0075/hour
$0.01/hour
$0.008/hour
RAM
1 GB
1 GB
1 GB
1 GB
CPU
1 Core
1 Core
1 Core
1 Core
Storage
25 GB
25 GB
25 GB
32 GB
Storage Type
SSD
SSD
SSD
NVMe
Transfer
1 TB
1 TB
1 TB
1 TB
Transfer Overage
$0.01/GB
$0.01/GB
$0.01/GB
$0.01/GB
Backups
$1.2/month
$2/month
$0/month
$1.2/month
CPU Info
Model Name
DigitalOcean – Basic – Regular
DO-Regular
Linode – Shared CPU – Nanode
AMD EPYC 7601 32-Core Processor
UpCloud – General Purpose – Balanced
AMD EPYC 7542 32-Core Processor
Vultr – Shared CPU – High Frequency
Intel Core Processor (Skylake, IBRS)
DigitalOcean – Basic – Regular
Linode – Shared CPU – Nanode
UpCloud – General Purpose – Balanced
Vultr – Shared CPU – High Frequency
CPU MHz
2,294.61
2,200.00
2,894.56
3,696.00
Cache Size (KB)
4,096.00
512.00
512.00
16,384.00
BogoMips
NaN
4,399.00
5,789.00
7,392.00
CPU
DigitalOcean – Basic – Regular
Linode – Shared CPU – Nanode
UpCloud – General Purpose – Balanced
Vultr – Shared CPU – High Frequency
Events per Second
972.14
1,290.54
1,639.02
1,447.41
Minimum (ms)
0.97
0.62
0.59
0.62
Average (ms)
1.03
0.77
0.61
0.69
Maximum (ms)
1.57
4.41
2.49
1.08
Memory
Read
DigitalOcean – Basic – Regular
Linode – Shared CPU – Nanode
UpCloud – General Purpose – Balanced
Vultr – Shared CPU – High Frequency
Ops per Second
3,188,746.65
4,198,139.27
5,313,870.29
7,271,237.23
Minimum (ms)
0.00
0.00
0.00
0.00
Average (ms)
0.00
0.00
0.00
0.00
Maximum (ms)
0.26
2.03
0.30
0.28
Write
DigitalOcean – Basic – Regular
Linode – Shared CPU – Nanode
UpCloud – General Purpose – Balanced
Vultr – Shared CPU – High Frequency
Ops per Second
3,275,353.88
4,147,084.56
5,159,683.45
7,313,620.71
Minimum (ms)
0.00
0.00
0.00
0.00
Average (ms)
0.00
0.00
0.00
0.00
Maximum (ms)
1.88
3.65
1.06
0.40
File I/O
DigitalOcean – Basic – Regular
Linode – Shared CPU – Nanode
UpCloud – General Purpose – Balanced
Vultr – Shared CPU – High Frequency
Reads per Second
881.50
2,254.55
2,469.48
3,663.61
Writes per Second
587.60
1,502.97
1,646.32
2,442.41
Fsyncs per Second
1,893.11
4,820.37
5,278.12
7,822.30
Minimum (ms)
0.00
0.00
0.00
0.00
Average (ms)
0.30
0.12
0.11
0.07
Maximum (ms)
7.70
3.93
19.32
4.75
MySQL
Read Only
DigitalOcean – Basic – Regular
Linode – Shared CPU – Nanode
UpCloud – General Purpose – Balanced
Vultr – Shared CPU – High Frequency
Transactions per Second
3,681.00
3,767.00
5,999.00
7,399.00
Queries per Second
58,896.00
60,272.00
95,984.00
118,384.00
Minimum (ms)
1.27
1.72
1.26
0.98
Average (ms)
2.71
2.65
1.67
1.35
Maximum (ms)
16.91
18.63
38.09
8.18
Write Only
DigitalOcean – Basic – Regular
Linode – Shared CPU – Nanode
UpCloud – General Purpose – Balanced
Vultr – Shared CPU – High Frequency
Transactions per Second
1,020.00
2,972.00
2,915.00
7,016.00
Queries per Second
6,120.00
17,832.00
17,490.00
42,096.00
Minimum (ms)
4.65
1.65
1.64
0.61
Average (ms)
9.79
3.36
3.43
1.42
Maximum (ms)
86.19
21.20
51.39
8.02
Read Write
DigitalOcean – Basic – Regular
Linode – Shared CPU – Nanode
UpCloud – General Purpose – Balanced
Vultr – Shared CPU – High Frequency
Transactions per Second
689.00
1,385.00
1,616.00
2,906.00
Queries per Second
13,780.00
27,700.00
32,320.00
58,120.00
Minimum (ms)
7.94
4.15
3.60
1.99
Average (ms)
14.52
7.22
6.18
3.44
Maximum (ms)
47.77
89.23
44.38
11.99
Redis
DigitalOcean – Basic – Regular
Linode – Shared CPU – Nanode
UpCloud – General Purpose – Balanced
Vultr – Shared CPU – High Frequency
PING_INLINE
50,581.69
33,344.45
42,716.79
56,085.25
PING_MBULK
51,203.28
33,500.84
44,189.13
58,038.30
SET
50,050.05
32,690.42
41,220.11
50,968.40
GET
52,910.05
31,735.96
44,111.16
51,921.08
INCR
38,729.67
32,435.94
42,918.46
57,012.54
LPUSH
36,350.42
33,322.23
43,744.53
56,211.35
RPUSH
43,706.29
33,355.57
42,390.84
56,465.27
LPOP
50,968.40
33,288.95
42,247.57
56,433.41
RPOP
48,614.49
32,894.74
43,140.64
56,593.10
SADD
51,975.05
33,456.00
41,876.05
56,785.91
HSET
45,126.35
29,481.13
42,069.84
56,850.48
SPOP
48,971.59
31,625.55
42,753.31
56,980.06
LRANGE_100 (first 100 elements)
18,201.67
20,597.32
27,770.06
19,908.42
LRANGE_300 (first 300 elements)
11,691.80
10,478.88
14,570.89
17,702.25
LRANGE_500 (first 500 elements)
7,182.88
7,165.38
10,110.20
12,344.16
LRANGE_600 (first 600 elements)
5,711.35
6,019.75
8,828.46
11,031.44
MSET (10 keys)
40,650.41
31,725.89
39,936.10
55,187.64
Conclusion
It’s not all the time that a single provider really cleans up in every category. At least in terms of raw benchmarks, Vultr’s High Frequency plan performed very well. Also interesting to see the side by side of Linoda and UpCloud seeing as they are offering very similar processors at the moment.
As always, it’s a great idea to spin up your own instances and do your own independent benchmarks. If nothing else, you never know if you’ll end up on new or old hardware, so spinning up multiple instances with the same provider is always encouraged.
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)