$10 Showdown: Linode vs. DigitalOcean

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!


If you have found these posts informative and helpful in searching for a new hosting provider, please consider using one of the links below when signing up:

  • DigitalOcean, new accounts receive $200 in credit (good for 60 days)
  • Linode, new accounts receive $100 in credit (also good for 60 days)
  • Vultr, new accounts also receive $100 in credit (good for only 14 days)
  • UpCloud, new accounts receive €25 in credit (yes, that’s in Euros)
Josh Sherman - The Man, The Myth, The Avatar

About Josh

Husband. Father. Pug dad. Musician. Founder of Holiday API, Head of Engineering and Emoji Specialist at Mailshake, and author of the best damn Lorem Ipsum Library for PHP.


If you found this article helpful, please consider buying me a coffee.