DigitalOcean Premium AMD (2 GB, 2 Cores) vs. UpCloud Balanced (2 GB)
New day, new benchmarks. Today I've spun up brand new instance from DigitalOcean and UpCloud to run some benchmarks on. All instances were spun up with Ubuntu 24.04 LTS x64 and were created in the New York area (or close to it). Let's get into the numbers.
Overview
| DigitalOcean – Premium AMD (2 GB, 2 Cores) | UpCloud – Balanced (2 GB) | |
|---|---|---|
| Last Benchmarked | Tue, 12 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-71-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 | New York, NY | New York, NY |
| Monthly Price | $21.00 | €13.00 |
| RAM (GB) | 2 | 2 |
| CPU Cores | 2 | 1 |
| Storage (TB) | 60 | 50 |
| Storage Type | NVMe | SSD |
| Transfer (TB) | 3 | 2 |
CPU
| DigitalOcean – Premium AMD (2 GB, 2 Cores) | UpCloud – Balanced (2 GB) | |
|---|---|---|
| Vendor | AuthenticAMD | AuthenticAMD |
| Model Name | DO-Premium-AMD | AMD EPYC 9575F 64-Core Processor |
| Clock Speed (MHz) | 1,996.25 | 3,295.48 |
| CPU Cache Size (KB) | 512.00 | 512.00 |
| BogoMips | 3,992.49 | 6,590.95 |
| Events per Second | 1,560.26 | 5,025.21 |
| Minimum Latency (ms) | 0.59 | 0.18 |
| Average Latency (ms) | 0.64 | 0.2 |
| Maximum Latency (ms) | 2.06 | 5.35 |
| 95th Percentile Latency (ms) | 0.69 | 0.22 |
Memory
Memory Read
| DigitalOcean – Premium AMD (2 GB, 2 Cores) | UpCloud – Balanced (2 GB) | |
|---|---|---|
| Operations per second | 4,876,345.27 | 5,932,400.60 |
| Mebibytes per second | 4,762.06 | 5,793.36 |
| Minimum Latency (ms) | 0 | 0 |
| Average Latency (ms) | 0 | 0 |
| Maximum Latency (ms) | 0.21 | 2.22 |
| 95th Percentile Latency (ms) | 0 | 0 |
Memory Write
| DigitalOcean – Premium AMD (2 GB, 2 Cores) | UpCloud – Balanced (2 GB) | |
|---|---|---|
| Operations per second | 4,927,449.86 | 6,706,599.41 |
| Mebibytes per second | 4,811.96 | 6,549.41 |
| Minimum Latency (ms) | 0 | 0 |
| Average Latency (ms) | 0 | 0 |
| Maximum Latency (ms) | 0.19 | 1.56 |
| 95th Percentile Latency (ms) | 0 | 0 |
File I/O
| DigitalOcean – Premium AMD (2 GB, 2 Cores) | UpCloud – Balanced (2 GB) | |
|---|---|---|
| Reads per Second | 1,725.18 | 3,214.64 |
| Writes per Second | 1,150.12 | 2,143.03 |
| Fsyncs per Second | 3,684.17 | 6,864.71 |
| Read Mebibytes per Second | 26.96 | 50.23 |
| Written Mebibytes per Second | 17.97 | 33.48 |
| Minimum Latency (ms) | 0 | 0 |
| Average Latency (ms) | 0.15 | 0.08 |
| Maximum Latency (ms) | 6.97 | 20.14 |
| 95th Percentile Latency (ms) | 0.55 | 0.31 |
Mutex
| DigitalOcean – Premium AMD (2 GB, 2 Cores) | UpCloud – Balanced (2 GB) | |
|---|---|---|
| Minimum Latency (ms) | 861.23 | 1,349.13 |
| Average Latency (ms) | 896.40 | 1,353.60 |
| Maximum Latency (ms) | 924.38 | 1,361.99 |
| 95th Percentile Latency (ms) | 926.33 | 1,352.03 |
MySQL
MySQL Read-only
| DigitalOcean – Premium AMD (2 GB, 2 Cores) | UpCloud – Balanced (2 GB) | |
|---|---|---|
| Transactions per second | 5,447.00 | 19,090.00 |
| Queries per second | 54,470.00 | 190,900.00 |
| Minimum Latency (ms) | 1.4 | 0.31 |
| Average Latency (ms) | 1.83 | 0.52 |
| Maximum Latency (ms) | 3.52 | 5.34 |
| 95th Percentile Latency (ms) | 2.26 | 0.64 |
MySQL Write-only
| DigitalOcean – Premium AMD (2 GB, 2 Cores) | UpCloud – Balanced (2 GB) | |
|---|---|---|
| Transactions per second | 3,769.00 | 3,974.00 |
| Queries per second | 37,690.00 | 39,740.00 |
| Minimum Latency (ms) | 1.41 | 0.87 |
| Average Latency (ms) | 2.65 | 2.51 |
| Maximum Latency (ms) | 21.31 | 38.67 |
| 95th Percentile Latency (ms) | 3.82 | 5 |
MySQL Read/Write
| DigitalOcean – Premium AMD (2 GB, 2 Cores) | UpCloud – Balanced (2 GB) | |
|---|---|---|
| Transactions per second | 2,009.00 | 2,830.00 |
| Queries per second | 20,090.00 | 28,300.00 |
| Minimum Latency (ms) | 3.1 | 1.29 |
| Average Latency (ms) | 4.98 | 3.53 |
| Maximum Latency (ms) | 15.84 | 56.72 |
| 95th Percentile Latency (ms) | 6.79 | 6.32 |
MySQL INSERT
| DigitalOcean – Premium AMD (2 GB, 2 Cores) | UpCloud – Balanced (2 GB) | |
|---|---|---|
| Transactions per second | 5,188.00 | 4,647.00 |
| Queries per second | 51,880.00 | 46,470.00 |
| Minimum Latency (ms) | 1.06 | 0.61 |
| Average Latency (ms) | 1.92 | 2.15 |
| Maximum Latency (ms) | 12.78 | 28.58 |
| 95th Percentile Latency (ms) | 3.02 | 4.41 |
MySQL Bulk INSERT
| DigitalOcean – Premium AMD (2 GB, 2 Cores) | UpCloud – Balanced (2 GB) | |
|---|---|---|
| Transactions per second | 1,375,842.00 | 2,249,592.00 |
| Queries per second | 13,758,420.00 | 22,495,920.00 |
| Minimum Latency (ms) | 0 | 0 |
| Average Latency (ms) | 0.01 | 0 |
| Maximum Latency (ms) | 448.37 | 207.34 |
| 95th Percentile Latency (ms) | 0 | 0 |
MySQL SELECT
| DigitalOcean – Premium AMD (2 GB, 2 Cores) | UpCloud – Balanced (2 GB) | |
|---|---|---|
| Transactions per second | 119,183.00 | 645,161.00 |
| Queries per second | 1,191,830.00 | 6,451,610.00 |
| Minimum Latency (ms) | 0.05 | 0.01 |
| Average Latency (ms) | 0.08 | 0.02 |
| Maximum Latency (ms) | 1.81 | 2.26 |
| 95th Percentile Latency (ms) | 0.11 | 0.02 |
MySQL SELECT (Random Points)
| DigitalOcean – Premium AMD (2 GB, 2 Cores) | UpCloud – Balanced (2 GB) | |
|---|---|---|
| Transactions per second | 7,445.00 | 8,546.00 |
| Queries per second | 74,450.00 | 85,460.00 |
| Minimum Latency (ms) | 0.43 | 0.13 |
| Average Latency (ms) | 1.34 | 1.17 |
| Maximum Latency (ms) | 8.47 | 172.57 |
| 95th Percentile Latency (ms) | 1.89 | 1.58 |
MySQL SELECT (Random Ranges)
| DigitalOcean – Premium AMD (2 GB, 2 Cores) | UpCloud – Balanced (2 GB) | |
|---|---|---|
| Transactions per second | 6,562.00 | 11,562.00 |
| Queries per second | 65,620.00 | 115,620.00 |
| Minimum Latency (ms) | 0.49 | 0.22 |
| Average Latency (ms) | 1.52 | 0.86 |
| Maximum Latency (ms) | 3.46 | 4.07 |
| 95th Percentile Latency (ms) | 2.03 | 1.27 |
MySQL UPDATE (Indexed)
| DigitalOcean – Premium AMD (2 GB, 2 Cores) | UpCloud – Balanced (2 GB) | |
|---|---|---|
| Transactions per second | 4,890.00 | 4,711.00 |
| Queries per second | 48,900.00 | 47,110.00 |
| Minimum Latency (ms) | 1.01 | 0.73 |
| Average Latency (ms) | 2.04 | 2.12 |
| Maximum Latency (ms) | 17.91 | 30.41 |
| 95th Percentile Latency (ms) | 3.13 | 3.96 |
MySQL UPDATE (Non-Indexed)
| DigitalOcean – Premium AMD (2 GB, 2 Cores) | UpCloud – Balanced (2 GB) | |
|---|---|---|
| Transactions per second | 5,023.00 | 5,393.00 |
| Queries per second | 50,230.00 | 53,930.00 |
| Minimum Latency (ms) | 1.12 | 0.48 |
| Average Latency (ms) | 1.99 | 1.85 |
| Maximum Latency (ms) | 28.99 | 39 |
| 95th Percentile Latency (ms) | 2.97 | 3.43 |
MySQL DELETE
| DigitalOcean – Premium AMD (2 GB, 2 Cores) | UpCloud – Balanced (2 GB) | |
|---|---|---|
| Transactions per second | 41,819.00 | 101,195.00 |
| Queries per second | 418,190.00 | 1,011,950.00 |
| Minimum Latency (ms) | 0.05 | 0.01 |
| Average Latency (ms) | 0.24 | 0.1 |
| Maximum Latency (ms) | 14.59 | 39.3 |
| 95th Percentile Latency (ms) | 1.61 | 0.17 |
Redis
| DigitalOcean – Premium AMD (2 GB, 2 Cores) | UpCloud – Balanced (2 GB) | |
|---|---|---|
| PING_INLINE per Second | 50,581.69 | 130,208.34 |
| PING_MBULK per Second | 50,100.20 | 130,208.34 |
| SET per Second | 49,751.24 | 130,890.05 |
| GET per Second | 49,925.11 | 129,198.97 |
| INCR per Second | 51,733.06 | 128,534.70 |
| LPUSH per Second | 52,521.01 | 128,040.97 |
| RPUSH per Second | 50,864.70 | 126,582.27 |
| LPOP per Second | 46,663.56 | 124,688.28 |
| RPOP per Second | 47,664.44 | 127,226.46 |
| SADD per Second | 50,813.01 | 129,198.97 |
| HSET per Second | 51,308.36 | 133,511.34 |
| SPOP per Second | 49,677.10 | 139,275.77 |
| ZADD per Second | 49,358.34 | 130,039.02 |
| ZPOPMIN per Second | 48,851.98 | 129,701.68 |
| LRANGE_100 (first 100 elements) per Second | 40,355.12 | 55,524.71 |
| LRANGE_300 (first 300 elements) per Second | 23,148.15 | 28,785.26 |
| LRANGE_500 (first 500 elements) per Second | 16,949.15 | 18,942.98 |
| LRANGE_600 (first 600 elements) per Second | 15,008.25 | 17,038.68 |
| MSET (10 keys) per Second | 52,576.24 | 108,225.10 |
Redis Average Latency (ms)
| DigitalOcean – Premium AMD (2 GB, 2 Cores) | UpCloud – Balanced (2 GB) | |
|---|---|---|
| PING_INLINE | 0.52 | 0.25 |
| PING_MBULK | 0.52 | 0.25 |
| SET | 0.53 | 0.26 |
| GET | 0.52 | 0.26 |
| INCR | 0.50 | 0.26 |
| LPUSH | 0.50 | 0.26 |
| RPUSH | 0.51 | 0.27 |
| LPOP | 0.56 | 0.27 |
| RPOP | 0.55 | 0.27 |
| SADD | 0.51 | 0.26 |
| HSET | 0.51 | 0.26 |
| SPOP | 0.52 | 0.24 |
| ZADD | 0.53 | 0.26 |
| ZPOPMIN | 0.54 | 0.26 |
| LRANGE_100 (first 100 elements) | 0.66 | 0.66 |
| LRANGE_300 (first 300 elements) | 1.15 | 1.27 |
| LRANGE_500 (first 500 elements) | 1.58 | 1.95 |
| LRANGE_600 (first 600 elements) | 1.87 | 2.16 |
| MSET (10 keys) | 0.53 | 0.34 |
Conclusion
From the friendly robots:
When comparing the DigitalOcean Premium AMD (2 GB, 2 Cores) instance and the UpCloud Balanced (2 GB) instance, the UpCloud instance demonstrates superior performance across a broad spectrum of benchmarks, particularly in CPU-intensive tasks, memory operations, and file I/O operations. The UpCloud instance outperforms the DigitalOcean instance in Redis benchmarks, including key operations and list ranges, suggesting higher throughput and lower latency. The UpCloud server's single core operates at a higher frequency, resulting in faster event processing and lower average latencies. However, the DigitalOcean instance exhibits better performance in CPU fairness and lower I/O latencies, which might be advantageous for applications with less CPU-intensive tasks. Considering these metrics, UpCloud's balanced instance is ideal for high-throughput applications, data processing, and databases, while the DigitalOcean Premium instance might be more suitable for scenarios requiring consistent file I/O performance and where CPU fairness is 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 DigitalOcean and UpCloud.
You can also support me directly by buying me a coffee.