Linode Linode (4 GB) vs. UpCloud Balanced (2 GB)

vs.

New day, new benchmarks. Today I've spun up brand new instance from Linode and UpCloud and did some benchmarking. All instances were running Ubuntu 24.04 LTS x64 and were created in the New York area (or close to it). Let's get into the numbers.

Overview

Linode – (4 GB) UpCloud – Balanced (2 GB)
Last Benchmarked Sun, 10 May 2026 11:00:52 GMT Wed, 13 May 2026 07:00:52 GMT
Linux Distro Ubuntu 24.04 LTS x64 Ubuntu 24.04 LTS x64
Kernel Version 6.8.0-111-generic 6.8.0-111-generic
MySQL Version 8.0.45-0ubuntu0.24.04.1 8.0.45-0ubuntu0.24.04.1
Redis Version 7.0.15 7.0.15
Location Newark, NJ New York, NY
Monthly Price $24.00 €13.00
RAM (GB) 4 2
CPU Cores 2 1
Storage (TB) 80 50
Storage Type SSD SSD
Transfer (TB) 4 2

CPU

Linode – (4 GB) UpCloud – Balanced (2 GB)
Vendor AuthenticAMD AuthenticAMD
Model Name AMD EPYC 7642 48-Core Processor AMD EPYC 9575F 64-Core Processor
Clock Speed (MHz) 2,300.00 3,295.48
CPU Cache Size (KB) 512.00 512.00
BogoMips 4,599.99 6,590.95
Events per Second 1,565.18 5,025.21
Minimum Latency (ms) 0.61 0.18
Average Latency (ms) 0.64 0.2
Maximum Latency (ms) 29.29 5.35
95th Percentile Latency (ms) 0.67 0.22

Memory

Memory Read

Linode – (4 GB) UpCloud – Balanced (2 GB)
Operations per second 5,196,836.70 5,932,400.60
Mebibytes per second 5,075.04 5,793.36
Minimum Latency (ms) 0 0
Average Latency (ms) 0 0
Maximum Latency (ms) 6.67 2.22
95th Percentile Latency (ms) 0 0

Memory Write

Linode – (4 GB) UpCloud – Balanced (2 GB)
Operations per second 5,265,799.25 6,706,599.41
Mebibytes per second 5,142.38 6,549.41
Minimum Latency (ms) 0 0
Average Latency (ms) 0 0
Maximum Latency (ms) 3.2 1.56
95th Percentile Latency (ms) 0 0

File I/O

Linode – (4 GB) UpCloud – Balanced (2 GB)
Reads per Second 4,130.88 3,214.64
Writes per Second 2,753.92 2,143.03
Fsyncs per Second 8,824.83 6,864.71
Read Mebibytes per Second 64.54 50.23
Written Mebibytes per Second 43.03 33.48
Minimum Latency (ms) 0 0
Average Latency (ms) 0.06 0.08
Maximum Latency (ms) 13.64 20.14
95th Percentile Latency (ms) 0.2 0.31

Mutex

Linode – (4 GB) UpCloud – Balanced (2 GB)
Minimum Latency (ms) 1,558.43 1,349.13
Average Latency (ms) 1,574.75 1,353.60
Maximum Latency (ms) 1,589.79 1,361.99
95th Percentile Latency (ms) 1,589.90 1,352.03

MySQL

MySQL Read-only

Linode – (4 GB) UpCloud – Balanced (2 GB)
Transactions per second 5,967.00 19,090.00
Queries per second 59,670.00 190,900.00
Minimum Latency (ms) 1.33 0.31
Average Latency (ms) 1.67 0.52
Maximum Latency (ms) 8.89 5.34
95th Percentile Latency (ms) 1.96 0.64

MySQL Write-only

Linode – (4 GB) UpCloud – Balanced (2 GB)
Transactions per second 5,997.00 3,974.00
Queries per second 59,970.00 39,740.00
Minimum Latency (ms) 1.09 0.87
Average Latency (ms) 1.67 2.51
Maximum Latency (ms) 6.64 38.67
95th Percentile Latency (ms) 2.22 5

MySQL Read/Write

Linode – (4 GB) UpCloud – Balanced (2 GB)
Transactions per second 2,949.00 2,830.00
Queries per second 29,490.00 28,300.00
Minimum Latency (ms) 2.51 1.29
Average Latency (ms) 3.39 3.53
Maximum Latency (ms) 13.89 56.72
95th Percentile Latency (ms) 4.25 6.32

MySQL INSERT

Linode – (4 GB) UpCloud – Balanced (2 GB)
Transactions per second 7,651.00 4,647.00
Queries per second 76,510.00 46,470.00
Minimum Latency (ms) 0.87 0.61
Average Latency (ms) 1.3 2.15
Maximum Latency (ms) 10.4 28.58
95th Percentile Latency (ms) 1.67 4.41

MySQL Bulk INSERT

Linode – (4 GB) UpCloud – Balanced (2 GB)
Transactions per second 1,463,217.00 2,249,592.00
Queries per second 14,632,170.00 22,495,920.00
Minimum Latency (ms) 0 0
Average Latency (ms) 0.01 0
Maximum Latency (ms) 458.31 207.34
95th Percentile Latency (ms) 0 0

