Phoronix Test Suite – An Open Source Testing And Benchmarking Tool

Phoronix test Suite

Phoronix Test Suite, (or PTS in short) is an open source testing and benchmarking platform developed by Phoronix Media. It allows you to run tests in fully automated manner and all tests are easy to use, reproducible. The first version of PTS was publicly released in 2008. It is a cross-platform tool, so It will work on any operating systems, including GNU/Linux, Mac OS X, Windows, Solaris, and BSD. Phoronix Test Suite is free to use and released under GNU GPLv3 license. Phoronix team has also released a Linux distribution called PTS Desktop Live. You can download and boot the operating system from a USB device or DVD and the Phoronix Test Suite will automatically launch and prompt the user to run the tests.

Salient Features

  • PTS is open source and is licensed under GPL. If you know coding, you can read the PTS source code and fix the bugs if there are any.
  • Multi-platform support
  • PTS makes the process of testing and benchmarking unbelievably simple. Just run this suite, everything will be taken care of PTS itself.
  • It cuts down the cost of developing a separate test suite to your organization.
  • It comes with more than 100 test suites and 450 test profiles. You can run any tests ranging from CPU battery power consumption monitoring for mobile devices to multi-threaded ray-tracing benchmarks.
  • PTS allows you to monitor system resources such as CPU, graphics, system memory, disk storage, and motherboard components.
  • It displays the detailed information of installed software and hardware.
  • It provides automatic scheduling of tests on remote systems, remote installation of new tests using Phoromatic.
  • It allows you to compare side-by-side performance, and you can share the results with your friends and colleagues across Internet.
  • You can access over 90+ commands via PTS command line.

For more details, check the PTS features link.

Install Phoronix Test Suite

At the time of writing this guide, The Phoronix Test Suite 7.0-Ringsaker is available for download. The only prerequisites o install PTS is PHP 5.3 or newer. On Debian based systems such as Ubuntu, you can install PHP by running the following command:

sudo apt-get install php7.0-cli

On RPM based systems such as RHEL, CentOS, run:

sudo yum install php7

Once PHP installed, download the latest Phoronix Test Suite from its official download page.

PTS is available as DEB package for Debian based systems and tarball for other Linux distributions. For the purpose of this guide, I am going to use DEB package.

wget http://phoronix-test-suite.com/releases/repo/pts.debian/files/phoronix-test-suite_7.0.0_all.deb

After downloading it, run the following command to install PTS.

sudo dpkg -i phoronix-test-suite_7.0.0_all.deb
sudo apt-get -f install

PTS has been installed now. Let us go ahead and see how to use it.

Phoronix Test Suite Usage

To know how to use PTS, simply run:

phoronix-test-suite

It will display the Phoronix Test Suite help section.

PTS Test Profiles

Like I said, there are 450 test profiles in Phoronix Test Suite. To view all test profiles, run:

phoronix-test-suite list-tests

Sample output would be:

To view details of any test profile, for example pts/apache, just run:

phoronix-test-suite info pts/apache

Sample output:

Phoronix Test Suite v7.0.0
Apache Benchmark 2.4.7

Run Identifier: pts/apache-1.6.1
Profile Version: 1.6.1
Maintainer: Michael Larabel
Test Type: System
Software Type: Utility
License Type: Free
Test Status: Verified
Project Web-Site: http://www.apache.org/
Estimated Run-Time: 265 Seconds
Download Size: 6.22 MB
Environment Size: 365 MB

Description: This is a test of ab, which is the Apache benchmark program. This test profile measures how many requests per second a given system can sustain when carrying out 1,000,000 requests with 100 requests being carried out concurrently.

Test Installed: No

Software Dependencies:
- Compiler / Development Libraries
- Support For PERL Language
- Perl Compatible Regular Expressions

As you can see in the output, pts/apache is not installed yet.

To install pts/apache test profile, simply run:

phoronix-test-suite install pts/apache

