Kada ka zace — auna da farko. Sannu na iya zuwa daga client, hanyar sadarwa, server, ko database. Hanyar aiki ta jiya-jiya tana nemo inda lokaci ke tafi, sannan ta gyara babbar abin da ke sa jiya maimakon gyara ba jiya ba.
Kada ka zace — auna da farko. Sannu na iya zuwa daga client, hanyar sadarwa, server, ko database. Hanyar aiki ta jiya-jiya tana nemo inda lokaci ke tafi, sannan ta gyara babbar abin da ke sa jiya maimakon gyara ba jiya ba.
1. MEASURE → where is the time spent? client render, network, server, DB?
2. REPRODUCE → confirm it reliably (same endpoint, payload, user)
3. TRACE → use APM/distributed traces to find the slow span
4. CHECK RECENT CHANGES → deploys, config, traffic, data growth
5. ISOLATE → layer by layer, narrow to one component
6. FIX the biggest contributor → re-measure to confirm
Yi amfani da tabin Network/Performance na browser da timing na server domin raba jimillar. Wata ura mai amfani:
Total 1200ms =
DNS/connect 20ms
server TTFB 900ms ← the bottleneck is server-side
download 80ms
client render 200ms
Duba percentiles, ba matsakaita ba: p50 (user na gida) vs p99 (mafi munin yanayi). Saurin p50 tare da sannu na p99 yana nuna abubuwa na lokaci-lokaci — karbar kulle, nyakati sannu, slow DB replica, ko GC pauses — ba matsala mai malama ba.
Kayan APM (traces) suna nuna daidai inda jiya ke ci gida a cikin bukat:
GET /orders 950ms
├─ auth check 10ms
├─ SELECT orders 30ms
└─ loop: SELECT user per order 900ms ← N+1 query, the real cause
Trace tana tofa jiya ga kiran da ke sa jiya. Sannan duba sauran canja — deploy, index da ba, ko haɓaka data 10x sau da yawa yana bayyana kemmako mai leɓe.
Zace-zace yana bata sa'o'i gyara waje na waje. Auna da farko, bi-biyan sannu na waje, da duba p50 vs p99 suna juya "ba ya sannu" zuwa takaici, ana iya gyara — da auna gaba tana tabbatar da canja ya yi aiki.