Диагностика источника задержек (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.