I have used (in my professional work) and talked about this tool several times, but I had never dedicated any article to evaluate it. Let's get going!
For my tests, I am going to utilize an Ubuntu Server 10.10 (64 bits) and Phoronix Test Suite 3.0.1. When you download the application and descompress it, you have two options: on the one hand you can install it over the operating system (install.sh), and on the other, you may directly run the appropiate script (phoronix-test-suite) and carry out all the options that Phoronix provides. Regardless the choice, first of all you must install a serie of necessary dependences.
root@ubuntu-server:~# aptitude install php5-cli php5-gd php5-curl php-fpdf root@ubuntu-server:~# tar xvzf phoronix-test-suite-3.0.1.tar.gz root@ubuntu-server:~/phoronix-test-suite# ./install-sh
In my case, I will choose the second. Also say that if we are behind a proxy, we have to execute the script with the network-setup option, in order to set the proxy configuration up. In addition, we can check out the information about our system hardware and software.
root@ubuntu-server:~/phoronix-test-suite# ./phoronix-test-suite network-setup root@ubuntu-server:~/phoronix-test-suite# ./phoronix-test-suite system-info Phoronix Test Suite v3.0.1 System Information Hardware: Processor: QEMU Virtual 0.12.5 @ 3.00GHz (1 Core), Motherboard: Bochs, Chipset: Red Hat Virtio, Memory: 1 x 2048 MB RAM, Disk: 15GB, Graphics: Cirrus Logic GD 5446 Software: OS: Ubuntu 10.10, Kernel: 2.6.35-28-server (x86_64), Display Driver: cirrus, File-System: ext4
Phoronix supplies a set of suites (cpu, database, kernel, memory, etc.) that in turn, make up a group of tests (compress-gzip, dbench, sqlite, etc.), also known as profiles. In total, we have around more than 60 suites and 130 tests.
root@ubuntu-server:~/phoronix-test-suite# ./phoronix-test-suite list-available-suites Phoronix Test Suite v3.0.1 Available Suites pts/audio-encoding - Audio Encoding System pts/chess - Chess Test Suite Processor pts/compilation - Timed Code Compilation Processor ... root@ubuntu-server:~/phoronix-test-suite# ./phoronix-test-suite list-available-tests Phoronix Test Suite v3.0.1 Available Tests pts/aio-stress - AIO-Stress Disk pts/apache - Apache Benchmark System pts/battery-power-usage - Battery Power Usage System ...
If we want to know more details about a concrete suite or test, we can run the following order (in this example, the memory suite consists of three tests).
root@ubuntu-server:~/phoronix-test-suite# ./phoronix-test-suite info memory Phoronix Test Suite v3.0.1 Memory Test Suite Run Identifier: pts/memory-1.0.2 Suite Version: 1.0.2 Maintainer: Michael Larabel Suite Type: Memory Unique Tests: 3 Suite Description: The system memory test suite consists of tests designed to test the computer's system memory (RAM) performance. Among these tests are RAMspeed and Bandwidth. pts/memory-1.0.2 * pts/ramspeed * pts/stream * pts/cachebench
And if we want to install a suite or test, we must add the install parameter to the script. This sentence will firstly resolve and install the necessary dependences and afterwards, download, compile and install the test. If you select a suite, this order will install all tests belonging to the suite.
root@ubuntu-server:~/phoronix-test-suite# ./phoronix-test-suite install apache The following dependencies are needed and will be installed: - build-essential ... Phoronix Test Suite v3.0.1 To Install: pts/apache-1.3.0 ...
Then we are going to see the execution of the apache test (we can also use this command to launch a suite).
root@ubuntu-server:~/phoronix-test-suite# ./phoronix-test-suite run apache Would you like to save these test results (Y/n): Y Enter a name to save these results: ubuntu-server Enter a unique name for this test run: apache Phoronix Test Suite v3.0.1 If you wish, enter a new description below. Press ENTER to proceed without changes. Current Description: Running pts/apache-1.3.0. New Description: Apache Benchmark: pts/apache-1.3.0 Test 1 of 1 Expected Trial Run Count: 3 Running Pre-Test Script @ 15:45:48 Started Run 1 @ 15:45:53 Started Run 2 @ 15:47:34 Started Run 3 @ 15:49:17 [Std. Dev: 2.00%] Running Post-Test Script @ 15:51:00 Test Results: 7156.08 7026.62 6876.06 Average: 7019.59 Requests Per Second
In the previous output, we can make out that the script has asked for a name to save the results (under this name, we will be able to save other tests) and a specific name for the test. In other tests as follows, we can see that the script requests other types of data, such as the record size, file size and disk test.