Throttling Root Cause Analyzer
जब 429 hit करता है, DBA को जानना होता है कि कौन सी query, कौन सी partition, कौन सा समय कारण था। आज Azure Monitor + Log Analytics को cross करते हुए manual detective है। RCA हर 429s burst लेता है और window से ±N मिनट के अंदर निष्पादित queries (Query Cost Inspector से) के साथ correlate करता है, RU cumulative द्वारा suspects को रैंक करता है, और confidence score + पाठ्य rationale उत्पन्न करता है।
ऐप में यह कहाँ रहता है: Tools → Cosmos DB → Throttling Root Cause Analyzer
यह क्या करता है
- MetricsBridge (Azure Monitor या CloudWatch) से 429 events खींचता है।
- प्रत्येक burst के लिए, ±N मिनट (configurable) के भीतर Query Cost Inspector में queries खोजता है।
- Shape द्वारा समूहीकृत करता है, RU cumulative द्वारा रैंक करता है।
- Confidence score = window के कुल RU पर top shape के RU का share।
- स्वचालित Rationale: high-frequency vs single-expensive vs many-shapes संयोग।
चरण-दर-चरण
- 1
Pane खोलें
Tools → Cosmos DB → Throttling Root Cause Analyzer।
- 2
Window समायोजित करें
Default 5 मिनट। यदि workload में लंबे patterns हैं तो 10-15 तक बढ़ाएँ; surgical correlation चाहते हैं तो 2 तक कम करें।
- 3
Refresh / polling की प्रतीक्षा करें
हर 60s 429s खींचता है। शीघ्र ही 429s वाले top 20 windows के साथ table दिखाई देती है।
- 4
Suspects की जाँच करें
"Why" column में संक्षिप्त rationale है। "Confidence" column बताता है कितना निश्चित है। >70% red = लगभग निश्चित।
- 5
कार्य करें
Top suspect shape → WHAT-IF Lab में ले जाएँ → index test करें → लागू करें।
वास्तविक use cases
4am बग detection
4am पर PagerDuty alert: 429 spike। DBA RCA खोलता है, देखता है window 04:02-04:07 के साथ 187 throttles + shape `find({orgId, status: "pending"})` 87% confidence। Batch job में बग। 20 मिनट में fix।