FREEDOM251

Freedom251 › Database Testing Tools

Percona pstress

Free plan LinuxSelf-hosted

Visit Percona pstress Alternatives Pricing

Percona pstress's own site

What Percona pstress is

Percona pstress is a free, open-source tool for generating concurrent database workloads and testing crash recovery. It creates randomized transactions from user-provided options and can apply concurrent load to a single server or a cluster. Its documented uses include checking database features, regressions, and crash recovery. The README gives build options for MySQL, Percona Server, and Percona XtraDB Cluster.

The tool combines a multithreaded C++ workload generator with a Bash driver for concurrency and crash recovery testing. For recovery tests, the driver can stop and restart the server between steps, vary server variables, and continue the workload using the data directory from the previous step. Command-line options control details such as thread count, tables, records, transaction size, and the probabilities of SQL operations. By default, each trial directory saves the data directory, server error logs, thread logs, mysqld binaries, and test configuration.

pstress runs on Linux in a self-hosted setup. Building it requires CMake 2.6 or later, a C++ compiler 4.7 or later, and development files for the target MySQL version or fork. The repository identifies its license as GPL-2.0. Its data checks are limited: it does not verify that successful queries return correct data.

Who it suits

pstress suits database developers and testers working on feature, regression, or crash recovery tests for MySQL, Percona Server, or Percona XtraDB Cluster. It is designed for users who can build and run a self-hosted Linux tool and configure workloads through command-line options.

What it does well

  • Generates random transactions from user-provided options.
  • Creates concurrent load on a server or cluster.
  • Supports crash recovery steps that reuse the previous data directory.
  • Command-line options control workload size and SQL operation probabilities.
  • Saves trial data, logs, binaries, and test configuration by default.
  • GPL-2.0 licensed and free.

What to know first

  • Does not verify that successful queries return correct data.
  • Data checks are limited.
  • Building requires CMake 2.6 or later and a C++ compiler 4.7 or later.
  • Requires development files for the target MySQL version or fork.

Limits

pstress does not verify that successful queries return correct data, and its data checks are limited.

Plans

PlanBilled and limitsPrice
pstressOpen-source database testing tool; source code and build instructions on GitHubFree

As github.com lists them, read 7 Oct 2026. The maker's own page has the final word.

Getting started

  1. Visit https://github.com/Percona-QA/pstress.
  2. Review the source code and build instructions on GitHub.
  3. Use a Linux environment for the self-hosted setup.
  4. Install CMake 2.6 or later and a C++ compiler 4.7 or later.
  5. Provide development files for the target MySQL version or fork.
  6. Build for MySQL, Percona Server, or Percona XtraDB Cluster.

Verdict

Choose pstress for free, self-hosted concurrent workload and crash recovery testing across the listed MySQL server options. Look elsewhere if your testing requires pstress itself to verify that successful queries returned correct data; its data checks are limited.

Questions

How much does pstress cost?

The pstress plan is free.

Is pstress open source?

Yes. The repository identifies its license as GPL-2.0, and provides source code and build instructions on GitHub.

Which databases does it support?

The README gives build options for MySQL, Percona Server, and Percona XtraDB Cluster.

Which platforms does it support?

It runs on Linux in a self-hosted setup.

What does pstress test?

Its documented uses include database features, regressions, and crash recovery testing.

Does it check query results for correctness?

It does not verify that successful queries return correct data, and its data checks are limited.

Facts from Percona pstress's own pages

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

Where Percona pstress stands on Freedom251

Look at these too