千家信息网

redis因AOF追加磁盘阻塞发生故障转移

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,追加AOF时磁盘繁忙redis 错误日志截图下图为AOF工作流程图AOF工作流程图1.所有的写入命令会追加aof_buf(缓冲区中)。2.AOF缓冲区根据对应的策略向硬盘做同步操作。3.随着AOF文件
千家信息网最后更新 2024年11月23日redis因AOF追加磁盘阻塞发生故障转移

追加AOF时磁盘繁忙

redis 错误日志截图

下图为AOF工作流程图


AOF工作流程图

1.所有的写入命令会追加aof_buf(缓冲区中)。

2.AOF缓冲区根据对应的策略向硬盘做同步操作。

3.随着AOF文件越来越大,需要定期对AOF文件进行重写,达成压缩的目的(对一个key跟新100次会有100条记录, 重写后只留最后一条).

4.当redis服务器重启时,可以加载AOF文件进行数据恢复。

原主数据库追加aof阻塞

ip地址 原主库追加阻塞次数.

aof_delayed_fsync:154


使用everysec(每秒)刷盘策略的流程图


1.主线程负责AOF缓冲区

2.AOF线程负责每秒一次同步磁盘操作,并记录最近一次同步时间.

3.主线程对比AOF同步时间:

3.1如果距离上次同步时间在两秒内,主线程直接返回。

3.2如果距离上次同步时间超过两秒(意识是现在还在同步),主线程将会被阻塞, 直到同步完成。

整个集群的其他主库阻塞次数统计

15台主库的AOF 在SYNC的时候因磁盘繁忙,

追加AOF时阻塞次数,其中有11台主库被阻塞过,

aof_delayed_fsync阻塞次数.

ip1

# Persistence

aof_delayed_fsync:1

ip2

# Persistence

aof_delayed_fsync:18

ip3

# Persistence

aof_delayed_fsync:0

ip4

# Persistence

aof_delayed_fsync:1

解决方案

1.打开no-appendfsync-on-rewrite参数, 默认关闭,表示AOF重写期间不做sync操作, 并不能根本解决问题, 因为故障转移前没有发生AOF重写。

2.关闭AOF, 如果一组(主-从) 同时宕机, 会丢失5分钟数据,启动redis时如果没有发现AOF文件,redis 会选择RDB来恢复数据,rdb copy-on-write到磁盘的频率5分钟一次。

3.提升磁盘写入速度。


重启加载流程图


RDB 物化到磁盘频率图


同步 阻塞 磁盘 线程 数据 文件 时间 次数 流程 流程图 缓冲区 缓冲 繁忙 原主 策略 频率 工作 故障 下图 参数 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 pos机操作数据库失败 数据库中的bool 陕西服务器托管 吉林新一代软件开发服务价格优惠 如何登oracle数据库 邮件服务器错误 服务器配置需要多大的电脑 数据库字段比对工具 网络安全教育简报大学 购买云服务器有限制年龄吗 网络安全与信息化期刊 河南手机软件开发技术 网络安全3级设备有哪些 化工软件开发询问臻动传媒 国学幼儿园软件开发 财务软件数据库太大怎么办 苏州戴尔服务器功能介绍 怎样建立服务器在线编辑文件 简述客户-服务器方式工作过程 公安网络安全应急工作 浙江华为服务器虚拟化操作服务器 基于构件软件开发方法的问题 如何把别人的数据库拷贝 vba连接两次数据库 软件开发项目 验收专家意见 河南仟润网络技术有限公司评价 通信网络安全防护管理办法 阿里香港的服务器 软件开发和程序员哪个好 三星神经网络技术键盘是什么
0