Switching things up a bit for Spooktober (doot doot) by running some benchmarks on the CPU-centric plans. Unfortunately, Lightsail and UpCloud are lacking this sort of offering, so they are omitted this month.
It’s also worth noting that even though all of the plans are touting a dedicate CPU, it’s not nearly as cut and dry of a comparison as the shared plans are. Each provider has their own naming and definition around what is “dedicated CPU” and in terms of what they offer.
As you’ll see below, that the storage and RAM offerings vary greatly. The consistent metric is the CPU which I targeted plans that offered 2 cores.
Something else I had learned while doing this month’s post, is that DigitalOcean offers dedicated CPUs outside of their CPU-Optimized plan, if you opt for General Purpose droplet.
As per usual, I spun up 3 instances with each provider, running Ubuntu 20.04 LTS and averaged the results.
|Location||New York 1||Newark, NJ||New York (NJ)|
|Plan||CPU-Optimized||Dedicated CPU||Dedicated Cloud|
|RAM||4 GB||4 GB||8 GB|
|CPU||2 Cores||2 Cores||2 Cores|
|Storage||25 GB SSD||80 GB SSD||120 GB SSD|
|Transfer||4 TB||4 TB||10 TB|
|Managed Databases||Yes||On 2020 Roadmap||No|
As mentioned, the plans actually vary quite a bit. It’s kind of hard to cut through the noise since everybody uses their own marketing speak and have sliced up their plans in a variety of different ways.
If going on this data alone, Linode is the least expensive, with Vultr offering the most memory, storage and bandwidth.
Vultr also doesn’t offer automated backups the way they do with their shared plans, so you would have to roll your own solution.
|Cache Size (KB)||4096.00||512.00||16384.00|
|Events per Second||1106.16||1531.07||1048.47|
|Ops per Second||5094289.12||3975149.27||5817321.15|
|Ops per Second||5100399.83||3971784.60||5700781.33|
|Reads per Second||2003.89||5762.53||5053.47|
|Writes per Second||1335.92||3841.68||3368.98|
|Fsyncs per Second||4284.09||12298.75||10787.80|
|Transactions per Second||2420.67||2692.67||3001.67|
|Queries per Second||48413.33||53853.33||60033.33|
|LRANGE_100 (first 100 elements)||50068.06||58536.91||73253.70|
|LRANGE_300 (first 300 elements)||18699.89||21746.83||34034.45|
|LRANGE_500 (first 500 elements)||12414.00||14587.64||24051.02|
|LRANGE_600 (first 600 elements)||10017.71||11585.54||20027.79|
|MSET (10 keys)||66928.76||88184.31||109750.60|
Apache Benchmark (against
nginx on the servers)
|Requests per Second||213.61||243.27||183.66|
|Time per Request (ms) (mean)||2394.50||2066.90||3039.19|
|Transfer Rate (Kbyte/sec)||179.19||204.07||154.07|
Because this month’s comparison isn’t nearly as apples to apples as my comparison of the shared plans, I’m not feeling too comfortable (or confident) in saying one provider performed the very best.
Each had their strengths and weaknesses, and as always, you should make a decision on a provider based around you and your application’s needs and not on raw benchmarks alone.