Diagnose a performance bottleneck
Hard120 pts~45 min
- Bottleneck analysis
- Comparative load
Practice app · Checkout Service
A load-testable checkout service with realistic latency that degrades under concurrency, plus a live metrics view.
Your starter code already declares BASE_URL — call the API relative to it.
Objective
Load two endpoints side by side and identify which one degrades with concurrency.
Your task
- 1Set options { vus: 10, iterations: 60 }.
- 2In group('search') GET /perf/search?q=mug; in group('checkout') GET /perf/checkout.
- 3check each: status 200 and per-endpoint budgets (search < 300 ms, checkout < 1200 ms via res.timings.duration).
- 4Write your conclusion in a comment: which endpoint is the bottleneck and why (latency grows per in-flight request).
Acceptance criteria
- Search and checkout return 200
- Requests are grouped per endpoint
- ≥ 100 requests are sent
- At least 100 check() calls pass
k6 load testing · Performance Testing · Scaling & analysis