Skip to content

Phoronix Test Suite - Automated Benchmarking Cheatsheet

Phoronix Test Suite - Automated Benchmarking Cheatsheet

The Phoronix Test Suite (PTS) is an open-source, cross-platform automated benchmarking framework. It provides hundreds of downloadable test profiles (CPU, GPU, disk, memory, compilers, databases, and more), handles their installation and dependencies, runs them reproducibly, aggregates results, and can upload/compare them through OpenBenchmarking.org. It turns “benchmark my system” from a manual chore into a repeatable, shareable, turn-key process.

Installation

PlatformCommand
Debian/Ubuntusudo apt install phoronix-test-suite
Fedora/RHELsudo dnf install phoronix-test-suite
Arch (AUR)yay -S phoronix-test-suite
Genericdownload the release tarball, run ./install-sh
RequirementPHP (CLI) is required
Verifyphoronix-test-suite version

Core Concepts

TermMeaning
Test profileA single benchmark (e.g. pts/stress-ng)
Test suiteA bundle of related test profiles
ResultSaved benchmark output for a system
OpenBenchmarking.orgCloud repo of profiles and shared results
Batch modeNon-interactive runs for automation

Finding & Installing Tests

CommandDescription
phoronix-test-suite list-available-testsList all downloadable test profiles
phoronix-test-suite list-available-suitesList test suites
phoronix-test-suite search compressSearch for tests
phoronix-test-suite info pts/stress-ngShow details about a profile
phoronix-test-suite install pts/stress-ngDownload and install a test

Running Benchmarks

CommandDescription
phoronix-test-suite benchmark pts/stress-ngInstall + run in one step
phoronix-test-suite run pts/c-rayRun an installed test
phoronix-test-suite default-run pts/cpuRun with default options
phoronix-test-suite benchmark build-linux-kernelCompile-the-kernel stress (CPU+RAM+bus)
phoronix-test-suite finish-run RESULTResume/complete a saved run

During a run PTS prompts for a result name and can repeat tests to compute a confident average.

Managing Results

CommandDescription
phoronix-test-suite list-saved-resultsList local results
phoronix-test-suite show-result RESULTDisplay a result
phoronix-test-suite compare-results-to-baselineCompare against a baseline
phoronix-test-suite merge-results A BMerge result files
phoronix-test-suite result-file-to-csv RESULTExport to CSV
phoronix-test-suite remove-result RESULTDelete a result

Comparing Systems

# Run the same test on two machines, give matching result IDs, then:
phoronix-test-suite merge-results machineA machineB
phoronix-test-suite show-result merged   # side-by-side comparison

Batch / Automation

CommandDescription
phoronix-test-suite batch-setupConfigure non-interactive defaults
phoronix-test-suite batch-benchmark pts/cpuRun without prompts
TEST_RESULTS_NAME=run1 phoronix-test-suite ...Set result name via env
Env varsFORCE_TIMES_TO_RUN, BATCH_MODE, etc. control runs

System Info & Monitoring

CommandDescription
phoronix-test-suite system-infoDetailed hardware/software inventory
phoronix-test-suite system-sensorsRead available sensors
phoronix-test-suite diagnosticsEnvironment diagnostics

Common Workflows

# Turn-key CPU + memory soak via the kernel build test
phoronix-test-suite benchmark build-linux-kernel

# Reproducible storage benchmark, exported for a report
phoronix-test-suite benchmark pts/fio
phoronix-test-suite result-file-to-csv <result-name>

# Stability validation combining tools: PTS for load, watch dmesg/journal
phoronix-test-suite batch-benchmark pts/stress-ng

Phoronix Test Suite vs Single Tools

AspectPhoronix Test Suitesysbenchstress-ng
ScopeHundreds of profiles, many domainsCPU/mem/IO/DBCPU/mem/IO stressors
AutomationFull (batch, profiles, results)Manual scriptingManual flags
Result sharingOpenBenchmarking.orgNoneNone
Best forComparable, reproducible suitesTargeted micro-benchmarksStability/stress load

Resources