Ir al contenido
← Volver al overview de Cosmos DB
Killer #6

Throttling Root Cause Analyzer

Cuando golpea 429, el DBA necesita saber QUÉ query QUÉ partition QUÉ hora causó. Hoy es detective manual cruzando Azure Monitor + Log Analytics. El RCA toma cada burst de 429s y correlaciona con queries ejecutadas ±N minutos de la ventana (viniendo del Query Cost Inspector), ranquea suspects por RU cumulativo y genera confidence score + rationale textual.

Dónde vive en la app: Tools → Cosmos DB → Throttling Root Cause Analyzer

Qué hace

  • Tira 429 events del MetricsBridge (Azure Monitor o CloudWatch).
  • Para cada burst, busca queries en el Query Cost Inspector dentro de ±N minutos (configurable).
  • Agrupa por shape, ranquea por RU cumulativo.
  • Confidence score = share del RU del top shape sobre total del RU de la ventana.
  • Rationale automático: high-frequency vs single-expensive vs many-shapes coinciden.

Paso a paso

  1. 1

    Abra el pane

    Tools → Cosmos DB → Throttling Root Cause Analyzer.

  2. 2

    Ajuste la ventana

    Default 5 min. Aumente a 10-15 si workload tiene patrones largos; disminuya a 2 si quiere correlation quirúrgica.

  3. 3

    Refresh / espere el polling

    Cada 60s jala 429s. Luego aparece la tabla con top 20 windows con 429s.

  4. 4

    Investiga los sospechosos

    Columna "Why" tiene rationale corto. Columna "Confidence" dice qué tan seguro está. >70% red = casi certeza.

  5. 5

    Actúe

    Top suspect shape → lleve al WHAT-IF Lab → pruebe índice → aplique.

Casos de uso reales

Detección de bug a las 4am

Alert de PagerDuty a las 4am: spike de 429. DBA abre el RCA, ve ventana 04:02-04:07 con 187 throttles + shape `find({orgId, status: "pending"})` 87% confidence. Bug en el batch job. Fix en 20 min.

¿Listo para verlo en su cuenta Cosmos?Descargar NoSqlStudioSiguiente → Diagnostic Logs (KQL)