Review of performance benchmark suites commonly used to gauge performance for servers and its underlying resources. Benchmark tools to be reviewed include Phoronix Test Suite and UnixBench.

Content / Solution:

In the article How to do "Performance Testing" in the Public Cloud, we discussed one approach in gauging VM performance by running synthetic tests that stress the underlying VM resources namely CPU, RAM and Storage.  As part of that article, we referenced a few different benchmark tools.  To follow up on that track, we discuss two open source tools namely:

Overview of UnixBench

First off, we take a look at UnixBench.  Based on the website...

"...the purpose of UnixBench is to provide a basic indicator of the performance of a Unix-like system; hence, multiple tests are used to test various aspects of the system's performance. These test results are then compared to the scores from a baseline system to produce an index value, which is generally easier to handle than the raw scores. The entire set of index values is then combined to make an overall index for the system.

Do be aware that this is a system benchmark, not a CPU, RAM or disk benchmark. The results will depend not only on your hardware, but on your operating system, libraries, and even compiler."

Now, the important bit here is this last statement; This is not a performance benchmark to test CPU, RAM or storage.  Rather, this is more of a workload benchmark for the system as a whole.  Tests included as part of this benchmark include:

  • Dhrystone
  • Whetstone
  • Excel Throughput
  • File Copy
  • Pipe Throughput
  • Pipe-based Context Switching
  • Process Creation
  • Shell Scripts
  • System Call Overhead
  • Graphical Tests

To run the tests above, simply download the UnixBench software from the project's website and run the software.  It will automatically run all related tests on the target system and print out its results.

Overview of Phoronix Test Suite

Next, we take a look at Phoronix Test Suite.  As noted on the projects website...

"The Phoronix Test Suite is the most comprehensive testing and benchmarking platform available that provides an extensible framework for which new tests can easily be added. The software is designed to effectively carry out both qualitative and quantitative benchmarks in a clean, reproducible, and easy-to-use manner."

In comparing the UnixBench software, we noted that it performed tests that gauged overall system performance. The Phoronix Test Suite takes this one step further and has both application workload tests as well as resource benchmarks that test specifically CPU, memory and storage.  

Installing the Phoronix Test Suite is a bit more involved but is supported on a myriad of different operating systems with ample documentation available online for step by step instructions.  Once the software is ready for testing, you run the benchmark you want to test out.  For instance:

The linux command "phoronix-test-suite benchmark c-ray"...

  • will download and install the c-ray benchmark suite if its not already done
  • execute the test with the default values in mind
  • export the results in a file archive which is displayable as a webpage complete with charts

Similarly, the linux command "phoronix-test-suite benchmark ramspeed"...

  • will download and install the ramspeed benchmark suite if its not already done
  • execute the test with the default values in mind
  • export the results in a file archive which is displayable as a webpage complete with charts

The software is incredibly simple to use and can be replicated to other vendors as-as is to maintain a common test bed.  All results can also be uploaded to the Phoromatic website so that they can be compared across the board.


If you're looking for just getting in there and running your test, you can also download a preconfigured VM image directly into the Dimension Data cloud by going to the following links based on your location:


Download Location                                                                   URL

North America (Ashburn, VA)                                           

Europe (Amsterdam, Netherlands)                                   

Australia (Melbourne, Australia)                                       

AsiaPAC (Tokyo, Japan)                                                  

South Africa (Johannesburg,South Africa)