Phoronix Test Suite – An Open Source Testing And Benchmarking Tool
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.
- 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 by 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:
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
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.
- UnixBench – A Benchmark Suite For Unix-like Systems
- How To Benchmark Linux Commands And Programs From Commandline
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, professional networks and support OSTechNix.