首页/数据/数据库速查/AOF 重写(BGREWRITEAOF 与自动重写阈值)
Redis 运维与场景124 条

AOF 重写(BGREWRITEAOF 与自动重写阈值)

AOF 会随写入不断膨胀,需要重写压缩:BGREWRITEAOF 手动触发;自动重写由百分比与最小体积双阈值控制。

数据库速查数据更新于 2026-10-12
BGREWRITEAOF后台重写,fork 子进程生成新 AOF
auto-aof-rewrite-percentage相对上次重写后的增长百分比(默认 100)
auto-aof-rewrite-min-size触发重写的最小体积(默认 64mb)

操作与观察

操作与观察
BGREWRITEAOF
INFO persistence | grep aof_rewrite_in_progress
INFO persistence | grep aof_base_size
INFO persistence | grep aof_pending_rewrite
CONFIG GET auto-aof-rewrite-percentage
CONFIG GET auto-aof-rewrite-min-size
重写同样走 fork + COW:重写期间写入压力大时,内存与磁盘 IO 双升;观察到 aof_rewrite_in_progress 长时间为 1 要排查慢盘。

易错点

  • 频繁自动重写:吞吐抖动,检查增长率与 min-size 是否太小
  • 重写期间做备份只拷 incr 文件:base 尚未合并,备份不一致

数据来源与参考

  • Redis 官方文档: BGREWRITEAOF
  • Redis 官方文档: auto-aof-rewrite-percentage

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