Please be mindful that Apache must be installed in your system in order to run this test.

Once it is installed, you can run it using command:

phoronix-test-suite run pts/apache

After the test is done, you can remove the installed test using command if you don’t it anymore:

phoronix-test-suite remove-installed-test pts/apache

Similarly, to benchmark a test profile, you can use the following command:

phoronix-test-suite benchmark <test-name>

If you don’t know about test profile’s usage, you can simply run the following command:

phoronix-test-suite list-test-usage

This command will list various details about installed tests and their usage.

Another, useful option is ‘list-recommended-tests’. It will list  recommended  test profiles for benchmarking.

phoronix-test-suite list-recommended-tests

PTS Test Suites

There are 100 test suites are available in PTS. You can view all of them using command:

phoronix-test-suite list-available-suites

You can install, run and view a test suite’s details as the way you do the test profiles in the previous chapter.

Another notable feature is you can upload the test suite to your account on OpenBenchmarking.org, so others can easily browse and access the uploaded test suite.

To do so, you need to create an account in OpenBenchmarking.org and you must be logged into the account.

To log in to your account from command line, run:

phoronix-test-suite openbenchmarking-setup

Finally, run the following command to upload the test suite:

phoronix-test-suite upload-test-suite

Viewing System details

As I mentioned earlier, PTS is not merely a testing and benchmarking tool. You can view and monitor your system resources s well.

To view your system details, just run:

phoronix-test-suite system-info

This command displays the installed system hardware and software information.

Phoronix Test Suite v7.0.0
System Information


 PROCESSOR: Intel Core i3-2350M @ 2.29GHz (1 Core)
 Core Count: 1
 Extensions: SSE 4.2 + AVX
 Cache Size: 3072 KB

GRAPHICS: InnoTek VirtualBox
 Screen: 800x600

MOTHERBOARD: Oracle VirtualBox v1.2
 Memory: 1024MB
 Chipset: Intel 440FX- 82441FX PMC
 Network: Intel 82540EM Gigabit

DISK: 21GB VBOX HDD
 File-System: ext4
 Mount Options: data=ordered errors=remount-ro relatime rw
 Disk Scheduler: DEADLINE

OPERATING SYSTEM: Ubuntu 16.04
 Kernel: 4.4.0-66-generic (x86_64)
 Compiler: GCC 5.4.0 20160609
 System Layer: Oracle VirtualBox

To view the installed system software and hardware sensors, run this command instead.

phoronix-test-suite system-sensors

Here is the sample result from my system:

Phoronix Test Suite v7.0.0
Supported Sensors For This System

CPU Frequency (CPU0): 2294.00 Megahertz
CPU Usage (CPU0): 10.20 Percent
CPU Usage (Summary): 0.00 Percent
Drive Read Speed (sda): 0.00 MB/s
Drive Write Speed (sda): 0.00 MB/s
Memory Usage: 79 Megabytes
Swap Usage: 3 Megabytes
System Iowait: 0.00 Percent

Unsupported Sensors For This System

- Ambient Temperature
- CPU Fan Speed
- CPU Power Consumption
- CPU Temperature
- CPU Voltage
- GPU Fan Speed
- GPU Frequency
- GPU Power Consumption
- GPU Temperature
- GPU Usage
- GPU Voltage
- Drive Temperature
- Network Usage
- System Fan Speed
- System Power Consumption
- System Temperature
- System Voltage

I am using PTS on my Virtual machine, so It displayed many unsupported sensors. If you test it in your physical system, you will get proper and accurate details of all hardware sensors.

There are many other useful commands available in PTS. Refer complete and detailed help section from the man pages.

man phoronix-test-suite

Also, check the official documentation manual to know everything about Phoronix test suite.

That’s all for now folks. Hope this helps. I will be soon here with another interesting guide. If you find this guide useful, share it on your social networks and support OSTechNix.

Cheers!

Resource:

Thanks for stopping by!

Help us to help you:

Have a Good day!!

You may also like...