Same showdown, different day. Today I've spun up brand new instance from Linode and UpCloud and ran some benchmarks. Each instance was spun up with Ubuntu 24.04 LTS x64 and were created in or around the New York / New Jersey area. Without further ado, here's the results.
Overview
UpCloud – Balanced (1 GB)
Linode – Nanode (1 GB)
Last Benchmarked
Fri, 31 Oct 2025 00:00:52 GMT
Wed, 29 Oct 2025 11:00:52 GMT
Linux Distro
Ubuntu 24.04 LTS x64
Ubuntu 24.04 LTS x64
Kernel Version
6.8.0-63-generic
6.8.0-71-generic
MySQL Version
8.0.43-0ubuntu0.24.04.2
8.0.43-0ubuntu0.24.04.2
Redis Version
7.0.15
7.0.15
Location
New York, NY
Newark, NJ
Monthly Price
€7.00
$5.00
RAM (GB)
1
1
CPU Cores
1
1
Storage (TB)
25
25
Storage Type
SSD
SSD
Transfer (TB)
1
1
CPU
UpCloud – Balanced (1 GB)
Linode – Nanode (1 GB)
Vendor
AuthenticAMD
AuthenticAMD
Model Name
AMD EPYC 9575F 64-Core Processor
AMD EPYC 7601 32-Core Processor
Clock Speed (MHz)
3,295.42
2,200.00
CPU Cache Size (KB)
512.00
512.00
BogoMips
6,590.83
4,399.99
Events per Second
5,707.06
626.39
Minimum Latency (ms)
0.16
0.67
Average Latency (ms)
0.17
1.6
Maximum Latency (ms)
0.64
8.53
95th Percentile Latency (ms)
0.19
4.25
Memory
Memory Read
UpCloud – Balanced (1 GB)
Linode – Nanode (1 GB)
Operations per second
7,834,164.30
1,992,468.11
Mebibytes per second
7,650.55
1,945.77
Minimum Latency (ms)
0
0
Average Latency (ms)
0
0
Maximum Latency (ms)
0.23
4.79
95th Percentile Latency (ms)
0
0
Memory Write
UpCloud – Balanced (1 GB)
Linode – Nanode (1 GB)
Operations per second
7,903,681.50
2,048,078.98
Mebibytes per second
7,718.44
2,000.08
Minimum Latency (ms)
0
0
Average Latency (ms)
0
0
Maximum Latency (ms)
0.36
7.36
95th Percentile Latency (ms)
0
0
File I/O
UpCloud – Balanced (1 GB)
Linode – Nanode (1 GB)
Reads per Second
3,730.38
1,569.23
Writes per Second
2,486.92
1,046.16
Fsyncs per Second
7,967.13
3,352.99
Read Mebibytes per Second
58.29
24.52
Written Mebibytes per Second
38.86
16.35
Minimum Latency (ms)
0
0
Average Latency (ms)
0.07
0.17
Maximum Latency (ms)
39.97
6.62
95th Percentile Latency (ms)
0.23
0.4
Mutex
UpCloud – Balanced (1 GB)
Linode – Nanode (1 GB)
Minimum Latency (ms)
1,153.85
2,118.43
Average Latency (ms)
1,162.70
2,136.64
Maximum Latency (ms)
1,168.80
2,147.24
95th Percentile Latency (ms)
1,170.65
2,159.29
MySQL
MySQL Read-only
UpCloud – Balanced (1 GB)
Linode – Nanode (1 GB)
Transactions per second
24,839.00
4,513.00
Queries per second
248,390.00
45,130.00
Minimum Latency (ms)
0.29
1.69
Average Latency (ms)
0.4
2.21
Maximum Latency (ms)
7.06
14.39
95th Percentile Latency (ms)
0.56
2.48
MySQL Write-only
UpCloud – Balanced (1 GB)
Linode – Nanode (1 GB)
Transactions per second
5,931.00
3,583.00
Queries per second
59,310.00
35,830.00
Minimum Latency (ms)
0.63
1.87
Average Latency (ms)
1.68
2.79
Maximum Latency (ms)
36.65
27.89
95th Percentile Latency (ms)
3.25
4.03
MySQL Read/Write
UpCloud – Balanced (1 GB)
Linode – Nanode (1 GB)
Transactions per second
4,502.00
1,726.00
Queries per second
45,020.00
17,260.00
Minimum Latency (ms)
1.09
4.55
Average Latency (ms)
2.22
5.8
Maximum Latency (ms)
49.58
20.42
95th Percentile Latency (ms)
3.07
7.04
MySQL INSERT
UpCloud – Balanced (1 GB)
Linode – Nanode (1 GB)
Transactions per second
7,380.00
6,224.00
Queries per second
73,800.00
62,240.00
Minimum Latency (ms)
0.5
1.13
Average Latency (ms)
1.35
1.6
Maximum Latency (ms)
119.93
9.35
95th Percentile Latency (ms)
2.22
2.03
MySQL Bulk INSERT
UpCloud – Balanced (1 GB)
Linode – Nanode (1 GB)
Transactions per second
2,977,717.00
734,741.00
Queries per second
29,777,170.00
7,347,410.00
Minimum Latency (ms)
0
0
Average Latency (ms)
0
0.01
Maximum Latency (ms)
173.9
693.48
95th Percentile Latency (ms)
0
0
MySQL SELECT
UpCloud – Balanced (1 GB)
Linode – Nanode (1 GB)
Transactions per second
846,852.00
96,019.00
Queries per second
8,468,520.00
960,190.00
Minimum Latency (ms)
0.01
0.07
Average Latency (ms)
0.01
0.1
Maximum Latency (ms)
1.33
4.17
95th Percentile Latency (ms)
0.02
0.14
MySQL SELECT (Random Points)
UpCloud – Balanced (1 GB)
Linode – Nanode (1 GB)
Transactions per second
14,803.00
5,082.00
Queries per second
148,030.00
50,820.00
Minimum Latency (ms)
0.17
0.71
Average Latency (ms)
0.67
1.97
Maximum Latency (ms)
6.04
13.24
95th Percentile Latency (ms)
0.97
2.61
MySQL SELECT (Random Ranges)
UpCloud – Balanced (1 GB)
Linode – Nanode (1 GB)
Transactions per second
16,381.00
5,444.00
Queries per second
163,810.00
54,440.00
Minimum Latency (ms)
0.16
0.49
Average Latency (ms)
0.61
1.84
Maximum Latency (ms)
2.58
7.22
95th Percentile Latency (ms)
0.97
2.57
MySQL UPDATE (Indexed)
UpCloud – Balanced (1 GB)
Linode – Nanode (1 GB)
Transactions per second
8,491.00
5,363.00
Queries per second
84,910.00
53,630.00
Minimum Latency (ms)
0.47
1.08
Average Latency (ms)
1.18
1.86
Maximum Latency (ms)
44.18
7.65
95th Percentile Latency (ms)
1.67
2.86
MySQL UPDATE (Non-Indexed)
UpCloud – Balanced (1 GB)
Linode – Nanode (1 GB)
Transactions per second
8,500.00
6,025.00
Queries per second
85,000.00
60,250.00
Minimum Latency (ms)
0.46
1.23
Average Latency (ms)
1.18
1.66
Maximum Latency (ms)
35.43
7.39
95th Percentile Latency (ms)
1.7
2.22
MySQL DELETE
UpCloud – Balanced (1 GB)
Linode – Nanode (1 GB)
Transactions per second
289,704.00
32,847.00
Queries per second
2,897,040.00
328,470.00
Minimum Latency (ms)
0.01
0.07
Average Latency (ms)
0.03
0.3
Maximum Latency (ms)
56.6
13.38
95th Percentile Latency (ms)
0.03
1.64
Redis
UpCloud – Balanced (1 GB)
Linode – Nanode (1 GB)
PING_INLINE per Second
163,398.70
31,162.36
PING_MBULK per Second
170,357.75
32,414.91
SET per Second
163,666.12
32,488.63
GET per Second
154,559.50
31,979.53
INCR per Second
143,884.89
32,082.13
LPUSH per Second
154,083.20
31,847.13
RPUSH per Second
164,473.69
32,195.75
LPOP per Second
166,666.66
31,959.09
RPOP per Second
162,074.56
31,426.78
SADD per Second
171,232.88
32,030.75
HSET per Second
150,829.56
31,585.60
SPOP per Second
170,357.75
32,123.36
ZADD per Second
149,700.61
31,347.96
ZPOPMIN per Second
170,940.17
32,061.56
LRANGE_100 (first 100 elements) per Second
87,719.30
19,459.04
LRANGE_300 (first 300 elements) per Second
41,459.37
10,030.09
LRANGE_500 (first 500 elements) per Second
26,997.84
6,825.94
LRANGE_600 (first 600 elements) per Second
23,299.16
5,909.47
MSET (10 keys) per Second
138,696.25
29,931.16
Redis Average Latency (ms)
UpCloud – Balanced (1 GB)
Linode – Nanode (1 GB)
PING_INLINE
0.20
1.05
PING_MBULK
0.19
1.00
SET
0.20
1.02
GET
0.22
1.02
INCR
0.23
1.02
LPUSH
0.22
1.03
RPUSH
0.21
1.02
LPOP
0.21
1.04
RPOP
0.21
1.05
SADD
0.20
1.02
HSET
0.22
1.04
SPOP
0.20
1.01
ZADD
0.23
1.05
ZPOPMIN
0.20
1.01
LRANGE_100 (first 100 elements)
0.41
1.70
LRANGE_300 (first 300 elements)
0.86
3.22
LRANGE_500 (first 500 elements)
1.33
4.67
LRANGE_600 (first 600 elements)
1.53
5.25
MSET (10 keys)
0.26
1.16
Conclusion
From the friendly robots:
The Linode Nanode (1 GB) instance shows strong performance in Redis operations, with high request rates and low latencies, but struggles with Redis LRANGE operations, which become significantly slower as the range size increases. The UpCloud Balanced (1 GB) instance excels in Redis operations, achieving much higher request rates and lower latencies compared to the Linode instance, although it also shows a decline in performance with larger LRANGE operations. The UpCloud instance has better CPU performance, with higher events per second and lower average latency, but both instances have similar file I/O and memory performance metrics. For CPU-intensive workloads and applications requiring high Redis throughput, the UpCloud instance is preferable, while the Linode instance might be more suitable for applications where Redis LRANGE operations are less critical.
From the friendly human:
If you found this VPS Showdown helpful in your search for a hosting provider, please consider supporting my efforts by signing up using my referral links for Linode and UpCloud.