Dedicated CPU instances on the cloud

The cloud is notoriously expensive compared to the comparative on-prem hardware available in the market1. Of course, the cloud is not only about cost, but also about ease of use and available features like managed databases and security services. Yet, sometimes all you need is a simple, powerful Linux machine. Luckily, there is a large list of options outside of the big three cloud provides that compete mostly on pricing (although some of them have a respectable services catalog).

In this post I will explore the available dedicated CPU instances in several cloud instances. The test will run Yet Another Bench Script on a clean machine with Ubuntu 22.04 LTS. I’m not touching any configuration on the machine and hope the image doesn’t contain any shenanigans. Sadly, I’ve only tested the low-end instances while what was more interesting for me was the most powerful one available. I did this because most cloud provides require manual unlocking of more powerful machines and I didn’t want to go through that process for each provider, maybe in the future. I hope to update this post anyway once in a while with more providers.

Provider Machine Type CPU Vendor CPUs Count RAM Price
Hetzner Dedicated vCPU Intel 2 8GB €21.85
Hetzner Dedicated vCPU AMD 2 8GB €21.85
DigitalOcean General Purpose Intel 2 8GB $60.00
Linode Dedicated CPU AMD 2 4GB $36.00
Vultr Dedicated CPU AMD 2 8GB $60.00
Scaleway Workload Optimized AMD 2 4GB €40.00

Graphs

YABS have two benchmarks we are interested at: CPU and IO performance. I’m ignoring the internet benchmark because we mostly care about computation here.

CPU

First, let’s look at the CPU benchmark, which in our case is Geekbench 6. It’s important to remember that real world usage might vary but the benchmark can give us rough estimates. So without further ado, this is the graph:

The results are quite surpring. Scaleway won in the single-threaded test but lost to Vultr in the multi-threaded test. There’s also seem to be a huge gap between the worst performer and the best performers, more than 100% different between the best and worst in multi-threaded tests. But good performance is not enough, was it worth it? We can look at the points per dollar2 graph below:

Now Vultr instance is only doing okay at the fourth place while both Hetzner AMD and Intel instances are the winners. Interesting to note, that while in single-threaded performance, the Intel and AMD variants of Hetzner are kinda close, in the multi-threaded benchmark the AMD variant got a lot faster.

Read

Disk IO is also an important factor so let’s start with reads:

Vultr again is kinda good, a bit faster than the Intel variant of Hetzner. But the AMD variant of Hetzner is leaving dust for everyone else. While in small chunks it lost to Vultr, with 64k chunks it’s already faster than anyone else, at any size. Unlike other instances which get blocked by IOPS with 64k chunks, Hetzner AMD is still able to double it’s throughput with 512k chunks. Of course with the per dollar graph we won’t be surprised:

Hetzner is the cheapest but this time it’s also the fastest so the graph leaves no question if you care about Disk IO performance.

Write

While reading is very important, and the more common use case, there are some write-heavy applications, which are harder to horizontally scale, so disk write performance can be vital. Again, the winner is standing out of the crowd:

Hetzner again, is leaving dust for all the rest. And again, the performance per dollar will only make it more visible:

Table Results

Here are the results in a table format for whoever prefer to look at it that way:

Instance Single Threaded (Absolute) Multi Threaded (Absolute)
DigitalOcean 925 1296
Hetzner Intel 1121 1319
Hetzner AMD 1503 2034
Vultr 1654 3013
Linode 816 1020
Scaleway 1763 2190
Instance read 4k read 64k read 512k read 1m
DigitalOcean 144.30 414.35 633.05 685.89
Hetzner Intel 205.93 1210 1310 1350
Hetzner AMD 233.43 1900 3990 3910
Vultr 473.84 1610 1640 1850
Linode 74.26 586.71 656.66 701.54
Scaleway 20.52 332.11 396.52 391.58
Instance write 4k write 64k write 512k write 1m
DigitalOcean 144.68 416.53 666.69 731.57
Hetzner Intel 206.48 1210 1380 1440
Hetzner AMD 234.05 1910 4210 4170
Vultr 475.09 1620 1720 1970
Linode 74.45 589.80 691.55 748.26
Scaleway 20.54 333.86 417.59 417.66

Personal Observations

Some of the results are expected but there were some interesting results. A few notes I found surprising:

Updates

2023-07-26 - Added Scaleway workload optimized


  1. in-house expertise for on-prem solutions of course will cost money so it’s not that simple to compare. ↩︎

  2. Euro was converted to dollars on the 18th of June ↩︎