If you have been in the market of shopping for a cloud instance, you will notice the offerings are deceptively similar: 1 vCPU + 1GB memory with a 20GB disk and 1TB bandwidth, for the same price. Are they really similar though?
Far from it.
1 vCPU from an Intel E5 v2 processor is not going to be anywhere as fast as an Intel E5 v4 or AMD EYPC processor. Even within the same CPU generation, there is the clock speed difference which can range somewhere between 1.8Ghz to 3.2Ghz (not forgetting the crappy Opteron-based A-series VM from Azure which is now retired). Disk speeds will be affected by the technology of the block storage, whether it is SAS/HDD-based, SSD based or NVMe based, and within the term “SSD”, there are many factors affecting performance, such as whether it is SLC, MLC or QLC and whether the array is cached or uncached. Memory speed would probably cause the least variation in general, but if your workload is heavy of number crunching, an instance with DDR4 ECC is going to outperform one with DDR3 ECC without a doubt.
The following test scripts and programs would allow you to establish a quantifiable metric for your cloud instances. As always, you should take the benchmark results with a pinch of salt. After all, your instance is likely to be sharing resources with other tenants (unless you have dedicated instance with dedicated bandwidth). They do nonetheless provide some indicative performance in the real world.
This is a basic test script to show you the system information and disk details.
wget -qO- bench.sh | bash
This is an enhanced test script which also includes information on the IP location, ASN details and congestion algorithm used on the server. It includes Netflix FAST bandwidth tests as well as a list of servers in China. It is useful to quickly establish if the server has good peers with the three Chinese ISP.
wget -qO- git.io/superbench.sh | bash
This is the best all-in-one quick test script I’ve come across so far. It tests for every important metric you’ll ever want to know. A special shoutout to @iLemonrain and here is a link to his original post. To run the script, simply run the following command as root:
curl -fsL https://ilemonra.in/LemonBenchIntl | bash -s fast
Geekbench is available for Linux as well, but it is not free. You can still run the Tryout version – instead of saving the results offline, it will provide you with a URL after the test is completed.
wget -O- http://cdn.geekbench.com/Geekbench-5.1.1-Linux.tar.gz | tar -xz cd Geekbench-5.1.1-Linux ./geekbench5
Or if you’re using a 64-bit OS: