Redis 常见问题之-AOF阻塞
Redis下一小节:7-1 Redis复制原理与优化
Redis 常见问题之-AOF阻塞
1、AOF追加阻塞
如果AOF文件fsync同步时间大于2s,Redis主进程就会阻塞;
如果AOF文件fsync同步时间小于2s,Redis主进程就会返回;
其实这样做的目的是为了保证文件安全性的一种策略。
AOF追加阻塞会产生两位问题:
(1)fsync大于2s时候,会阻塞redis主进程,我们都知道redis主进程是用来执行redis命令的,是不能阻塞的。
(2)虽然每秒everysec刷盘策略,但是实际上不是丢失1s数据,实际有可能丢失2s数据。
2、AOF阻塞定位
(1)通过Redis日志定位
(2)通过Redis命令定位
aof_delayed_fsync:100这个是同步延迟个数历史总数统计,可能查不出来在某个时间发生阻塞,你也可以自己记录这个信息。
(3)通过Linux命令top定位
%wa指CPU等待磁盘写入完成的时间,可以表明磁盘IO负载情况
wa, IO-wait : time waiting for I/O completion。
一般发生这种问题都是磁盘IO太高导致的问题,top一般就能看到了不需要其他工具。