redis巡检
一 目的
定期主动执行数据库巡检可以及时有效的发现数据库潜在问题,降低数据库运行风险。本巡检报告是针对Redis数据库主机的系统资源、数据库运行状态指标采集分析,得出调整建议供用户决策评估
二 巡检项目
2.1 系统部分
巡检项 | 描述 |
---|---|
磁盘空间可用率 | 评估系统磁盘空间是否充足。 |
内存使用率 | 评估系统内存是否充足。 |
swap分区配置 | 评估系统swap分区的使用权重 |
numa架构 | 评估是否开启numa导致性能问题 |
操作系统日志 | 评估系统是否存在运行异常 |
系统资源ulimit | 评估数据库用户是否收到系统ulimit资源限制 |
操作系统版本/内核版本 | 评估是否会触发操作系统bug等问题 |
透明大页 | 评估系统是否开启透明大页(THP)特性 |
内存分配策略 | 评估系统是否可以充分分配物理内存 |
TCP连接 | 评估系统高并发下是否容易发生丢包问题 |
2.2 数据库部分
巡检项 | 描述 |
---|---|
连续运行时长 | 可反映数据库连续的可用性 |
数据分布 | 反映不同**schema**的数据量 |
性能参数配置 | 反映数据库是否高效运行 |
慢日志 | 反应数据库是否高效运行 |
安全性参数配置 | 反映数据库是否存在安全风险 |
高可用架构 | 反映数据库架构及服务可用性 |
数据库复制状态 | 反映数据库复制同步状态及延迟情况 |
错误日志 | 反映数据库运行过程中是否存在异常 |
三巡检内容
3.1版本信息
3.1.1 系统版本
实例/ip | 检查结果(操作系统版本) | Normal/Notice/Warning | 备注 |
---|---|---|---|
Normal | |||
Normal | |||
Normal |
3.1.2 Redis版本
实例 | 检查结果(redis版本) | Normal/Notice/Warning | 备注 |
---|---|---|---|
Normal | |||
Normal | |||
Normal |
3.2 系统参数
3.2.1 内存透明大页(THP)
巡检方式
# cat /sys/kernel/mm/transparent_hugepage/enabled
# cat /sys/kernel/mm/transparent_hugepage/defrag
巡检结果
实例(ip:port) | 检查结果 | Normal/Notice/Warning | 备注 |
---|---|---|---|
Warning | 建议关闭,开启后fork子进程时会导致增加内存消耗 | ||
Warning | |||
Warning |
标准大页管理是预分配方式,而透明大页管理则是动态分配方式
为什么Transparent HugePages(透明大页)对系统的性能会产生影响.
在khugepaged进行扫描进程占用内存,并将4 kPage交换为Huge Pages的这个过程中,对于操作的内存的各种分配活动都需要各种内存锁,直接影响程序的内存访问性能。并且,这个过程对于应用是透明的,
在应用层面不可控制,对于专门为4 k page优化的程序来说,可能会造成随机的性能下降现象。
3.2.2 内存策略
# cat /proc/sys/vm/overcommit_memory
巡检结果
实例(ip:port) | 检查结果 | Normal/Notice/Warning | 备注 |
---|---|---|---|
0 | Warning | 强烈建议设置为1,避免系统限制分配物 |