关闭持久化对服务的影响与建议

关闭持久化对服务的影响与建议

更新时间:2020-09-07 09:17:26

概述

若您的Redis实例开启了AOF持久化功能,出现由fork、aof_write耗时长,影响到业务的情况,建议您关闭AOF功能,下面介绍关闭AOF功能的影响与建议。

详细信息

阿里云提醒您:

  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

首先您需要了解AOF的作用,AOF是Redis的一种持久化机制,会生成appendonly文件,它记录了用户的写日志。开启AOF能够让内存的数据定期保存到磁盘中,相当于数据多了一份保险。关闭AOF功能的影响与建议如下所示:

  • 开启AOF对Redis(社区版和企业版)的影响。
    开启AOF后会定期将AOF生成的文件压缩(Rewrite),而在fork压缩进程工作时会有几十毫秒甚至一百多毫秒的抖动,这个时间与实例的内存使用量有关(Linux或Unix在fork时拷贝页表的时延)。
  • AOF Rewrite频率能否控制。
    Redis的AOF压缩的条件是当磁盘存储增量大于200%或者内存增长超过25%时自动触发,只与用户的写入量有关,使用过程不做控制。
  • 是否可以关闭AOF。
    • 如果您的实例是双副本,关闭AOF(实际上是关闭了主库上的AOF)能够减少Rewrite对时延的影响,但是会少一份数据的保证。
    • 如果用户是Cache类应用则可以关闭。
    • 如果使用的是企业版Redis(tair),且开通了DTS跨域多活服务,或者数据闪回(任意时间点进行数据恢复),则不能关闭AOF。

适用于

  • 云数据库Redis