Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Runbook: HighSlowQueryRatio

Source of truth: tools/observability/alerts/angarabase_alerts.yaml. Backed by: RM-0.6.3.8 S7. Renamed from HighErrorRate в G2-FIX cycle 2 (F-S7-1, 2026-04-19) чтобы честно отразить семантику.

Что означает

Доля slow-запросов превышает 1 % от общего числа запросов за последние 5 минут:

rate(angarabase_slow_query_total[5m])
  / clamp_min(rate(angarabase_query_exec_total[5m]), 1)
  > 0.01

Важно: это НЕ true error rate. AngaraBase пока не разделяет angarabase_query_exec_total на _ok / _err counter’ы (Design Gap DG-1, перенесено в RM-0.6.6.0). Slow-query ratio — best-effort proxy для client-perceived degradation. Истинный HighErrorRate появится после split’а counter’ов.

Severity

warning. Сигнал деградации, не отказ.

Initial response

  1. Открыть Grafana Overview v2 → row “Query Performance” → panel “Slow queries / Total queries ratio”.
  2. Drill-down в Query Store dashboard → top-N slow queries.
  3. Проверить корреляцию с BufferPoolPressure, LongTransaction, WALFsyncSlow.

Diagnostics

curl -sf http://127.0.0.1:9898/metrics | rg -E '^angarabase_(slow_query|query_exec)_total'
psql -c "SELECT * FROM angara_stat_statements ORDER BY total_time DESC LIMIT 10;"

Mitigation

СимптомДействие
Конкретный запросEXPLAIN ANALYZE → пересоздать индекс / переписать запрос
runtime_facts.spill_bytes > 0Нехватка памяти для оператора. См. Performance tuning (увеличение memory limit / work_mem)
seq scan chosen: low cardinality / low selectivityОжидаемо при порогах в [execution]. Сначала ANALYZE и distinct_estimate. Затем при необходимости поправьте index_cardinality_threshold / index_scan_selectivity_threshold в angarabase.conf (или env до старта) и сделайте рестарт; SET в Simple Query не применяется. См. Statistics, Performance tuning
Все запросы медленнееСм. HighP99Latency — сначала проверить системные сигналы
Растёт после deployОткатить релиз; проверить план запросов
Корреляция с GCСм. GCBloatHigh

Escalation

Если ratio не падает > 30 минут → diagnostics bundle + эскалация.

Связанные