Skip to content

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.

TierContentsPrice
Community (free)JMeter templates onlyFree
Pro — JMeter14-module course + 17+ protocol templates + desktop app£149
Pro — k614-module course + 17+ protocol templates + desktop app£149
Pro — Gatling14-module course + 17+ protocol templates + desktop app£149
Bundle (all three tools)All of the above£349

Each paid tier includes templates for:

ProtocolJMeterk6Gatling
HTTP/S (REST)
GraphQL
WebSocket
gRPC
Kafka
AMQP (RabbitMQ)
JMS (ActiveMQ)
PostgreSQL
MySQL
MongoDB
Redis
FTP
SMTP
LDAP
TCP (raw)
  1. Performance testing fundamentals — why, when, and what to measure
  2. Test environment setup — Docker, perf-containers, base images
  3. HTTP/S testing — sampler design, parameterisation, assertions
  4. Authentication — Basic, Bearer, OAuth 2.0 flows
  5. Data-driven testing — CSV feeds, random data, dummydatagenpro integration
  6. Correlation and extractors — regex, JSON path, XPath, boundary
  7. Load profiles — ramp, step, spike, soak
  8. Think times and pacing — realistic user simulation
  9. Assertions and SLA gates — response code, time, content, Apdex
  10. Protocol-specific testing — one module per tool covering gRPC, WebSocket, Kafka
  11. CI/CD integration — GitHub Actions, GitLab CI, Jenkins, Azure DevOps
  12. Results analysis — perf-reporting, perf-results-db, trend baselines
  13. Debugging — reading logs, diagnosing bottlenecks, flame graphs
  14. Advanced patterns — parameterised load, distributed execution, HAR correlation

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).

Templates are pre-configured, commented, and ready to run. Each template includes:

  • A working test plan/script for the target protocol
  • A perf-ecosystem.yml example for the scenario
  • A README with setup instructions for the target server/service
jmeter/
http-rest/
test-plan.jmx
data/
users.csv
README.md
grpc/
test-plan.jmx
proto/
service.proto
README.md
k6/
http-rest/
script.js
config.js # options exported from here, override at CLI
data/
users.json
README.md
websocket/
script.js
README.md

Templates are designed to run with the perf-containers Docker images, which include all required plugins and protocol drivers:

Terminal window
# Run a JMeter template via Docker
docker 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