Linode Nanode (1 GB) vs. UpCloud Balanced (2 GB, 2 Cores)
Fresh benchmarks coming at ya. Today I've spun up some brand new instance from Linode and UpCloud to run some benchmarks on. All instances were running Ubuntu 24.04 LTS x64 and were created in the New York area (or close to it). Time to see who showed up today.
Overview
| Linode – Nanode (1 GB) | UpCloud – Balanced (2 GB, 2 Cores) | |
|---|---|---|
| Last Benchmarked | Fri, 29 May 2026 15:00:53 GMT | Tue, 26 May 2026 17:00:53 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 | $5.00 | €18.00 |
| RAM (GB) | 1 | 2 |
| CPU Cores | 1 | 2 |
| Storage (TB) | 25 | 60 |
| Storage Type | SSD | SSD |
| Transfer (TB) | 1 | 3 |
CPU
| Linode – Nanode (1 GB) | UpCloud – Balanced (2 GB, 2 Cores) | |
|---|---|---|
| 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,022.23 | 5,021.05 |
| Minimum Latency (ms) | 0.61 | 0.18 |
| Average Latency (ms) | 0.98 | 0.2 |
| Maximum Latency (ms) | 5.4 | 7.63 |
| 95th Percentile Latency (ms) | 2.39 | 0.21 |
Memory
Memory Read
| Linode – Nanode (1 GB) | UpCloud – Balanced (2 GB, 2 Cores) | |
|---|---|---|
| Operations per second | 5,296,233.64 | 6,928,054.67 |
| Mebibytes per second | 5,172.10 | 6,765.68 |
| Minimum Latency (ms) | 0 | 0 |
| Average Latency (ms) | 0 | 0 |
| Maximum Latency (ms) | 3.05 | 1.01 |
| 95th Percentile Latency (ms) | 0 | 0 |
Memory Write
| Linode – Nanode (1 GB) | UpCloud – Balanced (2 GB, 2 Cores) | |
|---|---|---|
| Operations per second | 5,154,651.90 | 6,756,760.69 |
| Mebibytes per second | 5,033.84 | 6,598.40 |
| Minimum Latency (ms) | 0 | 0 |
| Average Latency (ms) | 0 | 0 |
| Maximum Latency (ms) | 3.06 | 0.71 |
| 95th Percentile Latency (ms) | 0 | 0 |
File I/O
| Linode – Nanode (1 GB) | UpCloud – Balanced (2 GB, 2 Cores) | |
|---|---|---|
| Reads per Second | 2,055.76 | 3,387.11 |
| Writes per Second | 1,370.51 | 2,258.08 |
| Fsyncs per Second | 4,389.22 | 7,230.94 |
| Read Mebibytes per Second | 32.12 | 52.92 |
| Written Mebibytes per Second | 21.41 | 35.28 |
| Minimum Latency (ms) | 0 | 0 |
| Average Latency (ms) | 0.13 | 0.08 |
| Maximum Latency (ms) | 12.79 | 40.05 |
| 95th Percentile Latency (ms) | 0.35 | 0.29 |
Mutex
| Linode – Nanode (1 GB) | UpCloud – Balanced (2 GB, 2 Cores) | |
|---|---|---|
| Minimum Latency (ms) | 1,633.32 | 616.62 |
| Average Latency (ms) | 1,644.62 | 694.34 |
| Maximum Latency (ms) | 1,653.29 | 728.25 |
| 95th Percentile Latency (ms) | 1,648.20 | 733.00 |
MySQL
MySQL Read-only
| Linode – Nanode (1 GB) | UpCloud – Balanced (2 GB, 2 Cores) | |
|---|---|---|
| Transactions per second | 7,575.00 | 15,140.00 |
| Queries per second | 75,750.00 | 151,400.00 |
| Minimum Latency (ms) | 1.22 | 0.34 |
| Average Latency (ms) | 1.32 | 0.66 |
| Maximum Latency (ms) | 4.67 | 14.3 |
| 95th Percentile Latency (ms) | 1.42 | 0.89 |
MySQL Write-only
| Linode – Nanode (1 GB) | UpCloud – Balanced (2 GB, 2 Cores) | |
|---|---|---|
| Transactions per second | 5,800.00 | 2,911.00 |
| Queries per second | 58,000.00 | 29,110.00 |
| Minimum Latency (ms) | 1.15 | 0.93 |
| Average Latency (ms) | 1.72 | 3.43 |
| Maximum Latency (ms) | 12.35 | 73.52 |
| 95th Percentile Latency (ms) | 2.39 | 7.84 |
MySQL Read/Write
| Linode – Nanode (1 GB) | UpCloud – Balanced (2 GB, 2 Cores) | |
|---|---|---|
| Transactions per second | 2,955.00 | 2,760.00 |
| Queries per second | 29,550.00 | 27,600.00 |
| Minimum Latency (ms) | 2.64 | 1.5 |
| Average Latency (ms) | 3.38 | 3.62 |
| Maximum Latency (ms) | 22.69 | 41.16 |
| 95th Percentile Latency (ms) | 4.41 | 7.7 |
MySQL INSERT
| Linode – Nanode (1 GB) | UpCloud – Balanced (2 GB, 2 Cores) | |
|---|---|---|
| Transactions per second | 8,921.00 | 4,552.00 |
| Queries per second | 89,210.00 | 45,520.00 |
| Minimum Latency (ms) | 0.65 | 0.6 |
| Average Latency (ms) | 1.12 | 2.19 |
| Maximum Latency (ms) | 8.92 | 31.75 |
| 95th Percentile Latency (ms) | 1.42 | 4.82 |
MySQL Bulk INSERT
| Linode – Nanode (1 GB) | UpCloud – Balanced (2 GB, 2 Cores) | |
|---|---|---|
| Transactions per second | 1,288,467.00 | 2,074,842.00 |
| Queries per second | 12,884,670.00 | 20,748,420.00 |
| Minimum Latency (ms) | 0 | 0 |
| Average Latency (ms) | 0.01 | 0 |
| Maximum Latency (ms) | 398.24 | 277.67 |
| 95th Percentile Latency (ms) | 0 | 0 |
MySQL SELECT
| Linode – Nanode (1 GB) | UpCloud – Balanced (2 GB, 2 Cores) | |
|---|---|---|
| Transactions per second | 170,179.00 | 469,962.00 |
| Queries per second | 1,701,790.00 | 4,699,620.00 |
| Minimum Latency (ms) | 0.05 | 0.01 |
| Average Latency (ms) | 0.06 | 0.02 |
| Maximum Latency (ms) | 7.27 | 5.29 |
| 95th Percentile Latency (ms) | 0.08 | 0.03 |
MySQL SELECT (Random Points)
| Linode – Nanode (1 GB) | UpCloud – Balanced (2 GB, 2 Cores) | |
|---|---|---|
| Transactions per second | 7,819.00 | 8,479.00 |
| Queries per second | 78,190.00 | 84,790.00 |
| Minimum Latency (ms) | 0.42 | 0.35 |
| Average Latency (ms) | 1.28 | 1.18 |
| Maximum Latency (ms) | 6.03 | 15.13 |
| 95th Percentile Latency (ms) | 1.64 | 2 |
MySQL SELECT (Random Ranges)
| Linode – Nanode (1 GB) | UpCloud – Balanced (2 GB, 2 Cores) | |
|---|---|---|
| Transactions per second | 7,328.00 | 9,901.00 |
| Queries per second | 73,280.00 | 99,010.00 |
| Minimum Latency (ms) | 0.3 | 0.22 |
| Average Latency (ms) | 1.36 | 1.01 |
| Maximum Latency (ms) | 4.97 | 24.68 |
| 95th Percentile Latency (ms) | 1.76 | 2 |
MySQL UPDATE (Indexed)
| Linode – Nanode (1 GB) | UpCloud – Balanced (2 GB, 2 Cores) | |
|---|---|---|
| Transactions per second | 8,603.00 | 3,662.00 |
| Queries per second | 86,030.00 | 36,620.00 |
| Minimum Latency (ms) | 0.69 | 0.77 |
| Average Latency (ms) | 1.16 | 2.73 |
| Maximum Latency (ms) | 6.97 | 94.74 |
| 95th Percentile Latency (ms) | 1.7 | 6.32 |
MySQL UPDATE (Non-Indexed)
| Linode – Nanode (1 GB) | UpCloud – Balanced (2 GB, 2 Cores) | |
|---|---|---|
| Transactions per second | 7,719.00 | 3,240.00 |
| Queries per second | 77,190.00 | 32,400.00 |
| Minimum Latency (ms) | 0.65 | 0.83 |
| Average Latency (ms) | 1.29 | 3.08 |
| Maximum Latency (ms) | 54.76 | 70.27 |
| 95th Percentile Latency (ms) | 1.73 | 7.98 |
MySQL DELETE
| Linode – Nanode (1 GB) | UpCloud – Balanced (2 GB, 2 Cores) | |
|---|---|---|
| Transactions per second | 80,451.00 | 64,375.00 |
| Queries per second | 804,510.00 | 643,750.00 |
| Minimum Latency (ms) | 0.05 | 0.01 |
| Average Latency (ms) | 0.12 | 0.15 |
| Maximum Latency (ms) | 16.14 | 30.03 |
| 95th Percentile Latency (ms) | 0.42 | 1.1 |
Redis
| Linode – Nanode (1 GB) | UpCloud – Balanced (2 GB, 2 Cores) | |
|---|---|---|
| PING_INLINE per Second | 44,052.86 | 156,494.52 |
| PING_MBULK per Second | 44,563.28 | 160,000.00 |
| SET per Second | 44,072.28 | 176,366.86 |
| GET per Second | 44,345.89 | 143,061.52 |
| INCR per Second | 42,535.09 | 190,114.06 |
| LPUSH per Second | 41,545.49 | 196,850.39 |
| RPUSH per Second | 37,299.52 | 205,761.31 |
| LPOP per Second | 43,327.55 | 169,491.53 |
| RPOP per Second | 43,103.45 | 149,031.30 |
| SADD per Second | 43,994.72 | 180,505.41 |
| HSET per Second | 43,956.04 | 186,219.73 |
| SPOP per Second | 44,130.62 | 201,612.91 |
| ZADD per Second | 42,390.84 | 147,710.48 |
| ZPOPMIN per Second | 43,159.26 | 115,340.26 |
| LRANGE_100 (first 100 elements) per Second | 28,843.38 | 94,161.95 |
| LRANGE_300 (first 300 elements) per Second | 15,153.81 | 47,258.98 |
| LRANGE_500 (first 500 elements) per Second | 10,595.47 | 30,931.02 |
| LRANGE_600 (first 600 elements) per Second | 9,122.42 | 26,939.66 |
| MSET (10 keys) per Second | 40,112.31 | 194,931.77 |
Redis Average Latency (ms)
| Linode – Nanode (1 GB) | UpCloud – Balanced (2 GB, 2 Cores) | |
|---|---|---|
| PING_INLINE | 0.78 | 0.19 |
| PING_MBULK | 0.77 | 0.17 |
| SET | 0.78 | 0.15 |
| GET | 0.77 | 0.19 |
| INCR | 0.80 | 0.14 |
| LPUSH | 0.82 | 0.14 |
| RPUSH | 0.90 | 0.13 |
| LPOP | 0.80 | 0.17 |
| RPOP | 0.80 | 0.20 |
| SADD | 0.78 | 0.16 |
| HSET | 0.79 | 0.15 |
| SPOP | 0.77 | 0.13 |
| ZADD | 0.81 | 0.20 |
| ZPOPMIN | 0.79 | 0.26 |
| LRANGE_100 (first 100 elements) | 1.23 | 0.37 |
| LRANGE_300 (first 300 elements) | 2.38 | 0.68 |
| LRANGE_500 (first 500 elements) | 3.44 | 1.00 |
| LRANGE_600 (first 600 elements) | 3.96 | 1.15 |
| MSET (10 keys) | 0.88 | 0.18 |
Conclusion
From the friendly robots:
After a thorough analysis of the benchmark results from Linode's Nanode (1 GB) and UpCloud's Balanced (2 GB, 2 cores) instances, it's evident that the UpCloud instance excels in high-concurrency Redis operations, CPU-intensive tasks, and memory operations, likely due to its higher CPU frequency and double the number of CPU cores. The UpCloud instance shows superior performance in metrics like Redis request rates per second, CPU events per second, and throughput rates for reads and writes. On the other hand, Linode's Nanode, while offering commendable performance for its size, lags behind in multi-threaded operations and bulk data processing tasks, which are more suited to the larger, more powerful UpCloud server. Given these benchmarks, the UpCloud Balanced instance would be better suited for high-demand applications requiring more CPU power, memory bandwidth, and concurrency, while the Linode Nanode is more appropriate for less demanding applications that favor cost-efficiency and minimal resource requirements.
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.