Why not check out the latest comparison?
Yes, this month’s post actually has less providers.
There’s a good reason though.
This month I decided to switch it up and compare some of the “CPU”-centric instances that some of the providers are touting these days. Because Lightsail and UpCloud don’t offer plans like that (not that I could find at least), I have omitted them from this month’s comparison.
The other change to come out of this, specifically because of not including Lightsail, is that I was able to spin up instances on Ubuntu 19.10 instead of the dated 18.04 LTS.
So yeah, this month’s comparison is of plans that are CPU focused, at least in terms of what the providers are marketing. There’s no standard naming conventions, so each provider has their own marketing speak. To keep things consistent, I opted for the 4 GB of RAM option from each.
As per usual, I spun up three instances from each provider, each on Ubuntu 19.10 and ran my benchmarks and averaged the results. I omitted the speed test this month because I was being throttled or something, and the performance overall was in the toilet. Streaming was pretty heavy this weekend, and probably played a factor.
Overview
DigitalOcean | Linode | Vultr | |
---|---|---|---|
Plan | CPU Optimized (4 GB) | Dedicated 4GB | 128 GB NVMe |
Location | New York 1 | Newark, NJ | New Jersey |
RAM | 4 GB | 4 GB | 4 GB |
CPU | 2 Cores | 2 Cores | 2 Cores |
Storage | 25 GB SSD | 80 GB SSD | 128 GB NVMe |
Transfer | 4 TB | 4 TB | 3 TB |
Base Price | $40/month | $30/month | $24/month |
Backups | $8/month | $5/month | $4.80/month |
Transfer Overage | $0.01/GB | $0.01/GB | $0.01/GB |
Load Balancer | $10/month | $10/month | $10/month |
Block Storage | $0.10/GB | $0.10/GB | $0.10/GB |
Object Storage | Yes | Yes | Yes |
Managed Databases | Yes | On 2020 Roadmap | No |
2FA/MFA | Yes | Yes | Yes |
One-click Apps | Yes | Yes | Yes |
Custom Images | Yes | Yes | Yes |
CPU Info
DigitalOcean | Linode | Vultr | |
---|---|---|---|
CPU MHz | 2693.67 | 2199.77 | 3792.00 |
Cache Size (KB) | 4096.00 | 512.00 | 16384.00 |
BogoMips | 3591.67 | 2933.00 | 5056.67 |
CPU
DigitalOcean | Linode | Vultr | |
---|---|---|---|
Events per Second | 1204.47 | 1325.62 | 1259.75 |
Minimum (ms) | 0.80 | 0.73 | 0.74 |
Average (ms) | 0.83 | 0.75 | 0.79 |
Maximum (ms) | 2.63 | 2.02 | 1.29 |
Memory (Read)
DigitalOcean | Linode | Vultr | |
---|---|---|---|
Ops per Second | 5120861.58 | 4294414.37 | 5682700.18 |
Minimum (ms) | 0.00 | 0.00 | 0.00 |
Average (ms) | 0.00 | 0.00 | 0.00 |
Maximum (ms) | 0.68 | 0.56 | 0.38 |
Memory (Write)
DigitalOcean | Linode | Vultr | |
---|---|---|---|
Ops per Second | 5124754.65 | 4311392.30 | 5716602.09 |
Minimum (ms) | 0.00 | 0.00 | 0.00 |
Average (ms) | 0.00 | 0.00 | 0.00 |
Maximum (ms) | 0.62 | 0.64 | 0.37 |
File I/O
DigitalOcean | Linode | Vultr | |
---|---|---|---|
Reads per Second | 1092.74 | 2862.97 | 8206.56 |
Writes per Second | 728.50 | 1908.65 | 5471.04 |
Fsyncs per Second | 2338.46 | 6110.40 | 17514.49 |
Minimum (ms) | 0.00 | 0.00 | 0.00 |
Average (ms) | 0.25 | 0.99 | 0.03 |
Maximum (ms) | 20.33 | 33.09 | 5.21 |
MySQL
DigitalOcean | Linode | Vultr | |
---|---|---|---|
Transactions per Second | 1170.00 | 1416.67 | 3478.33 |
Queries per Second | 23400.00 | 28333.33 | 69566.67 |
Minimum (ms) | 4.74 | 26.66 | 1.89 |
Average (ms) | 8.78 | 52.41 | 2.91 |
Maximum (ms) | 49.61 | 151.68 | 13.89 |
Redis
DigitalOcean | Linode | Vultr | |
---|---|---|---|
PING_INLINE | 88734.55 | 96336.04 | 102843.38 |
PING_BULK | 88269.95 | 94523.98 | 105547.54 |
SET | 90263.87 | 95261.42 | 108651.47 |
GET | 89210.80 | 93202.26 | 110408.13 |
INCR | 90228.02 | 94920.47 | 112772.56 |
LPUSH | 91157.70 | 97269.89 | 104950.91 |
RPUSH | 90915.79 | 96965.13 | 109729.59 |
LPOP | 90666.35 | 97735.48 | 109673.18 |
RPOP | 90091.01 | 95561.96 | 108497.33 |
SADD | 89686.73 | 94727.56 | 107124.63 |
HSET | 92110.21 | 98302.02 | 111445.03 |
SPOP | 88785.73 | 94315.66 | 111642.21 |
LRANGE_100 (first 100 elements) | 45482.70 | 45634.38 | 68269.90 |
LRANGE_300 (first 300 elements) | 16074.35 | 15303.11 | 28660.77 |
LRANGE_500 (first 500 elements) | 11375.02 | 10558.25 | 20335.52 |
LRANGE_600 (first 600 elements) | 8701.73 | 8078.14 | 15223.83 |
MSET (10 keys) | 66612.09 | 70183.15 | 94006.20 |
Apache Benchmark (against nginx
on the servers)
DigitalOcean | Linode | Vultr | |
---|---|---|---|
Requests per Second | 196.02 | 206.31 | 267.02 |
Time per Request (ms) (mean) | 2752.90 | 2533.36 | 1879.66 |
Transfer Rate (Kbyte/sec) | 164.44 | 173.07 | 223.99 |
Conclusion
What really stood out this month is how varied the plans were in terms of SSD and price. Usually Vultr is the highest priced provider when I include their NVMe plans, but this month at the 4 GB instance size, they came in at nearly half the price of DigitalOcean and they offered up the most storage.
The overall better specs definitely shined through as well, considering Vultr nearly swept all of the categories in terms of performance.
- DigitalOcean, new accounts receive $100 in credit (good for 60 days).
- Linode, new accounts receive $100 in credit (good for 60 days).
- UpCloud, new accounts receive $25 in credit.
- Vultr, new accounts receive $100 in credit (good for 30 days).
Or if you’re feeling really generous, show off your favorite tech stack by picking up a shirt!