I moved my VPS to Digital Ocean about a month ago. Their offer was really good: 512MB RAM, 1 CPU Core, 20GB SSD Disk and 1TB Transfer for $5 a month, so I needed to try it. What really puzzled me was the 20GB SSD disk. I’ve used provisioned IOPS on Amazon EBS before, and although it’s extremely powerful it’s not cheap ($0.10 per provisioned IOPS-month, so for 1000 IOPS-month it’s $100 a month, plus the price per GB for storage). My point is, if you need extreme IO efficiency and the cost is not a problem, you won’t find anything as good as Amazon EBS with provisioned IOPS. Read on for a simple benchmark comparing 3 different cloud providers under $20/month.
The compared instances have these specs:
Digital Ocean: 512 RAM, 1 CPU Core, 20GB SSD Disk, 1TB Transfer, $5/month.
Linode: 1GB RAM, 8 CPU (1x priority), 24GB Storage, 2TB Transfer, $20/month.
Amazon EC2: 615MB RAM, 1 vCPU, Low Network Performance, $20/month.
I used this quick script to test the instances: http://www.slashgeek.net/2012/06/02/how-to-do-a-quick-benchmark-for-your-linux-server/
Here are the results:
CPU model : QEMU Virtual CPU version 1.2.0 Number of cores : 1 CPU frequency : 2299.998 MHz Total amount of ram : 491 MB Total amount of swap : 0 MB System uptime : 2 days, 15:04, Download speed : (32.5MB/s) I/O speed : 305MB/s
CPU model : Intel(R) Xeon(R) CPU E5507 @ 2.27GHz Number of cores : 1 CPU frequency : 2266.746 MHz Total amount of ram : 3860 MB Total amount of swap : 0 MB System uptime : 236 days, 22:07, Download speed : (49.7MB/s) I/O speed : 43.8MB/s
CPU model : Intel(R) Xeon(R) CPU L5520 @ 2.27GHz Number of cores : 4 CPU frequency : 2266.746 MHz Total amount of ram : 494 MB Total amount of swap : 511 MB System uptime : 357 days, 17:58, Download speed : (33.8MB/s) I/O speed : 102MB/s
305MB/s vs 43MB/s vs 102MB/s. As you can see Digital Ocean’s SSD speed is 3x faster than Linode and 6x faster than EC2 (non provisioned IOPS). For small to medium servers Digital Ocean is a no brainer. OTOH, for big deployments, Amazon’s provisioned IOPS has no contender.