๐ Advanced & Capstone ยท Days 25โ30
Day 30: Capstone: Debug a Failing System
Objective
Given a deliberately degraded scenario, run load, find the bottleneck, and propose a fix.
Scenario
You are handed a slow or erroring system. You don't know why. Run your full toolkit: baseline, ramp-up, correlation, infra metrics, APM. Find the root cause. Write it up.
Metrics to Watch
When It Clicks
Everything clicks - tool output + infra metrics = root cause.
Solution
The diagnostic sequence: (1) Run a 1-user baseline to confirm the endpoint is functional (Day 2). (2) Ramp to find the knee (Day 7). (3) Check if it is CPU, memory, DB, or I/O bound using the bottleneck toolkit from Days 19-24. (4) Correlate with APM traces (Day 26). (5) Document the root cause with evidence: a slow query log line, a GC log excerpt, or a connection pool wait histogram. (6) Propose a fix, estimate its impact on the saturation point, and commit the test library so the next engineer has a starting point. This sequence is repeatable on any system.
Reflection
Which Day's skill was the most useful in finding the root cause?
Deliverable
A complete debug write-up: scenario, findings, root cause, recommendation, script library.
โ ๏ธ Never run load tests against infrastructure you do not own or have explicit written permission to test. Always use a dedicated test environment. Unauthorized load injection can cause outages, trigger legal liability, and violate terms of service.