Why not check out the latest comparison?
I mentioned the in my last Linode vs. Digital Ocean
post that I would be doing a performance comparison of the two in the near
future and here it is! I used sysbench
with some pretty basic settings to
compare a 2GB server from both hosting companies. Apples to apples, both plans
weigh in at 20$ a month and are pretty comparable when looking at what you get
for the money. Both servers are running Ubuntu 14.04 LTS (64-bit) and were brand
new servers (no upgrades applied). The Linode server was configured with 512MB
of RAM and the Digital Ocean server with none (as configuring a swap partition
is not part of their setup interface).
Before I started, I did install sysbench
and mysql-server
:
sudo apt-get install sysbench mysql-server
CPU
sysbench --test=cpu run
Linode | Digital Ocean | |
---|---|---|
Number of Events | 10000 | 10000 |
Execution Time | 11.7520s | 14.6590s |
Min. Request | 1.16ms | 1.32ms |
Avg. Request | 1.18ms | 1.47ms |
Max. Request | 1.80ms | 2.92ms |
Memory (Read)
sysbench --test=memory run
Linode | Digital Ocean | |
---|---|---|
Number of Events | 104857600 | 104857600 |
Execution Time | 316.8781s | 286.5839s |
Min. Request | 0.00ms | 0.00ms |
Avg. Request | 0.00ms | 0.00ms |
Max. Request | 1.18ms | 1.07ms |
MB/sec | 241.71 | 265.55 |
Memory (Write)
sysbench --test=memory --memory-oper=write run
Linode | Digital Ocean | |
---|---|---|
Number of Events | 104857600 | 104857600 |
Execution Time | 327.8409s | 303.7926s |
Min. Request | 0.00ms | 0.00ms |
Avg. Request | 0.00ms | 0.00ms |
Max. Request | 0.90ms | 5.38ms |
MB/sec | 235.96 | 254.30 |
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
Linode | Digital Ocean | |
---|---|---|
Number of Events | 10000 | 10000 |
Execution Time | 0.1041s | 0.1583s |
Min. Request | 0.01ms | 0.01ms |
Avg. Request | 0.01ms | 0.02ms |
Max. Request | 0.06ms | 0.21ms |
Requests/sec | 7144.83 | 3503.19 |
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
Linode | Digital Ocean | |
---|---|---|
Number of Events | 10000 | 10000 |
Execution Time | 29.5509s | 57.0191s |
Min. Request | 2.21ms | 2.97ms |
Avg. Request | 2.96ms | 5.70ms |
Max. Request | 87.60ms | 1003.54ms |
Read/write Requests/sec | 6417.08 | 3326.50 |
Conclusion
Obviously YMMV when running the same tests (hence providing the commands) but from where I’m sitting, Linode performs considerably better in nearly every category. Digital Ocean fared better in both reading and writing from memory but at the end of the day, you will most likely be leveraging all aspects of the server and not just RAM. Digital Ocean still wins out when you need an inexpensive server (as their plans start at 5$) but I’m not sure that I would rely on them when attempting to scale up your infrastructure.
As always, if you are interested in signing up for either of these companies, please please please sign up with my referral link for Linode and/or DigitalOcean.
- 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!