Supporting track

Performance Testing

Load profiles, SLAs and reading results like an engineer.

What this track covers

Load vs stress vs soakWorkload modellingThink time & pacingJMeter basicsk6 scriptingPercentiles vs averagesBottleneck analysisCI integration

A load test with clear SLAs

Define thresholds in the script so the test fails itself — no manual chart reading.

Why it is required: Performance tests without thresholds produce opinions, not gates.

Example: A k6 script with p95 latency and error-rate thresholds.

javascript
1export const options = {
2 stages: [
3 { duration: '2m', target: 200 },
4 { duration: '5m', target: 200 },
5 { duration: '2m', target: 0 },
6 ],
7 thresholds: {
8 http_req_duration: ['p(95)<800'],
9 http_req_failed: ['rate<0.01'],
10 },
11};

Expected result

The run fails automatically if p95 exceeds 800ms or errors exceed 1%.

Common mistakes

  • Reporting averages instead of p95/p99
  • No think time, producing unrealistic load
  • Testing on hardware unlike production

Why are percentiles more useful than averages?

Related interview questions

Open bank
  • How do you decide the load profile for a performance test?

    Derive it from production analytics: peak concurrent users, transaction mix, think time and peak-hour distribution — never from a guessed round number.

  • Load, stress, soak and spike testing — what does each answer?

    Load: does it meet SLAs at expected traffic. Stress: where does it break and how. Soak: does it degrade over hours (leaks). Spike: does it survive a sudden surge and recover.

  • Which metrics do you report, and why is average response time misleading?

    Report p90/p95/p99 latency, throughput, error rate and concurrency together — averages hide the tail where real users suffer.

  • How do you build a realistic workload model?

    Derive it from production data: transaction mix by volume, think times, session length, peak concurrency and data volumes — then validate the model against a known production hour.

  • You found a bottleneck. How do you analyse it?

    Work from the outside in: confirm it in the client metrics, correlate with server APM traces, then isolate the layer — app CPU, GC, database, cache, external call, or network.

  • What is load testing, and why does it matter in Performance?

    load testing is a core Performance concept used to make testing decisions more accurate, repeatable, and aligned with product risk.