Skip to content
SPECIFICTION
Get listed

Percona pstress

github.com

Free plan LinuxSelf-hosted
Visit github.com
Spec score 7.5 #17 of 28 in Database Testing Tools

What it is

Percona pstress is a free, open-source Linux tool for concurrent database and crash-recovery testing. It creates randomized transactions from command-line options and runs concurrent workloads against a single server or cluster. Documented uses include checking database features, regressions, and recovery behavior for MySQL, Percona Server, and Percona XtraDB Cluster. A multithreaded C++ generator works with a Bash driver that coordinates concurrency and recovery steps. The driver can stop and restart a server between steps, change server variables, and continue with the preceding step’s data directory. Options control thread count, tables, records, transaction size, and SQL-operation probabilities. Trial directories normally retain the data directory, error logs, thread logs, mysqld binaries, and configuration. Building requires CMake 2.6 or later, a C++ compiler 4.7 or later, and development files for the target database version or fork. The repository identifies GPL-2.0 licensing. pstress runs self-hosted and does not verify that successful queries returned correct data.

Spec sheet

Purpose
pstress is a probability-based open-source tool for concurrent database testing and crash recovery testing.Read 7 Oct 2026 · github.com
Intended users
Percona's article describes regression, feature, and crash recovery testing as pstress use cases.Read 7 Oct 2026 · percona.com
License
The repository identifies its license as GPL-2.0.Read 7 Oct 2026 · github.com
Founded
2006Read 28 Sep 2026 · github.com
Architecture
pstress has a multithreaded C++ workload generator and a Bash driver script for concurrency and crash recovery testing.Read 7 Oct 2026 · github.com
Build requirements
The README lists CMake 2.6 or later, a C++ compiler 4.7 or later, and development files for the target MySQL version or fork as build requirements.Read 7 Oct 2026 · github.com
Crash recovery
The driver can stop and restart the server between test steps, vary server variables, and continue the workload using the previous step's data directory.Read 7 Oct 2026 · github.com
Diagnostics
By default, pstress saves each trial directory with the data directory, server error logs, thread logs, mysqld binaries, and the test configuration.Read 7 Oct 2026 · github.com
Limit
Percona's article says pstress does not verify that successful queries return correct data, and its data checks are limited.Read 7 Oct 2026 · percona.com
Server support
The README gives build options for MySQL, Percona Server, and Percona XtraDB Cluster.Read 7 Oct 2026 · github.com
Testing uses
The README says users can use it to test database features, regressions, and crash recovery.Read 7 Oct 2026 · github.com
Workload controls
Command-line options control workload details such as thread count, tables, records, transaction size, and SQL operation probabilities.Read 7 Oct 2026 · github.com
Workload generation
It generates random transactions based on user-provided options and can create concurrent load on a cluster or a single server.Read 7 Oct 2026 · github.com

Plans and prices

pstress Free Open-source database testing tool; source code and build instructions on GitHub Read 7 Oct 2026 · github.com

Every Percona pstress plan and price →

Strong points and limits

Strong points

  • Free and open-source under GPL-2.0
  • Generates concurrent workloads for servers or clusters
  • Supports MySQL, Percona Server, and XtraDB Cluster
  • Can stop, restart, and resume recovery workloads
  • Saves logs and configuration per trial

Limits

  • Does not verify successful query results
  • Data checks are limited
  • Requires local CMake, compiler, and database development files

Who it suits

pstress suits database engineers running self-hosted regression, feature, schema-migration, or crash-recovery tests on supported MySQL-family systems. It is intended for Linux environments where users can build and operate the tool.

Verdict

pstress provides configurable concurrent and crash-recovery workloads for supported MySQL-family databases. Its saved diagnostics and recovery controls are useful for self-hosted testing, but result validation remains limited.

Where Specifiction places it

Alternatives to Percona pstressAll alternatives →