perf-lab
perf-lab is a structured training course and script template library covering JMeter, k6, and Gatling across 17+ protocols. Includes a cross-platform desktop app (Tauri/Svelte) for browsing and launching templates.
| Tier | Contents | Price |
|---|---|---|
| Community (free) | JMeter templates only | Free |
| Pro — JMeter | 14-module course + 17+ protocol templates + desktop app | £149 |
| Pro — k6 | 14-module course + 17+ protocol templates + desktop app | £149 |
| Pro — Gatling | 14-module course + 17+ protocol templates + desktop app | £149 |
| Bundle (all three tools) | All of the above | £349 |
Protocol Templates
Section titled “Protocol Templates”Each paid tier includes templates for:
| Protocol | JMeter | k6 | Gatling |
|---|---|---|---|
| HTTP/S (REST) | ✓ | ✓ | ✓ |
| GraphQL | ✓ | ✓ | ✓ |
| WebSocket | ✓ | ✓ | ✓ |
| gRPC | ✓ | ✓ | ✓ |
| Kafka | ✓ | ✓ | — |
| AMQP (RabbitMQ) | ✓ | — | ✓ |
| JMS (ActiveMQ) | ✓ | — | ✓ |
| PostgreSQL | ✓ | ✓ | — |
| MySQL | ✓ | ✓ | — |
| MongoDB | ✓ | ✓ | — |
| Redis | ✓ | ✓ | — |
| FTP | ✓ | — | — |
| SMTP | ✓ | — | — |
| LDAP | ✓ | — | — |
| TCP (raw) | ✓ | ✓ | — |
14-Module Course Outline
Section titled “14-Module Course Outline”- Performance testing fundamentals — why, when, and what to measure
- Test environment setup — Docker, perf-containers, base images
- HTTP/S testing — sampler design, parameterisation, assertions
- Authentication — Basic, Bearer, OAuth 2.0 flows
- Data-driven testing — CSV feeds, random data, dummydatagenpro integration
- Correlation and extractors — regex, JSON path, XPath, boundary
- Load profiles — ramp, step, spike, soak
- Think times and pacing — realistic user simulation
- Assertions and SLA gates — response code, time, content, Apdex
- Protocol-specific testing — one module per tool covering gRPC, WebSocket, Kafka
- CI/CD integration — GitHub Actions, GitLab CI, Jenkins, Azure DevOps
- Results analysis — perf-reporting, perf-results-db, trend baselines
- Debugging — reading logs, diagnosing bottlenecks, flame graphs
- Advanced patterns — parameterised load, distributed execution, HAR correlation
Desktop App
Section titled “Desktop App”The Tauri/Svelte desktop app lets you:
- Browse all templates with protocol and tool filters
- Open templates directly in JMeter / k6 CLI / IntelliJ
- Manage your license key
- Check for template updates
Available for Windows, macOS, and Linux (AppImage).
Using Templates
Section titled “Using Templates”Templates are pre-configured, commented, and ready to run. Each template includes:
- A working test plan/script for the target protocol
- A
perf-ecosystem.ymlexample for the scenario - A README with setup instructions for the target server/service
JMeter template structure
Section titled “JMeter template structure”jmeter/ http-rest/ test-plan.jmx data/ users.csv README.md grpc/ test-plan.jmx proto/ service.proto README.mdk6 template structure
Section titled “k6 template structure”k6/ http-rest/ script.js config.js # options exported from here, override at CLI data/ users.json README.md websocket/ script.js README.mdperf-containers Integration
Section titled “perf-containers Integration”Templates are designed to run with the perf-containers Docker images, which include all required plugins and protocol drivers:
# Run a JMeter template via Dockerdocker run --rm \ -v $(pwd)/jmeter/http-rest:/test \ ghcr.io/markslilley/perf-jmeter:latest \ jmeter -n -t /test/test-plan.jmx -l /test/results.jtl