1:M 28 Nov 05:34:15.090 * Asynchronous AOF fsync is taking too long (disk is busy?). Writing the AOF

  • 异常原因:

    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

  • 1:M 28 Nov 05:34:15.090 * Asynchronous AOF fsync is taking too long (disk is busy?). Writing the AOF

相关文章: