A practical guide to profiling a slow web application

Performance work begins with a specific wait. “The application feels slow” becomes useful only when it turns into “opening a customer record takes four seconds after the click.”

Capture before changing

performance.mark("record:start");nawait loadCustomerRecord(id);nperformance.mark("record:end");nperformance.measure("record", "record:start", "record:end");

A trace often reveals that the expensive operation is not where the team expected. Measure the complete path, make one change, and measure again.

View full version →