Database stress testing CLI tool powered by k6 workload engine.
- Built-in TPC-B, TPC-C, TPC-DS like workload tests
- Custom test scenarios support via TypeScript
- PostgreSQL driver (more databases coming soon)
- k6-based load generation engine
Download the latest release from GitHub Releases.
Build requirements:
- Go 1.24.3+
- Node.js and npm
- git, curl, unzip
# Install binary dependencies
make .bin-deps
# Build protocol buffers
make proto
# Build k6 with stroppy extensions
make build-k6
# Build stroppy binary
make build
The binary will be available at ./build/stroppy.
# Generate workspace with preset
stroppy gen --workdir mytest --preset=simple
# Or for execute_sql preset
stroppy gen --workdir mytest --preset=execute_sql
# Check available presets
stroppy help gen
This creates a new directory with:
- Stroppy binary
- Test configuration files
- TypeScript test templates
You can also run test scripts without workdir or any preparations.
cd mytest
npm install
# Run simple test
./stroppy run simple.ts
# Run SQL execution test
./stroppy run execute_sql.ts tpcb_mini.sql
After generating a workspace:
- Edit TypeScript test files in your workdir
- Import stroppy protobuf types from generated
stroppy.pb.tsand use helpers framework. - Use k6 APIs for test scenarios
- Run with
./stroppy run <test-file>.ts
Look at simple.ts and tpcds.ts first as a reference.
See LICENSE file for details.