HEADS-UP: A ton has changed since this post was originally published!

Why not check out the latest comparison? A ton has changed since this post was originally published!

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!