MySQL SELECT

Linode – (4 GB) UpCloud – Balanced (2 GB)
Transactions per second 132,624.00 645,161.00
Queries per second 1,326,240.00 6,451,610.00
Minimum Latency (ms) 0.05 0.01
Average Latency (ms) 0.08 0.02
Maximum Latency (ms) 5.29 2.26
95th Percentile Latency (ms) 0.1 0.02

MySQL SELECT (Random Points)

Linode – (4 GB) UpCloud – Balanced (2 GB)
Transactions per second 8,339.00 8,546.00
Queries per second 83,390.00 85,460.00
Minimum Latency (ms) 0.4 0.13
Average Latency (ms) 1.2 1.17
Maximum Latency (ms) 8.39 172.57
95th Percentile Latency (ms) 1.58 1.58

MySQL SELECT (Random Ranges)

Linode – (4 GB) UpCloud – Balanced (2 GB)
Transactions per second 6,885.00 11,562.00
Queries per second 68,850.00 115,620.00
Minimum Latency (ms) 0.38 0.22
Average Latency (ms) 1.45 0.86
Maximum Latency (ms) 10.66 4.07
95th Percentile Latency (ms) 1.89 1.27

MySQL UPDATE (Indexed)

Linode – (4 GB) UpCloud – Balanced (2 GB)
Transactions per second 6,026.00 4,711.00
Queries per second 60,260.00 47,110.00
Minimum Latency (ms) 0.74 0.73
Average Latency (ms) 1.66 2.12
Maximum Latency (ms) 83.52 30.41
95th Percentile Latency (ms) 2.22 3.96

MySQL UPDATE (Non-Indexed)

Linode – (4 GB) UpCloud – Balanced (2 GB)
Transactions per second 7,626.00 5,393.00
Queries per second 76,260.00 53,930.00
Minimum Latency (ms) 0.74 0.48
Average Latency (ms) 1.31 1.85
Maximum Latency (ms) 8.03 39
95th Percentile Latency (ms) 1.86 3.43

MySQL DELETE

Linode – (4 GB) UpCloud – Balanced (2 GB)
Transactions per second 39,987.00 101,195.00
Queries per second 399,870.00 1,011,950.00
Minimum Latency (ms) 0.04 0.01
Average Latency (ms) 0.25 0.1
Maximum Latency (ms) 117.36 39.3
95th Percentile Latency (ms) 1.23 0.17

Redis

Linode – (4 GB) UpCloud – Balanced (2 GB)
PING_INLINE per Second 53,447.35 130,208.34
PING_MBULK per Second 52,192.07 130,208.34
SET per Second 52,273.91 130,890.05
GET per Second 53,475.94 129,198.97
INCR per Second 53,879.31 128,534.70
LPUSH per Second 54,406.96 128,040.97
RPUSH per Second 55,035.77 126,582.27
LPOP per Second 54,794.52 124,688.28
RPOP per Second 54,734.54 127,226.46
SADD per Second 55,991.04 129,198.97
HSET per Second 51,975.05 133,511.34
SPOP per Second 53,219.80 139,275.77
ZADD per Second 50,175.61 130,039.02
ZPOPMIN per Second 53,937.43 129,701.68
LRANGE_100 (first 100 elements) per Second 43,252.59 55,524.71
LRANGE_300 (first 300 elements) per Second 26,021.34 28,785.26
LRANGE_500 (first 500 elements) per Second 18,214.94 18,942.98
LRANGE_600 (first 600 elements) per Second 16,469.04 17,038.68
MSET (10 keys) per Second 55,679.29 108,225.10

Redis Average Latency (ms)

Linode – (4 GB) UpCloud – Balanced (2 GB)
PING_INLINE0.490.25
PING_MBULK0.510.25
SET0.500.26
GET0.490.26
INCR0.480.26
LPUSH0.480.26
RPUSH0.470.27
LPOP0.470.27
RPOP0.470.27
SADD0.460.26
HSET0.500.26
SPOP0.490.24
ZADD0.510.26
ZPOPMIN0.480.26
LRANGE_100 (first 100 elements)0.610.66
LRANGE_300 (first 300 elements)1.041.27
LRANGE_500 (first 500 elements)1.481.95
LRANGE_600 (first 600 elements)1.592.16
MSET (10 keys)0.490.34

Conclusion

From the friendly robots:

After analyzing the benchmark performance data from both Linode's g6-standard-2 (4 GB) and UpCloud's 1xCPU-2GB instances, it's evident that the Linode instance excels in handling more demanding memory and I/O operations with superior Redis performance, especially for complex commands like LRANGE, and offers better CPU and file I/O metrics, with lower latency and higher throughput. Conversely, the UpCloud instance, although less powerful in terms of CPU and RAM, performs impressively with higher Redis request rates per second (rps) and lower latencies for basic Redis commands, indicating a more efficient use of its single CPU core. For workloads that require substantial memory and I/O operations, like complex database queries or large data sets, the Linode instance is the better choice. On the other hand, for scenarios prioritizing high Redis performance and efficiency per core, such as lightweight web services or caching, the UpCloud instance would be more suitable.

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.

You can also support me directly by buying me a coffee.