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
|
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.