DBAtlas · Атлас эксплуатации баз данных

Диагностика источника задержек (LATENCY DOCTOR, гистограмма, commandstats)

RedisПроизводительность

Команда

# Enable the latency monitor (record events above 100 ms):
CONFIG SET latency-monitor-threshold 100
LATENCY LATEST
LATENCY HISTORY command
LATENCY DOCTOR
# Per-command latency distribution and percentiles:
LATENCY HISTOGRAM GET SET HGETALL
INFO latencystats
# Most expensive commands by total CPU time:
redis-cli -h redis1 -p 6379 INFO commandstats | sort -t= -k3 -rn | head
# On the server host, baseline latency outside Redis (VM/steal detection, 30 s):
redis-cli --intrinsic-latency 30
LATENCY RESET

Что делает

Монитор задержек фиксирует всплески задержки от событий fork, AOF fsync, цикла expire и медленных команд; показывает перцентили задержки по командам и самые дорогие команды по суммарному времени CPU; измеряет базовую задержку на уровне хоста.

Когда использовать

Когда приложение видит всплески p99-задержки, а жалобы на медленную работу продолжаются, хотя SLOWLOG чист.

Внимание

latency-monitor-threshold по умолчанию 0 (выключен); после диагностики верните старое значение. SLOWLOG измеряет только время выполнения команды и не видит ожиданий сети и очереди; события LATENCY фиксируют также подвисания внутри сервера, такие как fork и fsync. --intrinsic-latency расходует CPU и должен запускаться на машине, где работает сервер Redis.

Открыть в DBAtlas →

Связанные материалы