异常原因:
1:M 28 Nov 05:34:15.090 * Asynchronous AOF fsync is taking too long (disk is busy?).
Writing the AOF buffer without waiting for fsync to complete, this may slow down Redis.
异常分析:
开启AOF持久化功能时,文件刷盘的方式一般采用每秒一次,后 台线程每秒对AOF文件做 fsync 操作。
当硬盘压力过大时,fsync 操作需要等待,直到写入完成。
如果主线程发现距离上一次的 fsync 成功超过2秒,为了数据安全性它会阻塞直到后台线程执行 fsync 操作完成
可选解决方案:
方法一: 修改内核配置 sysctl vm.dirty_bytes=33554432 方法二: 关闭 AOF 持久化
最终解决方案
方法一:
echo "vm.dirty_bytes=33554432" >> /etc/sysctl.conf sysctl -p