The approach
Baseline p50, p95 and p99 against representative traffic. Use dotnet-counters, dotnet-trace, PerfView and Application Insights to trace blocking I/O, N+1 queries, thread-pool starvation and memory pressure. Confirm changes with k6 or Azure Load Testing and agreed SLOs.
What you receive
- An agreed scope and measurable acceptance criteria.
- Source code, documentation and architecture decision records.
- A delivery plan, knowledge transfer and clear next steps.
The first step
A conversation about the problem, constraints and desired outcome. Scope and the working model are agreed before implementation.