redis运维:监控指标体系与性能问题分析
前言
redis 用起来简单,出问题时排查难。这篇从监控指标体系和性能问题分析两个维度整理运维要点,指标是日常巡检的眼睛,排查手段是出事时的手术刀。
一、监控指标体系
redis 的监控指标可以分为五大类。
1. 性能指标(Performance)
| Name | Description |
|---|---|
| latency | Redis 响应一个请求的时间 |
| instantaneous_ops_per_sec | 平均每秒处理请求总数 |
| hit rate (calculated) | 缓存命中率(计算出来的) |
2. 内存指标(Memory)
| Name | Description |
|---|---|
| used_memory | 已使用内存 |
| mem_fragmentation_ratio | 内存碎片率 |
| evicted_keys | 由于最大内存限制被移除的 key 的数量 |
| blocked_clients | 由于 BLPOP、BRPOP 或 BRPOPLPUPUSH 而被阻塞的客户端 |
3. 基本活动指标(Basic activity)
| Name | Description |
|---|---|
| connected_clients | 客户端连接数 |
| connected_slaves | slave 数量 |
| master_last_io_seconds_ago | 最近一次主从交互之后的秒数 |
| keyspace | 数据库中的 key 值总数 |
4. 持久性指标(Persistence)
| Name | Description |
|---|---|
| rdb_last_save_time | 最后一次持久化保存磁盘的时间戳 |
| rdb_changes_since_last_save | 自最后一次持久化以来数据库的更改数 |
5. 错误指标(Error)
| Name | Description |
|---|---|
| rejected_connections | 由于达到 maxclient 限制而被拒绝的连接数 |
| keyspace_misses | key 值查找失败(没有命中)次数 |
| master_link_down_since_seconds | 主从断开的持续时间(以秒为单位) |
二、监控方式与工具
常用工具:redis-benchmark、redis-stat、redis-faina、redislive、redis-cli、monitor、slowlog。
……