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
Linode – Nanode (1 GB)
UpCloud – Balanced (1 GB)
Last Benchmarked
Wed, 29 Oct 2025 11:00:52 GMT
Fri, 31 Oct 2025 00:00:52 GMT
Linux Distro
Ubuntu 24.04 LTS x64
Ubuntu 24.04 LTS x64
Kernel Version
6.8.0-71-generic
6.8.0-63-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
Newark, NJ
New York, NY
Monthly Price
$5.00
€7.00
RAM (GB)
1
1
CPU Cores
1
1
Storage (TB)
25
25
Storage Type
SSD
SSD
Transfer (TB)
1
1
CPU
Linode – Nanode (1 GB)
UpCloud – Balanced (1 GB)
Vendor
AuthenticAMD
AuthenticAMD
Model Name
AMD EPYC 7601 32-Core Processor
AMD EPYC 9575F 64-Core Processor
Clock Speed (MHz)
2,200.00
3,295.42
CPU Cache Size (KB)
512.00
512.00
BogoMips
4,399.99
6,590.83
Events per Second
626.39
5,707.06
Minimum Latency (ms)
0.67
0.16
Average Latency (ms)
1.6
0.17
Maximum Latency (ms)
8.53
0.64
95th Percentile Latency (ms)
4.25
0.19
Memory
Memory Read
Linode – Nanode (1 GB)
UpCloud – Balanced (1 GB)
Operations per second
1,992,468.11
7,834,164.30
Mebibytes per second
1,945.77
7,650.55
Minimum Latency (ms)
0
0
Average Latency (ms)
0
0
Maximum Latency (ms)
4.79
0.23
95th Percentile Latency (ms)
0
0
Memory Write
Linode – Nanode (1 GB)
UpCloud – Balanced (1 GB)
Operations per second
2,048,078.98
7,903,681.50
Mebibytes per second
2,000.08
7,718.44
Minimum Latency (ms)
0
0
Average Latency (ms)
0
0
Maximum Latency (ms)
7.36
0.36
95th Percentile Latency (ms)
0
0
File I/O
Linode – Nanode (1 GB)
UpCloud – Balanced (1 GB)
Reads per Second
1,569.23
3,730.38
Writes per Second
1,046.16
2,486.92
Fsyncs per Second
3,352.99
7,967.13
Read Mebibytes per Second
24.52
58.29
Written Mebibytes per Second
16.35
38.86
Minimum Latency (ms)
0
0
Average Latency (ms)
0.17
0.07
Maximum Latency (ms)
6.62
39.97
95th Percentile Latency (ms)
0.4
0.23
Mutex
Linode – Nanode (1 GB)
UpCloud – Balanced (1 GB)
Minimum Latency (ms)
2,118.43
1,153.85
Average Latency (ms)
2,136.64
1,162.70
Maximum Latency (ms)
2,147.24
1,168.80
95th Percentile Latency (ms)
2,159.29
1,170.65
MySQL
MySQL Read-only
Linode – Nanode (1 GB)
UpCloud – Balanced (1 GB)
Transactions per second
4,513.00
24,839.00
Queries per second
45,130.00
248,390.00
Minimum Latency (ms)
1.69
0.29
Average Latency (ms)
2.21
0.4
Maximum Latency (ms)
14.39
7.06
95th Percentile Latency (ms)
2.48
0.56
MySQL Write-only
Linode – Nanode (1 GB)
UpCloud – Balanced (1 GB)
Transactions per second
3,583.00
5,931.00
Queries per second
35,830.00
59,310.00
Minimum Latency (ms)
1.87
0.63
Average Latency (ms)
2.79
1.68
Maximum Latency (ms)
27.89
36.65
95th Percentile Latency (ms)
4.03
3.25
MySQL Read/Write
Linode – Nanode (1 GB)
UpCloud – Balanced (1 GB)
Transactions per second
1,726.00
4,502.00
Queries per second
17,260.00
45,020.00
Minimum Latency (ms)
4.55
1.09
Average Latency (ms)
5.8
2.22
Maximum Latency (ms)
20.42
49.58
95th Percentile Latency (ms)
7.04
3.07
MySQL INSERT
Linode – Nanode (1 GB)
UpCloud – Balanced (1 GB)
Transactions per second
6,224.00
7,380.00
Queries per second
62,240.00
73,800.00
Minimum Latency (ms)
1.13
0.5
Average Latency (ms)
1.6
1.35
Maximum Latency (ms)
9.35
119.93
95th Percentile Latency (ms)
2.03
2.22
MySQL Bulk INSERT
Linode – Nanode (1 GB)
UpCloud – Balanced (1 GB)
Transactions per second
734,741.00
2,977,717.00
Queries per second
7,347,410.00
29,777,170.00
Minimum Latency (ms)
0
0
Average Latency (ms)
0.01
0
Maximum Latency (ms)
693.48
173.9
95th Percentile Latency (ms)
0
0
MySQL SELECT
Linode – Nanode (1 GB)
UpCloud – Balanced (1 GB)
Transactions per second
96,019.00
846,852.00
Queries per second
960,190.00
8,468,520.00
Minimum Latency (ms)
0.07
0.01
Average Latency (ms)
0.1
0.01
Maximum Latency (ms)
4.17
1.33
95th Percentile Latency (ms)
0.14
0.02
MySQL SELECT (Random Points)
Linode – Nanode (1 GB)
UpCloud – Balanced (1 GB)
Transactions per second
5,082.00
14,803.00
Queries per second
50,820.00
148,030.00
Minimum Latency (ms)
0.71
0.17
Average Latency (ms)
1.97
0.67
Maximum Latency (ms)
13.24
6.04
95th Percentile Latency (ms)
2.61
0.97
MySQL SELECT (Random Ranges)
Linode – Nanode (1 GB)
UpCloud – Balanced (1 GB)
Transactions per second
5,444.00
16,381.00
Queries per second
54,440.00
163,810.00
Minimum Latency (ms)
0.49
0.16
Average Latency (ms)
1.84
0.61
Maximum Latency (ms)
7.22
2.58
95th Percentile Latency (ms)
2.57
0.97
MySQL UPDATE (Indexed)
Linode – Nanode (1 GB)
UpCloud – Balanced (1 GB)
Transactions per second
5,363.00
8,491.00
Queries per second
53,630.00
84,910.00
Minimum Latency (ms)
1.08
0.47
Average Latency (ms)
1.86
1.18
Maximum Latency (ms)
7.65
44.18
95th Percentile Latency (ms)
2.86
1.67
MySQL UPDATE (Non-Indexed)
Linode – Nanode (1 GB)
UpCloud – Balanced (1 GB)
Transactions per second
6,025.00
8,500.00
Queries per second
60,250.00
85,000.00
Minimum Latency (ms)
1.23
0.46
Average Latency (ms)
1.66
1.18
Maximum Latency (ms)
7.39
35.43
95th Percentile Latency (ms)
2.22
1.7
MySQL DELETE
Linode – Nanode (1 GB)
UpCloud – Balanced (1 GB)
Transactions per second
32,847.00
289,704.00
Queries per second
328,470.00
2,897,040.00
Minimum Latency (ms)
0.07
0.01
Average Latency (ms)
0.3
0.03
Maximum Latency (ms)
13.38
56.6
95th Percentile Latency (ms)
1.64
0.03
Redis
Linode – Nanode (1 GB)
UpCloud – Balanced (1 GB)
PING_INLINE per Second
31,162.36
163,398.70
PING_MBULK per Second
32,414.91
170,357.75
SET per Second
32,488.63
163,666.12
GET per Second
31,979.53
154,559.50
INCR per Second
32,082.13
143,884.89
LPUSH per Second
31,847.13
154,083.20
RPUSH per Second
32,195.75
164,473.69
LPOP per Second
31,959.09
166,666.66
RPOP per Second
31,426.78
162,074.56
SADD per Second
32,030.75
171,232.88
HSET per Second
31,585.60
150,829.56
SPOP per Second
32,123.36
170,357.75
ZADD per Second
31,347.96
149,700.61
ZPOPMIN per Second
32,061.56
170,940.17
LRANGE_100 (first 100 elements) per Second
19,459.04
87,719.30
LRANGE_300 (first 300 elements) per Second
10,030.09
41,459.37
LRANGE_500 (first 500 elements) per Second
6,825.94
26,997.84
LRANGE_600 (first 600 elements) per Second
5,909.47
23,299.16
MSET (10 keys) per Second
29,931.16
138,696.25
Redis Average Latency (ms)
Linode – Nanode (1 GB)
UpCloud – Balanced (1 GB)
PING_INLINE
1.05
0.20
PING_MBULK
1.00
0.19
SET
1.02
0.20
GET
1.02
0.22
INCR
1.02
0.23
LPUSH
1.03
0.22
RPUSH
1.02
0.21
LPOP
1.04
0.21
RPOP
1.05
0.21
SADD
1.02
0.20
HSET
1.04
0.22
SPOP
1.01
0.20
ZADD
1.05
0.23
ZPOPMIN
1.01
0.20
LRANGE_100 (first 100 elements)
1.70
0.41
LRANGE_300 (first 300 elements)
3.22
0.86
LRANGE_500 (first 500 elements)
4.67
1.33
LRANGE_600 (first 600 elements)
5.25
1.53
MSET (10 keys)
1.16
0.26
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.