Why not check out the latest comparison?
Yes, another month’s post with less providers.
For good reason though, as Ubuntu 20.04 LTS was recently released and I wanted to give it a whirl. Amazon is fairly notorious for being late to deliver new operating system releases, but the shocker was that UpCloud was also not offering up the latest Ubuntu when I sat down to run my benchmarks.
I just sort of assumed they would have had it available and that’s the big reason that this month’s post includes the Frankfurt, DE data centers seeing as all of the providers I had set out to include this month had a data center there.
Featuring the Frankfurt, DE data centers did end up posing a small problem, as I wasn’t able to run the speed tests against the usual Austin, TX based server as I usually do. Live and learn, next time I’ll be sure to configure things to use a European server instead.
The following benchmarks are the average of the data collected from benchmarking 3 separate instances for each provider. Each instance was running Ubuntu 20.04 LTS and resided in the Frankfurt, DE data center for the respective provider.
Overview
DigitalOcean | Linode | Vultr | |
---|---|---|---|
Plan | Standard (1 GB) | Nanode 1 GB | High Frequency Compute 32 GB |
Location | Frankfurt 1 | Frankfurt, DE | Frankfurt |
RAM | 1 GB | 1 GB | 1 GB |
CPU | 1 Core | 1 Core | 1 Core |
Storage | 25 GB SSD | 25 GB SSD | 32 GB NVMe |
Transfer | 1 TB | 1 TB | 1 TB |
Base Price | $5/month | $5/month | $6/month |
Backups | $1/month | $2/month | $1.20/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 | 2294.59 | 2133.32 | 3792.00 |
Cache Size (KB) | 4096.00 | 512.00 | 16384.00 |
BogoMips | 3059.67 | 2933.33 | 5056.33 |
CPU
DigitalOcean | Linode | Vultr | |
---|---|---|---|
Events per Second | 935.77 | 1269.37 | 1165.47 |
Minimum (ms) | 0.97 | 0.75 | 0.80 |
Average (ms) | 1.07 | 0.79 | 0.86 |
Maximum (ms) | 5.45 | 8.21 | 4.01 |
Memory (Read)
DigitalOcean | Linode | Vultr | |
---|---|---|---|
Ops per Second | 4312536.00 | 4201598.07 | 5414270.99 |
Minimum (ms) | 0.00 | 0.00 | 0.00 |
Average (ms) | 0.00 | 0.00 | 0.00 |
Maximum (ms) | 2.28 | 0.53 | 0.50 |
Memory (Write)
DigitalOcean | Linode | Vultr | |
---|---|---|---|
Ops per Second | 4266742.21 | 4219338.84 | 5392163.92 |
Minimum (ms) | 0.00 | 0.00 | 0.00 |
Average (ms) | 0.00 | 0.00 | 0.00 |
Maximum (ms) | 0.89 | 0.54 | 0.51 |
File I/O
DigitalOcean | Linode | Vultr | |
---|---|---|---|
Reads per Second | 1522.00 | 1748.62 | 3856.82 |
Writes per Second | 1014.66 | 1165.70 | 2571.19 |
Fsyncs per Second | 3251.15 | 3734.16 | 8236.22 |
Minimum (ms) | 0.00 | 0.00 | 0.00 |
Average (ms) | 0.17 | 0.15 | 0.07 |
Maximum (ms) | 29.47 | 51.25 | 5.43 |
MySQL
DigitalOcean | Linode | Vultr | |
---|---|---|---|
Transactions per Second | 1433.67 | 1949.00 | 2757.33 |
Queries per Second | 28673.33 | 38980.00 | 55146.67 |
Minimum (ms) | 4.11 | 3.67 | 2.26 |
Average (ms) | 7.07 | 5.13 | 3.66 |
Maximum (ms) | 28.11 | 36.84 | 15.19 |
Redis
DigitalOcean | Linode | Vultr | |
---|---|---|---|
PING_INLINE | 50707.95 | 65721.46 | 53486.28 |
PING_BULK | 50441.79 | 62576.17 | 51899.06 |
SET | 50379.48 | 67256.76 | 50753.11 |
GET | 49600.63 | 64822.90 | 49877.53 |
INCR | 51806.46 | 66188.14 | 51708.15 |
LPUSH | 52854.38 | 64550.01 | 51438.70 |
RPUSH | 51072.67 | 64700.99 | 53499.67 |
LPOP | 50507.79 | 65405.81 | 51783.05 |
RPOP | 52443.73 | 68805.52 | 52593.56 |
SADD | 50925.49 | 68219.01 | 52050.10 |
HSET | 51399.44 | 65524.97 | 52833.64 |
SPOP | 51898.90 | 66402.78 | 50847.65 |
LRANGE_100 (first 100 elements) | 31900.35 | 29537.41 | 34464.79 |
LRANGE_300 (first 300 elements) | 12849.41 | 11048.22 | 14899.23 |
LRANGE_500 (first 500 elements) | 9793.23 | 8105.80 | 10310.35 |
LRANGE_600 (first 600 elements) | 7746.84 | 6462.80 | 8799.95 |
MSET (10 keys) | 43847.93 | 39283.11 | 49030.63 |
Apache Benchmark (against nginx
on the servers)
DigitalOcean | Linode | Vultr | |
---|---|---|---|
Requests per Second | 166.82 | 221.44 | 258.72 |
Time per Request (ms) (mean) | 3223.72 | 2425.95 | 1936.02 |
Transfer Rate (Kbyte/sec) | 140.10 | 185.98 | 217.28 |
Conclusion
Similar to previous months, Vultr’s slightly more expensive High Frequency plan performed quite well. The exception being on the CPU benchmark, which Linode was able to capture even though Vultr’s processor speed out classed them.
Also similar to previous months, Vultr’s Redis performance on lower-end systems ended up trailing behind for most operations. Usually UpCloud takes that particular category, but since they don’t offer Ubuntu 20.04 LTS and were omitted, Linode was able to shine.
The big take away for me this month is that being behind on the latest version of operating systems isn’t unique to Amazon as I once thought. While I’m not one that’s quick to upgrade to the latest version on the initial release, it’s still nice to know which providers are on top of things for when I want to spin up brand new servers.
- 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!