How can you measure VM performance (CPU, Disk, Latency, Concurrent Users etc) on Ubuntu and comparing Vultr, Digital Ocean and UpCloud – Part 1 of 4. Update: I moved my domain to UpCloud.
Update (June 2018): I moved my domain to UpCloud (they are that awesome). Use this link to signup and get $25 free credit. Read the steps I took to move my domain to UpCloud here.
Comparing Digital Ocean/Vultr and UpCloud Disk IO
I have a number of guides on moving away from CPanel, Setting up VM’s on AWS, Vultr or Digital Ocean (all in the search of extra performance) but how do you know when a server performance is ok apart from running GT Metrix and other external site benchmarking tools.
This post is split up as it was too long.
Read Part 1, Part 2, Part 3 or Part 4
Spoiler: It all depends on where your server is located and what you do with it (Tweaks will improve the performance).
P.S This is NOT a paid endorsement or conclusive test (just a quick benchmark/review).
What does your server do?
You need to know what your server does 24/7 and what resources the services need.
I use htop to view real-time and historical usage data for each process.
Tweaking Advice
A friend gave me good advice re-tweaking a cheap host to get good performance
yeah but you are trying to get speed out of budget hosting. Good, fast, cheap, pick 2.
— Kerry Hoath (@khoath) June 2, 2018
I am not a fan of just throwing more money at a host and expecting better performance. Host have unique features and cons., there is no shortage of hosts or host cons.
How can you run synthetic benchmarks to determine comparable performance metrics?
WARNING: Comparing synthetic benchmarks can be far removed from real-world speeds. Benchmark results below were from 3 different servers I have on 3 different hosts in three different locations (the only thing the same was the use of Ubuntu 16.04 $5/m servers). These results are not scientific and should not be used to compare host providers. Benchmark runs were one-off (not averages over multiple timezones/days).
Disk Performance
Speaking of disk performance I noticed this the other day on the RunCloud blog. Faster than SSD (UpCloud)?
https://blog.runcloud.io/2018/06/01/upcloud.html
Runcloud is a server management console that can interface with your domains (read my old review here). I don’t use Runcloud but it is great for those who need a GUI to help manage VM via a dashboard. However, I prefer to know what is going on under the hood. I have investigated webmin in the past though.
Let’s do a quick IO benchmark test between UpCloud, Digital Ocean and Vultr on similarly low end $5/m servers,
Good advice on command line benchmarking tools from a friend.
depends on what sort of load you want to simulate. iozone is old but reliable. bonny might give you more figures you want.
— Kerry Hoath (@khoath) June 2, 2018
Installing iozone to test disk performance
I searched for a post on using iozone (Thanks thegeekstuff). I will be reviewing the “Writer report” and “Reader report”. Read more about iozone here.
View the iozone page for how to break down results.
(image snip from http://www.iozone.org/)
Install iozone on Ubuntu
sudo apt-get install iozone3
Run an iozone disk test and output the results to a spreadsheet.
iozone -a -b iozone.xls
Now let’s run a Read/Write test on Vultr/Digital Ocean and UpCloud. Multiple runs were not performed, this is not a scientific test (just a simple benchmark test (as is, ignoring sever load and local infrastructure/timezone load)).
iozone Benchmark results for Vultr “Read” (Sydney)
“4” | “8” | “16” | “32” | “64” | “128” | “256” | “512” | “1024” | “2048” | “4096” | “8192” | “16384” | |
64 | 2133730 | 3363612 | 4274062 | 4564786 | 6421025 | ||||||||
128 | 2248149 | 3536566 | 4135958 | 7082197 | 4135958 | 11720614 | |||||||
256 | 1884399 | 2699161 | 3879045 | 3667079 | 5971678 | 5687020 | 5687020 | ||||||
512 | 3140488 | 3736016 | 3684733 | 4262523 | 4610256 | 2638816 | 5067142 | 5684095 | |||||
1024 | 1617808 | 1939207 | 3411938 | 3999762 | 4048778 | 4614246 | 3083680 | 5885083 | 6609617 | ||||
2048 | 1926510 | 2569678 | 4423683 | 4997618 | 3937075 | 459605 | 2896324 | 3542524 | 4971585 | 4707314 | |||
4096 | 1701683 | 2151300 | 4209920 | 5001700 | 4751325 | 4869845 | 5389246 | 3647681 | 4928521 | 6207035 | 4347346 | ||
8192 | 2063424 | 2329346 | 3203763 | 2937280 | 3221485 | 3232699 | 3626431 | 3650706 | 3789200 | 4110603 | 3715045 | 4350542 | |
16384 | 1738553 | 2778362 | 3397613 | 3679205 | 3693442 | 3171501 | 3524291 | 3393586 | 3004024 | 3552531 | 3456574 | 2693845 | 2488861 |
32768 | 0 | 0 | 0 | 0 | 2952894 | 3537153 | 3574875 | 3768155 | 4719613 | 3890280 | 3394995 | 2735222 | 2542914 |
65536 | 0 | 0 | 0 | 0 | 4057489 | 3610789 | 3619967 | 3800078 | 3275327 | 3591212 | 3607188 | 1770426 | 2826659 |
131072 | 0 | 0 | 0 | 0 | 3552270 | 1890742 | 5275167 | 3727339 | 3527607 | 1753893 | 3234736 | 2341111 | 1378601 |
262144 | 0 | 0 | 0 | 0 | 3798586 | 1302021 | 1491429 | 3712825 | 3228816 | 3757963 | 3715510 | 2592485 | 2481061 |
524288 | 0 | 0 | 0 | 0 | 2758756 | 2487923 | 3705741 | 1807328 | 2118309 | 3675988 | 3196367 | 3394330 | 2396842 |
iozone Benchmark results for Digital Ocean “Read” (London)
4 | “8” | “16” | “32” | “64” | “128” | “256” | “512” | “1024” | “2048” | “4096” | “8192” | “16384” | |
64 | 4564786 | 7100397 | 9006179 | 10402178 | 12902017 | ||||||||
128 | 4717434 | 7082197 | 8548124 | 9795896 | 10567140 | 10779307 | |||||||
256 | 4840911 | 7073132 | 8271916 | 9868433 | 10148242 | 10651598 | 1E+07 | ||||||
512 | 4742616 | 6909408 | 8140399 | 9304292 | 9638369 | 10044089 | 1E+07 | 10044089 | |||||
1024 | 4249053 | 5917516 | 6208343 | 7537599 | 9300377 | 10454984 | 7E+06 | 7113161 | 9946527 | ||||
2048 | 3885431 | 6967792 | 6603549 | 6845629 | 10401883 | 9808036 | 9E+06 | 7903836 | 9308497 | 7817519 | |||
4096 | 2506983 | 5953231 | 6263611 | 6953144 | 7774379 | 6225028 | 6E+06 | 8081580 | 7683972 | 8081580 | 8240513 | ||
8192 | 3665114 | 4850463 | 5479317 | 6141364 | 6277120 | 6108608 | 6E+06 | 6569983 | 5732541 | 7166033 | 6633402 | 5479317 | |
16384 | 3673501 | 4828584 | 5416182 | 6187150 | 6614761 | 6298872 | 6E+06 | 6430310 | 5984033 | 6402750 | 6046159 | 4791883 | 3405527 |
32768 | 0 | 0 | 0 | 0 | 4692542 | 6140929 | 6E+06 | 6295642 | 5231224 | 6545707 | 5781108 | 4513475 | 3702577 |
65536 | 0 | 0 | 0 | 0 | 6315430 | 5830131 | 6E+06 | 6444695 | 6219125 | 6473838 | 5338595 | 4248118 | 3679324 |
131072 | 0 | 0 | 0 | 0 | 6130002 | 6461496 | 6E+06 | 5958068 | 5983423 | 6387547 | 6138078 | 3994888 | 3602079 |
262144 | 0 | 0 | 0 | 0 | 6456746 | 6323727 | 6E+06 | 6504146 | 6390176 | 6486151 | 6433963 | 3955165 | 3654188 |
524288 | 0 | 0 | 0 | 0 | 1667337 | 6381456 | 6E+06 | 6445708 | 6448714 | 6421071 | 5981200 | 4155185 | 3770740 |
iozone Benchmark results for UpCloud “Read” (Singapore)
“4” | “8” | “16” | “32” | “64” | “128” | “256” | “512” | “1024” | “2048” | “4096” | “8192” | “16384” | |
64 | 6421025 | 6421025 | 10821524 | 12902017 | 15972885 | ||||||||
128 | 4889281 | 6406138 | 9129573 | 10779307 | 14200794 | 14200794 | |||||||
256 | 5320671 | 3879045 | 10758322 | 8815202 | 10245071 | 12812277 | 12228612 | ||||||
512 | 4305250 | 5115422 | 8844453 | 8234036 | 7091952 | 8394979 | 7540170 | 10235583 | |||||
1024 | 4339202 | 4762630 | 5821271 | 6163794 | 6819511 | 4674510 | 6479979 | 8183918 | 10230845 | ||||
2048 | 4204968 | 5319484 | 5800851 | 5816563 | 6243566 | 6378005 | 5953632 | 6851089 | 7940367 | 8229438 | |||
4096 | 4526013 | 5556581 | 4817948 | 5404504 | 7301864 | 5759634 | 5810280 | 6007355 | 6919538 | 8620945 | 6281934 | ||
8192 | 4298295 | 5019093 | 5927357 | 6036702 | 6781341 | 6082655 | 5855636 | 6527546 | 6553692 | 6792065 | 6466126 | 4437634 | |
16384 | 4282172 | 5849558 | 6313919 | 6635840 | 6741958 | 6657054 | 6423097 | 5536622 | 6558575 | 6442970 | 4527032 | 3784777 | 3901898 |
32768 | 0 | 0 | 0 | 0 | 5825460 | 5423408 | 6504198 | 6665385 | 6365329 | 6426343 | 5263076 | 3718605 | 3705971 |
65536 | 0 | 0 | 0 | 0 | 6908075 | 6623116 | 6493259 | 6609738 | 6311805 | 6483610 | 5489674 | 4035982 | 3561526 |
131072 | 0 | 0 | 0 | 0 | 5650180 | 5718949 | 2465429 | 5391253 | 3495911 | 5784844 | 5367408 | 3733490 | 3582175 |
262144 | 0 | 0 | 0 | 0 | 6814627 | 6691250 | 6189661 | 5906786 | 6081645 | 5799913 | 5247919 | 4121250 | 3637601 |
524288 | 0 | 0 | 0 | 0 | 6404764 | 6309263 | 5673979 | 5751609 | 6288245 | 6305103 | 5978680 | 3911984 | 3767116 |
iozone Benchmark results for Vultr “Write” (Sydney)
“4” | “8” | “16” | “32” | “64” | “128” | “256” | “512” | “1024” | “2048” | “4096” | “8192” | “16384” | |
64 | 289322 | 532815 | 507625 | 429630 | 566551 | ||||||||
128 | 398921 | 465304 | 434078 | 417212 | 669577 | 821147 | |||||||
256 | 530031 | 613985 | 820398 | 474937 | 891956 | 815414 | 370025 | ||||||
512 | 387576 | 754083 | 709019 | 819085 | 702295 | 609421 | 924123 | 496091 | |||||
1024 | 297233 | 448522 | 716089 | 923488 | 854073 | 817340 | 1203137 | 1072453 | 601636 | ||||
2048 | 408697 | 634655 | 695383 | 1358134 | 549657 | 1295458 | 821154 | 797520 | 964207 | 258493 | |||
4096 | 236150 | 433804 | 1215774 | 1245025 | 820832 | 809958 | 1371339 | 914269 | 921083 | 1004682 | 1481431 | ||
8192 | 611113 | 666677 | 806286 | 715219 | 779825 | 824294 | 875947 | 870091 | 1046378 | 791192 | 1023592 | 453248 | |
16384 | 435454 | 706149 | 718313 | 845499 | 893495 | 888068 | 812778 | 842885 | 820591 | 941120 | 839610 | 862672 | 406590 |
32768 | 0 | 0 | 0 | 0 | 465196 | 786067 | 938881 | 627294 | 890917 | 968147 | 872369 | 871329 | 842843 |
65536 | 0 | 0 | 0 | 0 | 515057 | 790172 | 937568 | 915601 | 897235 | 867197 | 907562 | 852002 | 743856 |
131072 | 0 | 0 | 0 | 0 | 501091 | 480492 | 813147 | 870886 | 880239 | 805333 | 684630 | 1117578 | 633185 |
262144 | 0 | 0 | 0 | 0 | 387126 | 323185 | 323656 | 473258 | 405744 | 369599 | 422554 | 468992 | 453563 |
524288 | 0 | 0 | 0 | 0 | 325588 | 380450 | 392965 | 451608 | 303255 | 355148 | 386250 | 432054 | 416512 |
iozone Benchmark results for Digital Ocean “Write” (London)
“4” | “8” | “16” | “32” | “64” | “128” | “256” | “512” | “1024” | “2048” | “4096” | “8192” | “16384” | |
64 | 831569 | 566551 | 1279447 | 1363961 | 1392258 | ||||||||
128 | 652488 | 1319723 | 1421023 | 990891 | 1663139 | 1561553 | |||||||
256 | 1185399 | 1152323 | 1534342 | 1598292 | 1826695 | 1707589 | 1514860 | ||||||
512 | 1166599 | 1296159 | 1399189 | 1620980 | 1620980 | 1361920 | 1589779 | 1672748 | |||||
1024 | 1079190 | 1321200 | 1584972 | 1917562 | 1592612 | 1701108 | 1718120 | 1462960 | 1643814 | ||||
2048 | 1210394 | 1470172 | 1621719 | 1550584 | 1796378 | 1643753 | 1713598 | 1759581 | 1649117 | 1488257 | |||
4096 | 916513 | 1287575 | 1574718 | 1406594 | 1742237 | 1734148 | 1652418 | 1583280 | 1599346 | 1661045 | 1533532 | ||
8192 | 1109745 | 1318748 | 1178567 | 1544201 | 1502340 | 1371492 | 1466747 | 1499521 | 1479759 | 1564878 | 1291292 | 1347609 | |
16384 | 1106205 | 1282084 | 1374037 | 1503649 | 1429398 | 1461407 | 1496119 | 1578132 | 1547289 | 1333431 | 1203371 | 1198815 | 1501316 |
32768 | 0 | 0 | 0 | 0 | 1270914 | 1406589 | 1513114 | 1468226 | 1558303 | 1552038 | 1516336 | 1443280 | 1440360 |
65536 | 0 | 0 | 0 | 0 | 1319322 | 1327984 | 1311504 | 1411955 | 1266988 | 1359645 | 1386446 | 1347092 | 1368295 |
131072 | 0 | 0 | 0 | 0 | 1100658 | 1229326 | 1227197 | 1318631 | 1265552 | 1233306 | 1227747 | 1237896 | 1233502 |
262144 | 0 | 0 | 0 | 0 | 1167160 | 1064078 | 1155828 | 1185185 | 1086152 | 1193673 | 1080872 | 1062611 | 1141960 |
524288 | 0 | 0 | 0 | 0 | 977835 | 1124816 | 1052757 | 1219183 | 1128972 | 1140177 | 1091954 | 1141635 | 1132063 |
iozone Benchmark results for UpCloud “Write” (Singapore)
“8” | “16” | “32” | “64” | “128” | “256” | “512” | “1024” | “2048” | “4096” | “8192” | “16384” | ||
64 | 1143223 | 1255511 | 1562436 | 1452528 | 1279447 | ||||||||
128 | 1451764 | 1406136 | 1543594 | 1504659 | 1852520 | 1749872 | |||||||
256 | 1642294 | 1829808 | 1970871 | 1855098 | 1802167 | 1952947 | 2000242 | ||||||
512 | 1537424 | 1854787 | 1801873 | 2294796 | 1983258 | 2124526 | 1895721 | 1417662 | |||||
1024 | 1434138 | 1553442 | 1609925 | 1931359 | 2098375 | 2044438 | 1872419 | 1768345 | 1892218 | ||||
2048 | 1562145 | 1901771 | 1817281 | 1848169 | 1967097 | 1296240 | 2267786 | 2081497 | 1915768 | 2007554 | |||
4096 | 1625372 | 1966378 | 1924741 | 1342092 | 1950306 | 2078175 | 1914873 | 1459656 | 1995152 | 2102849 | 1326855 | ||
8192 | 1444062 | 1808330 | 1956503 | 1924397 | 2127300 | 2042328 | 2135630 | 1986478 | 2062557 | 2061319 | 1337016 | 1812049 | |
16384 | 1667066 | 1820248 | 1898495 | 2051339 | 2012530 | 2111080 | 2119806 | 1491217 | 2060875 | 1974254 | 1934789 | 1815823 | 1921911 |
32768 | 0 | 0 | 0 | 0 | 2057506 | 1454537 | 2075621 | 2070899 | 1869795 | 2052896 | 1892347 | 1855382 | 1873440 |
65536 | 0 | 0 | 0 | 0 | 2067127 | 2077673 | 2088994 | 2179809 | 2087471 | 2099108 | 1904723 | 1642505 | 1832204 |
131072 | 0 | 0 | 0 | 0 | 1234663 | 1824959 | 1304340 | 1775514 | 1287481 | 1560379 | 1631992 | 1085609 | 1675467 |
262144 | 0 | 0 | 0 | 0 | 685774 | 808487 | 823824 | 662524 | 681762 | 548308 | 814946 | 645663 | 732176 |
524288 | 0 | 0 | 0 | 0 | 547296 | 517384 | 503422 | 521173 | 538714 | 518429 | 528950 | 529593 | 512944 |
Here is my quick unscientific take on a one-pass benchmark results above.
These results need some decoding.
Read Part 1, Part 2, Part 3 or Part 4
Ask a question or recommend an article
[contact-form-7 id=”30″ title=”Ask a Question”]
Update (June 2018): I moved my domain to UpCloud (they are that awesome). Use this link to signup and get $25 free credit. Read the steps I took to move my domain to UpCloud here.
Revision History
v1.2 added the fact that I Moved to UpCloud.
v1.1 Re ran iozone -a -b iozone.xls on all servers.
v1.0 Initial post