Switching it up this month. DigitalOcean recently released flexible plans at 15$
per droplet and I thought it would be fun to dig a bit deeper into them instead
of just doing a side by side comparison of the different providers.
These droplets come in three varieties: 1 GB of RAM with 3 cores, 2 GB of RAM
with 2 cores and 3 GB of RAM with just 1 core. All three come with 60 GB of
storage and 3 TB of transfer.
As per usual, I spun up 3 of each size and gave them a whirl. All droplets were
in the New York 1 data center and were all running Ubuntu 16.04 LTS x64.
Normally I just show the averaged results but I had noticed some pretty
interesting divergences I thought it would be nice to show the metrics for each
instance on each plan.
1 GB of RAM, 3 vCPU cores
Droplet 1 | Droplet 2 | Droplet 3 | |
---|---|---|---|
Location | New York 1 | New York 1 | New York 1 |
RAM | 1 GB | 1 GB | 1 GB |
CPU | 3 Cores | 3 Cores | 3 Cores |
SSD | 60 GB | 60 GB | 60 GB |
Transfer | 3 TB | 3TB | 3 TB |
CPU Model | Intel(R) Xeon(R) CPU E5-2650L v3 @ 1.80GHz | Intel(R) Xeon(R) CPU E5-2650L v3 @ 1.80GHz | Intel(R) Xeon(R) CPU E5-2650L v3 @ 1.80GHz |
CPU MHz | 1799.997 | 1799.998 | 1797.917 |
CPU BogoMips | 3599.99 | 3599.99 | 3595.83 |
CPU (time taken) (seconds) | 14.9508 | 14.9055 | 42.5499 |
Memory (Read) (MB/sec) | 1853.11 | 1871.11 | 540.89 |
Memory (Write) (MB/sec) | 1850.04 | 1943.42 | 582.12 |
File I/O (MB/sec) | 99.257 | 88.977 | 21.797 |
MySQL (Read/write) (req/sec) | 5380.70 | 5181.59 | 1168.29 |
ab (req/sec) (mean) | 1278.98 | 1272.78 | 738.03 |
ab (transfer rate) (Kbytes/sec) | 14445.89 | 14173.45 | 7403.84 |
All three droplets had the same CPU Model, there was a slight variance in the
reported clock rates. I assume a lot of that has to do with the servers being
virtualized and all that. What is interested though is that the instance that
reported the slowest CPU performed exceptionally worse than the other two.
2 GB of RAM, 2 vCPU cores
Droplet 1 | Droplet 2 | Droplet 3 | |||
---|---|---|---|---|---|
Location | New York 1 | New York 1 | New York 1 | ||
RAM | 2 GB | 2 GB | 2 GB | ||
CPU | 2 Cores | 2 Cores | 2 Cores | ||
SSD | 60 GB | 60 GB | 60 GB | ||
Transfer | 3 TB | 3TB | 3 TB | ||
CPU Model | Intel(R) Xeon(R) CPU E5-2650L v3 @ 1.80GHz | Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz | Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz | ||
CPU MHz | 1799.998 | 2199.998 | 2200.032 | ||
CPU BogoMips | 3599.99 | 4399.99 | 4400.06 | ||
CPU (time taken) (seconds) | 16.8264 | 11.9887 | 12.0212 | ||
Memory (Read) (MB/sec) | 1556.33 | 2090.59 | 2190.45 | ||
Memory (Write) (MB/sec) | 1617.56 | 2130.72 | 2213.51 | ||
File I/O (MB/sec) | 43.591 | 87.279 | 78.372 | ||
MySQL (Read/write) (req/sec) | 1663.57 | 7626.88 | 7100.76 | ||
ab (req/sec) (mean) | 1294.67 | 3416.73 | 1286.48 | ||
ab (transfer rate) (Kbytes/sec) | 14503.99 | 38808.73 | 14467.76 |
Of the three instances I spun up, one had the same CPU as the 1 GB variety and
the other two received faster CPUs. Not surprising, the droplet with the slower
CPU performed the worst.
3 GB of RAM, 1 vCPU core
Droplet 1 | Droplet 2 | Droplet 3 | |
---|---|---|---|
Location | New York 1 | New York 1 | New York 1 |
RAM | 3 GB | 3 GB | 3 GB |
CPU | 1 Core | 1 Core | 1 Core |
SSD | 60 GB | 60 GB | 60 GB |
Transfer | 3 TB | 3TB | 3 TB |
CPU Model | Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz | Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz | Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz |
CPU MHz | 2199.998 | 2199.998 | 2199.998 |
CPU BogoMips | 4399.99 | 4399.99 | 4399.99 |
CPU (time taken) (seconds) | 15.4133 | 13.3255 | 20.8646 |
Memory (Read) (MB/sec) | 1522.34 | 1963.28 | 1166.86 |
Memory (Write) (MB/sec) | 1535.42 | 1999.21 | 1192.88 |
File I/O (MB/sec) | 97.955 | 97.832 | 73.861 |
MySQL (Read/write) (req/sec) | 3788.11 | 4321.55 | 2140.37 |
ab (req/sec) (mean) | 1149.32 | 1299.26 | 1937.64 |
ab (transfer rate) (Kbytes/sec) | 12912.26 | 14633.08 | 19147.69 |
Got lucky on this one, all three droplets received the same CPU model and clock
rate. Even with the exact same CPUs, one instance performed wildly slower than
the others.
DigitalOcean vs. DigitalOcean vs. DigitalOcean
Now for a side by side comparison of each of the flexible plans:
1 GB + 3 vCPU | 2 GB + 2 vCPU | 3 GB + 1 vCPU | |
---|---|---|---|
Location | New York 1 | New York 1 | New York 1 |
RAM | 1 GB | 2 GB | 3 GB |
CPU | 3 Cores | 2 Cores | 1 Core |
SSD | 60 GB | 60 GB | 60 GB |
Transfer | 3 TB | 3TB | 3 TB |
CPU MHz | 1799.304 | 2066.676 | 2199.998 |
CPU BogoMips | 3598.60 | 4133.35 | 4399.99 |
CPU (time taken) (seconds) | 24.1354 | 13.6121 | 16.53447 |
Memory (Read) (MB/sec) | 1421.70 | 1945.79 | 1550.83 |
Memory (Write) (MB/sec) | 1458.53 | 1987.26 | 1575.84 |
File I/O (MB/sec) | 70.010 | 69.747 | 89.883 |
MySQL (Read/write) (req/sec) | 3910.19 | 5463.74 | 3416.68 |
ab (req/sec) (mean) | 1096.60 | 1999.29 | 1462.07 |
ab (transfer rate) (Kbytes/sec) | 12007.73 | 22593.49 | 15564.34 |
Not too shocked here, the more well rounded plan ended up performing better in
nearly every category. Obviously YMMV and you should pick a plan based on your
needs.
Based on mixed lot of CPUs and the fact that I ran into instances that appeared
to be duds compared to the others, I would highly recommend spinning up more
than one server and running your own benchmarks to make sure you’re getting the
best possible server. This goes for all VPS providers, not just DigitalOcean!
As always, if you found this post helpful and are thinking about pulling the
trigger with DigitalOcean, pretty pretty please use my referral code.
Also, please comment if you liked the deeper comparison of a single VPS provider
or if you think I should stick to just comparing across providers!