Performance & Load Testing
Design realistic load, stress, and soak tests that surface bottlenecks long before they hit production.
The Problem
Performance issues are discovered in production by real users, not in test by the team.
The Solution
Code-first load tests with k6 and Gatling, integrated into CI with clear SLOs and trend dashboards.
The Outcome
Predictable performance, fewer incidents, and confidence to ship under load.
What this looks like in practice
Most teams treat performance testing as a one-off before a big release — a manual JMeter run on a laptop, the day before go-live. By the time results come back, it's too late to do anything about them.
I help teams build performance testing into the same engineering workflow as functional tests. Load, stress, and soak scenarios written as code, versioned alongside the application, and executed in CI against representative environments.
The deliverable isn't a 60-page PDF. It's a living suite with clear SLOs, baselines per release, and a dashboard everyone can read — so performance becomes a continuous conversation, not a panic.
What's included
SLO definition
Workshops with product and engineering to define what "fast enough" actually means per critical user journey.
Code-first load scripts
k6 or Gatling scripts versioned in Git, parameterized for load, stress, soak, and spike scenarios.
Realistic test data
Production-shaped data sets and traffic patterns so results actually map to reality.
CI integration
Automated runs on a schedule or per-release with pass/fail gates against your SLOs.
Trend dashboards
Grafana / Datadog views that compare every release to a baseline so regressions are obvious.
Bottleneck analysis
Joint deep-dives with engineering to translate red graphs into concrete fixes — DB, cache, code, or infra.
How I work with your team
- 01
Define SLOs
Pick the journeys that matter and the numbers that define healthy.
- 02
Script & seed
Build k6 / Gatling scenarios with realistic data and traffic shapes.
- 03
Run in CI
Wire automated runs into the pipeline with pass/fail gates.
- 04
Analyse & fix
Use the dashboards to drive concrete fixes, then lock in the gains.
Tools I use
Frequently asked
We already do JMeter runs before releases. Why change?+
Manual runs catch some issues but miss regressions and trends. Code-first, CI-integrated tests catch problems the day they're introduced, not the week before launch.
Do we need a production-sized environment?+
Ideally yes for the headline numbers, but a lot of value comes from smaller environments used for relative comparisons between releases.
k6 or Gatling — which do you recommend?+
k6 for most modern stacks (JS, scriptable, great CI story). Gatling when teams prefer Scala/Java or need very high concurrency from a single node.
Ready to talk about performance & load testing?
Send a quick note about your current setup. I'll come back with the shortest path to a fix.
Book a 30-min call