Why not check out the latest comparison?
Every time I think that I’m done with this topic for a while, someone (usually Linode) drops something new on us. The latest from Linode is the addition of a 10$ a month plan which nearly puts it in line with DigitalOcean in regard to low tier pricing. Because of this change, I felt it was probably worth revisiting my comparisons as all the previous articles were comparing the hosting companies at the 20$ price point which was Linode’s smallest plan all of these years. To get started, let’s take a look at the vanity metrics of what you get for your money:
DigitalOcean | Linode | |
---|---|---|
Price | $10/month | $10/month |
RAM | 1GB | 1GB |
CPU | 1 core | 1 core |
SSD Storage | 30GB | 24GB |
Included Bandwidth | 2TB | 2TB |
Bandwidth Overage | $0.02/GB | $0.10/GB (billed at $10/month in 100GB increments) |
Network In | 1Gbit | 40Gbit |
Network Out | 1Gbit | 125Mbit |
As you can see, DigitalOcean wins out on storage capacity and bandwidth overage
charges while Linode excels in the networking department while everything else
is exactly the same. Now let’s take a look at the performance. I went ahead and
spun up brand new instances on each platform (running Ubuntu 14.04 LTS 64-bit),
got the operating system up to date and then installed sysbench
and
mysql-server
:
sudo apt-get update && apt-get upgrade
sudo apt-get install sysbench mysql-server
Although not an officially tracked metric, running the aforementioned commands appeared to run significantly faster on Linode than on DigitalOcean. Additionally, the Linode instance was configured with a mere 128MB swap which was subsequently disabled to be more in line with DigitalOcean’s lack of swap via their setup interface:
swapoff -a
CPU
sysbench --test=cpu run
DigitalOcean | Linode | |
---|---|---|
Number of Events | 10000 | 10000 |
Execution Time | 19.5259s | 11.9861s |
Min. Request | 1.30ms | 1.16ms |
Avg. Request | 1.95ms | 1.20ms |
Max. Request | 103.26ms | 1.61ms |
Memory (read)
sysbench --test=memory run
DigitalOcean | Linode | |
---|---|---|
Number of Events | 104857600 | 104857600 |
Execution Time | 392.8576s | 437.5441s |
Min. Request | 0.00ms | 0.00ms |
Avg. Request | 0.00ms | 0.00ms |
Max. Request | 104.52ms | 3.37ms |
MB/sec | 260.65 | 234.03 |
Memory (write)
sysbench --test=memory --memory-oper=write run
DigitalOcean | Linode | |
---|---|---|
Number of Events | 104857600 | 104857600 |
Execution Time | 371.8564s | 437.3620s |
Min. Request | 0.00ms | 0.00ms |
Avg. Request | 0.00ms | 0.00ms |
Max. Request | 100.65ms | 0.67ms |
MB/sec | 275.38 | 234.13 |
File I/O
sysbench --test=fileio --file-total-size=4G prepare
sysbench --test=fileio --file-total-size=4G --file-test-mode=rndrw run
sysbench --test=fileio --file-total-size=4G cleanup
It’s worth noting that the prepare
command ran notably faster on Linode. In
fact, the run
was completed on the Linode instance before the prepare
was
done on the DigitalOcean droplet.
DigitalOcean | Linode | |
---|---|---|
Number of Events | 10000 | 10000 |
Execution Time | 5.7764s | 1.9483s |
Min. Request | 0.01ms | 0.01ms |
Avg. Request | 0.13ms | 0.15ms |
Max. Request | 10.36ms | 6.14ms |
Requests/sec | 1731.18 | 5132.57 |
MySQL
sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=test --mysql-user=root --mysql-password=password prepare
sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=test --mysql-user=root --mysql-password=password run
sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=test --mysql-user=root --mysql-password=password cleanup
As with the prior test, Linode out performed during the prepare
. Please note
that I also had to create the test
database before these commands would run.
DigitalOcean | Linode | |
---|---|---|
Number of Events | 10000 | 10000 |
Execution Time | 73.2422s | 29.2023s |
Min. Request | 2.82ms | 2.31ms |
Avg. Request | 7.31ms | 2.91ms |
Max. Request | 97.01ms | 30.70ms |
Read/write Requests/sec | 2594.13 | 6506.34 |
Performance Conclusion
Based on the results of sysbench
, it still looks like Linode outperforms
DigitalOcean in everything except reading / writing to / from memory. These
results are pretty consistent with the results that I saw previously using 20$
worth of servers instead of 10$.
Referral Program
I always include referral links for both DigitalOcean and Linode in my posts but I’ve never factored the programs into any of these throwdowns. I am choosing to do so today because DigitalOcean recently upped their referral program from 10$ to 25$ per referred customer that totaled the same amount in billings. Linode has always offered 20$ per referred customer that stayed with the company for 90 days. The major difference between the programs is that DigitalOcean will pay you in credit or in cash money to a PayPal account whereas Linode only offers credit.
What’s interesting about DigitalOcean’s change is that even though you can now earn more credit / cash, it takes longer and gives more of a window for a referred customer to bail and you not get anything. At the moment, I’m unsure if this change will end up being in favor of DigitalOcean or their affiliate network. Thus far, I don’t feel like I’ve missed out on anything and I’m pleased with the increased affiliate revenue.
Final Thoughts
I use both companies for various things, specifically I host a site I bought off of Flippa on a small DigitalOcean droplet and I maintain a server with Linode just so I can continue to use their DNS. Linode still seems to be the leader in performance even if you’re not getting as much storage space but the fact is that both hosting companies are very capable.
Because YMMV I thought I’d point out a comment I received the other day. The
commenter made mention that depending on the architecture, four 5$ droplets from
DigitalOcean could in fact outperform a single 20$ Linode. I’m still trying to
wrap my head around how I could actually test that, one thought is setting up a
cluster of webservers on DigitalOcean and using ab
to check the performance
against the single Linode (comment below if you have any ideas). Personally, I
still like doing the apples-to-apples comparison just because most people just
getting into a VPS are going to be starting out with a single server anyway.
Totally superficial, but +5 to DigitalOcean for commenting on one of my previous posts. Definitely shows they care (even if they shot me down when I applied to be a software engineer with them ;)
As always, if you found this article insightful and it’s helped you make a decision as to which hosting company to go with, pretty please with whipped cream and cherries on top, sign up with my referral link for Linode and/or DigitalOcean.
If you do sign up, tweet at me and/or leave me some comment love below!
- 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!