Why not check out the latest comparison?
It’s been nearly 2 years since my original $10 Showdown post. In that time both Linode and DigitalOcean have launched new datacenters and made other improvements to their infrastructures. One of the most notable improvements is Linode’s migration from XEN to KVM. Let’s see how they stack up at the ten dollar price point!
Linode | DigitalOcean | |
---|---|---|
Memory | 1GB | 1GB |
Processor | 1 core | 1 core |
SSD Storage | 24GB | 30GB |
Transfer | 2TB | 2TB |
Bandwidth Overage | $0.02/GB | $0.02/GB |
Network In | 40Gbit | 1Gbit |
Network Out | 125Mbit | 1Gbit |
Price | $10/month | $10/month |
$0.015/hour | $0.015/hour |
DigitalOcean is still winning in the storage and network out departments. It seems Linode has adjusted their bandwidth overage pricing and is now more in line with DigitalOcean’s pricing. I have included both hourly and monthly pricing as both companies offer it now.
Preparation
For this comparison, I spun up brand new ten dollars instances on Linode (Newark, NJ) and DigitalOcean (New York 2) running Ubuntu 14.04 LTS x64. I then ran (and timed) an update and upgrade and installed some software that I used for the benchmarking below.
sudo apt-get update
Linode | DigitalOcean | |
---|---|---|
real | 0m9.843s | 0m10.622s |
user | 0m8.877s | 0m9.974s |
sys | 0m0.787s | 0m0.421s |
Not much of a difference here. What’s interesting is that Linode deploys with Ubuntu 14.04.1 LTS whereas DigitalOcean ships with 14.04.3 LTS. I suppose for fetching the package list, there’s not much difference between minor versions. Where it gets interesting is when I upgraded the boxes.
sudo apt-get upgrade -y
Linode | DigitalOcean | |
---|---|---|
real | 0m47.545s | 0m23.516s |
user | 0m18.993s | 0m13.179s |
sys | 0m7.397s | 0m6.992s |
DigitalOcean took nearly half as long to upgrade. Obviously this data could be thrown out considering Linode’s older release of Ubuntu required more packages to be upgraded.
sudo apt-get install sysbench mysql-server -y
I timed this one but since MySQL kept prompting to set the root password, I didn’t see the need in including the stats. They both took around 19 seconds but the numbers were skewed based on my own reaction time.
After all of that, I rebooted both systems and got down to the business of running benchmarks!
CPU
sysbench --test=cpu run
Linode | DigitalOcean | |
---|---|---|
Number of Events | 10,000 | 10,000 |
Execution Time | 12.4834s | 17.0185s |
Min. Request | 1.24ms | 1.38ms |
Avg. Request | 1.25ms | 1.70ms |
Max. Request | 1.67ms | 3.44ms |
Linode’s CPU out performs DigitalOcean’s in every way.
Memory (read)
sysbench --test=memory run
Linode | DigitalOcean | |
---|---|---|
Number of Events | 104,857,600 | 104,857,600 |
Execution Time | 46.8098s | 102.3185s |
Min. Request | 0.00ms | 0.00ms |
Avg. Request | 0.00ms | 0.00ms |
Max. Request | 0.38ms | 0.67ms |
MB/sec | 2187.58 MB/sec | 1000.80 MB/sec |
Reading from memory was twice as fast on Linode as it was on DigitalOcean.
Memory (write)
sysbench --test=memory --memory-oper=write run
Linode | DigitalOcean | |
---|---|---|
Number of Events | 104,857,600 | 104,857,600 |
Execution Time | 46.8006s | 125.8300s |
Min. Request | 0.00ms | 0.00ms |
Avg. Request | 0.00ms | 0.00ms |
Max. Request | 0.29ms | 2.44ms |
MB/sec | 2188.01 MB/sec | 813.80 MB/sec |
Writing to memory had similar results. DigitalOcean’s writes were slower than their reads while Linode actually was close to the same.
File I/O
sysbench --test=fileio prepare
Linode | DigitalOcean | |
---|---|---|
real | 0m3.294s | 0m12.723s |
user | 0m0.020s | 0m0.014s |
sys | 0m1.973s | 0m8.192s |
sysbench --test=fileio --file-test-mode=rndrw run
Linode | DigitalOcean | |
---|---|---|
Number of Events | 10,000 | 10,000 |
Execution Time | 1.4986s | 2.5595s |
Min. Request | 0.00ms | 0.00ms |
Avg. Request | 0.08ms | 0.13ms |
Max. Request | 7.34ms | 11.83ms |
Requests/sec | 6672.84 Requests/sec | 3906.99 Requests/sec |
sysbench --test=fileio cleanup
Linode | DigitalOcean | |
---|---|---|
real | 0m0.113s | 0m0.130s |
user | 0m0.000s | 0m0.000s |
sys | 0m0.110s | 0m0.130s |
Linode was able to perform more request per second in a shorter amount of time than DigitalOcean. Clean up was about the same, but preparing the files was also faster on Linode.
OLTP with MySQL
mysql -uroot -e "CREATE DATABASE sbtest;"
Linode | DigitalOcean | |
---|---|---|
real | 0m0.009s | 0m0.042s |
user | 0m0.003s | 0m0.013s |
sys | 0m0.000s | 0m0.000s |
sysbench --test=oltp --oltp-table-size=1000000 --mysql-user=root prepare
Linode | DigitalOcean | |
---|---|---|
real | 0m8.140s | 0m18.305s |
user | 0m0.193s | 0m0.316s |
sys | 0m0.023s | 0m0.030s |
sysbench --test=oltp --oltp-table-size=1000000 --mysql-user=root run
Linode | DigitalOcean | |
---|---|---|
Number of Events | 10,000 | 10,000 |
Execution Time | 26.5913s | 51.9672s |
Min. Request | 1.83ms | 2.52ms |
Avg. Request | 2.65ms | 5.19ms |
Max. Request | 24.85ms | 68.70ms |
Read/write Requests/sec | 7145.20 per sec. | 3656.15 per sec. |
sysbench --test=oltp --oltp-table-size=1000000 --mysql-user=root cleanup
Linode | DigitalOcean | |
---|---|---|
real | 0m0.132s | 0m0.225s |
user | 0m0.003s | 0m0.008s |
sys | 0m0.003s | 0m0.011s |
Similar to the file I/O, preparing data took longer on DigitalOcean but this time the cleanup took nearly twice as long as Linode. Linode wins out for database requests.
Backups
DigitalOcean has since added a backup option for their droplets for only 20% the price of the droplet (so $2 for the $10 droplet size). Backups are performed weekly and you have the last 4 weeks of backups available. Linode has a similar offering but is priced a bit higher at $2.50.
Conclusion
Congruent with my previous comparisons, Linode’s latest KVM offering out performs DigitalOcean every step of the way at the ten dollar price point. Even still, based on the number of referrals I have with each company, it seems that most people that read my blog end up going with DigitalOcean.
Why would they do that if Linode performs better? Perhaps it’s because DigitalOcean has a $5 a month tier which is sufficient enough for most people’s needs. Or could it be because DigitalOcean offers a $10 credit for new sign ups?
Amendment: Dave Roesch, Director of Marketing for Linode reached out to let me know that Linode does have a promo code (LINODE10) that gives new signups a $10 credit on their account. It’s also worth pointing out that Linode staff has always been very interactive with me on Twitter. I like that kind of stuff.
That being said, if you found this article helpful and are ready to sign up, please sign up using my referral link for Linode and/or DigitalOcean. Remember you can get a $10 credit with both DigitalOcean (automatically) AND Linode (using promo code LINODE 10)!
Comment below or tweet at me if you end up signing up!
- 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!