stroppy.io · Docs · Stroppy Cloud · Discord
Why. Every number a load generator reports includes the load generator. We kept catching benchmarks that were really measuring the client: TPC-C runs where the tool, not the database, set the ceiling, and comparisons nobody else could reproduce because the machines, versions and settings were never written down. If the client is slow, the database waits and you end up measuring the tool. We want database numbers you can trust and that other people can check.
What. Stroppy is a single self-contained Go binary for database stress
testing. It ships TPC-B, TPC-C, TPC-H and TPC-DS, banking checks, and plain .sql files of your own, with drivers for
PostgreSQL, MySQL, CockroachDB, YugabyteDB, TiDB, Picodata and YDB. Data loads through each database's fast path with
deterministic generation, so the same seed gives the same rows however many workers load them, and stroppy baseline
shows how much room the client leaves on your machine before you start blaming the database.
Stroppy Cloud does the rest: it brings up the stand in your cloud, runs the test and
publishes a report with the workload, the database version and the machines it ran on, so two runs a week apart sit
side by side.
How. Download the binary and point it at a database:
stroppy run tpcc/tx -d pg -D url=postgres://user@host:5432/db. Around it sit the pieces that keep results honest
and repeatable: pg-noop, a PostgreSQL wire server that discards everything,
for measuring a client's own ceiling; stroppy-contrib with reference
workloads tested against Stroppy main; stroppy-action for running
benchmarks in CI; and stroppy-mcp, which lets an AI assistant inspect a
database, run a test and read the results. Start with the
docs or come talk to us on Discord.