Какую метрику используешь для оценки времени доступа к БД

«Какую метрику используешь для оценки времени доступа к БД» — вопрос из категории Базы данных, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Для оценки времени доступа к БД обычно использую p99 latency (99-й перцентиль) — он показывает худшие 1% запросов, что критично для SLA. Также смотрю среднее время (avg) и максимальное (max).

Пример метрик Prometheus:

// Замер времени запроса
start := time.Now()
rows, err := db.Query("SELECT * FROM users")
duration := time.Since(start).Seconds()

// Экспорт метрик
dbQueryDuration.WithLabelValues("users").Observe(duration)

Дополнительно полезны:

  • Throughput (запросов/сек)
  • Error rate (ошибки/таймауты)
  • Connection pool metrics (ожидающие запросы)