Phoronix Test Suite HowTo
This document will give a brief overview of installing and running the Phoronix Test Suite on Ubuntu.
As of this writing, it is based on installing, configuring and running Phoronix on Ubuntu 11.04 (Natty Narwhal) and Ubuntu 11.10 (Oneiric Ocelot) using Phoronix 3.2.1-1 available in Universe. As of this writing, the current version available from Phoronix is version 3.4.0. You can get a deb package of the current version here.
Installing Phoronix Test Suite
Installation can be achieved by one of two methods.
Installation from Ubuntu Repositories
Open a terminal and install using apt-get or aptitude:
# sudo apt-get install phoronix-test-suite
# sudo aptitude install phoronix-test-suite
Or open the Ubuntu Software Center, search for Phoronix and install the package.
(a screen shot would be nice here)
Installation from phoronix-test-suite.com
Download the latest version by going to:
Once you have downloaded the package, install it from terminal:
# sudo dpkg -i /path/to/packagename.deb
You will also need to install the basic dependencies for Phoronix Test Suite:
Suites and Tests
Phornix comes with over 100 tests ready to go, but fair warning, each test will need to download dependencies. The bad news is that this can slow down installation of tests and could potentially trigger a large amount of data being downloaded and installed.
Recent testing revealed that installing the pre-made CPU test suite can install over 1.4GB of additional files on your test machine.
Tests are just that, individual tests that can be installed and run individually. Suites are groups of tests, and one suite could be comprised of smaller sub-suite.
For example, you may create a suite called "System_Testing" and that would be made up of smaller sub-suites such as "Processor_Tests", "Disk_Tests" and "RAM_Tests"
Phoronix provides several of these ready made suites and also provides the means to create your own suites.
To view the list of currently available suites, use the following command:
# phoronix-test-suite list-available-suites
which will pull the lastest suite info from the Phoronix website. Additionally, the list of all available tests can be found using this command:
# phoronix-test-suite list-available-tests
Before you can run Phoronix Test Suite on Ubuntu, you need to modify the install-ubuntu-packages.sh script. This script is used by Phoronix Test Suite to install test dependency packages from Ubuntu repositories. Unfortunately, there is a bug in the script that prevents it from running correctly in Dash. To correct this, edit the file /usr/share/phoronix-test-suite/pts-core/external-test-dependencies/scripts/install-ubuntu-packages.sh
You need to change the final if/fi block from this:
if [ -x /usr/bin/aptitude ]; then # aptitude is nice since it doesn't fail if a non-existant package is hit # See: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=503215 $ROOT -- "aptitude -y install $*" else $ROOT -- "apt-get -y --ignore-missing install $*" fi
if [ -x /usr/bin/aptitude ]; then # aptitude is nice since it doesn't fail if a non-existant package is hit # See: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=503215 $ROOT -- aptitude -y install $* else $ROOT -- apt-get -y --ignore-missing install $* fi
After making this correction, Phoronix should be able to install test dependencies.
The easiest way to get started testing is to simply look at the list of tests, pick one, and run it. The simplest way to do this is to use the following commands:
# phoronix-test-suite list-available-tests
# phoronix-test-suite benchmark <TEST NAME>
It's that simple. At this point, if this is your first time running Phoronix, you will be prompted to answer a few simple questions and be prompted to accept the use agreement:
Phoronix Test Suite v3.2.1 User Agreement The Phoronix Test Suite is the most comprehensive testing and benchmarking platform available for Linux, OpenSolaris, Mac OS X, and BSD operating systems. The Phoronix Test Suite is designed to carry out tests in a clean, reproducible, and easy-to-use manner. - The Phoronix Test Suite is open-source and licensed under the GNU GPLv3. However, some tests supported by the Phoronix Test Suite are not open-source software or available for free of charge. - The Phoronix Test Suite contains tests which may stress your system and in some cases could exhibit stability problems of the system's hardware or software configuration. The Phoronix Test Suite is provided WITHOUT ANY WARRANTY. In no event shall OpenBenchmarking.org, Phoronix Media, the Phoronix Test Suite, or any associated stakeholder be liable to any party for any direct or indirect damages for any use of OpenBenchmarking.org -- including, without limitation, any lost profits, business interruption, loss of programs, loss of programmed data, or otherwise. - For enterprise support, sponsorship, or other professional inquiries, contact email@example.com. Community support can be found in the Phoronix Forums at http://www.phoronix.com/forums/. - If you opt to submit your test results to OpenBenchmarking.org, the final results as well as basic hardware and software details (what is shown in the results viewer) will be shared and publicly accessible through http://www.openbenchmarking.org/. - Public bug reports, feature requests, and other issues can be brought up in the Phoronix Test Suite forums, mailing list, or a direct email to Phoronix Media. Anonymous Usage Reporting / Statistics: If enabling the anonymous usage reporting / statistics feature, some information about the Phoronix Test Suite runs will be submitted to OpenBenchmarking.org. This information is used for analytical purposes, including but not limited to, determining the most popular tests / suites and calculating average run-times for different test profiles. The test results are not reported in this process nor the installed software / hardware information, but ambient information about the testing process. This information is stored anonymously. More information on this feature is available with the included documentation. Anonymous Software / Hardware Reporting: If enabling the anonymous hardware / software reporting, general information on your installed hardware / software components will be reported to OpenBenchmarking.org. Hardware information is general details such as, but not limited to, the installed CPU, motherboard, and other general components. Software information is general and contains details such as your operating system, graphics processor driver, kernel, and software architecture. No personal information is collected. This information is pooled along with the submissions from all other users to show general trends and other details on OpenBenchmarking.org. For more information on the Phoronix Test Suite and its features, visit http://www.phoronix-test-suite.com/ or view the included documentation. Do you agree to these terms and wish to proceed (Y/n): Y Enable anonymous usage / statistics reporting (Y/n): n Enable anonymous statistical reporting of installed software / hardware (Y/n): n
If necessary, you'll also be prompted to make configuration selections for a particular test. For example:
bladernr@ubuntu:~$ phoronix-test-suite benchmark tiobench Phoronix Test Suite v3.2.1 To Install: pts/tiobench-1.1.0 Determining File Requirements .......................................... Searching Download Caches .............................................. 1 Test To Install 1 File To Download [0.03MB] 1MB Of Disk Space Is Needed pts/tiobench-1.1.0: Test Installation 1 of 1 1 File Needed [0.03 MB] Downloading: tiobench-0.3.3.tar.gz [0.03MB] Downloading ........................................................ Installation Size: 0.2 MB Installing Test @ 01:30:31 Threaded I/O Tester Test Configuration Test: 1: Write 2: Random Write 3: Read 4: Random Read 5: Test All Options Enter Your Choice: 3 Size Per Thread: 1: 32MB 2: 64MB 3: 128MB 4: 256MB 5: Test All Options Enter Your Choice: 1 Thread Count: 1: 4 2: 8 3: 16 4: 32 5: Test All Options Enter Your Choice: 1
After answering the individual test configuration questions, you will be asked a few more questions and then testing will begin:
Would you like to save these test results (Y/n): Y Enter a name to save these results under: TestRun Enter a unique name to describe this test run / configuration: My_Test If you wish, enter a new description below to better describe this result set / system configuration under test. Press ENTER to proceed without changes. Current Description: Intel Xeon X5350 testing with a Supermicro X7DVL under Ubuntu 11.10 via the Phoronix Test Suite. New Description: My Test Description Threaded I/O Tester: pts/tiobench-1.1.0 [Test: Read - Size Per Thread: 32MB - Thread Count: 4] Test 1 of 1 Expected Trial Run Count: 4 Started Run 1 @ 02:07:43 Started Run 2 @ 02:07:49 Started Run 3 @ 02:07:55 Started Run 4 @ 02:08:01 [Std. Dev: 0.22%] Test Results: 3507.426 3498.224 3500.424 3488.879 Average: 3498.74 MB/s Would you like to upload these results to OpenBenchmarking.org (Y/n): n
Test duration could take anywhere from a few minutes to several hours depending on the test configuration, or size of the test suite.
For comparison, the pts/tiobench test used in this document for the examples completed in under 3 minutes on a server with 2 dual core processors and 4GB of RAM. The pts/server suite takes nearly 4 hours. The pts/CPU suite took over 16 hours.
These times include time to download the test dependencies on my 10Mb ADSL line.
Phoronix and Checkbox
The following are the available command line options for Phoronix. They are fairly self-explanitory, however, additional documentation is available at the Phoronix web site and in the Phoronix Test Suite PDF.
To get additional, detailed explanations of any of the available commands listed below, use the help command:
# phoronix-test-suite help <command name>
TEST INSTALLATION install [Test | Suite | OpenBenchmarking.org ID | Test Result] ... install-dependencies [Test | Suite | OpenBenchmarking.org ID | Test Result] ... make-download-cache remove-installed-test [Test] TESTING benchmark [Test | Suite | OpenBenchmarking.org ID | Test Result] ... finish-run [Test Result] recover-run [Unknown Object] run [Test | Suite | OpenBenchmarking.org ID | Test Result] ... run-tests-in-suite BATCH TESTING batch-benchmark [Test | Suite | OpenBenchmarking.org ID | Test Result] ... batch-install [Test | Suite | OpenBenchmarking.org ID | Test Result] ... batch-run [Test | Suite | OpenBenchmarking.org ID | Test Result] ... batch-setup default-benchmark [Test | Suite | OpenBenchmarking.org ID | Test Result] ... default-run [Test | Suite | OpenBenchmarking.org ID | Test Result] ... OPENBENCHMARKING.ORG clone-result [OpenBenchmarking.org ID] ... openbenchmarking-launcher openbenchmarking-login openbenchmarking-refresh upload-result [Test Result] SYSTEM diagnostics interactive system-info system-sensors INFORMATION info [Test | Suite | OpenBenchmarking.org ID | Test Result] list-available-suites list-available-tests list-available-virtual-suites list-installed-dependencies list-installed-suites list-installed-tests list-missing-dependencies list-possible-dependencies list-saved-results list-test-usage ASSET CREATION debug-install [Test | Suite | OpenBenchmarking.org ID | Test Result] ... debug-run [Test | Suite | OpenBenchmarking.org ID | Test Result] ... debug-test-download-links [Test | Suite] download-test-files [Test | Suite] ... force-install [Test | Suite | OpenBenchmarking.org ID | Test Result] ... result-file-to-suite [Test Result] validate-result-file validate-test-profile validate-test-suite RESULT MANAGEMENT copy-run-in-result-file [Test Result] extract-from-result-file [Test Result] merge-results [Test Result] ... refresh-graphs [Test Result] remove-from-result-file [Test Result] remove-result [Test Result] rename-identifier-in-result-file [Test Result] reorder-result-file [Test Result] result-file-to-csv [Test Result] show-result [Test Result] RESULT ANALYTICS analyze-all-runs [Test Result] analyze-batch [Test Result] analyze-image-delta [Test Result] OTHER build-suite help network-setup rebuild-composite-xml [Test Result] result-file-to-pdf [Test Result] result-file-to-text [Test Result] user-config-reset user-config-set version MODULES list-modules module-info [Phoronix Test Suite Module] module-setup [Phoronix Test Suite Module] test-module [Phoronix Test Suite Module]
For additional assistance with Phoronix Test Suite: