1、fork操作

(1)同步操作

       虽然fork同步操作是非常快的,但是如果需要同步的数据量过大(比如超过20G),fork就会阻塞redis主进程。

(2)与内存量息息相关

       内存越大,fork同步数据耗时越长,当然也跟服务器有关,服务器有物理机,也有虚拟机。

(3)info:latest_fork_usec

       使用此命令可以查看持久化花费的时间,如果持久化时间过长,就会造成卡顿。

       例如:如果redis此时QPS上万,此时redis正在持久化,而且持久化时间比较长(1s或者10几秒),此时就会严重阻塞redis。

2、改善fork

(1)优先使用物理机或者高效的虚拟机支持fork操作

(2)控制redis实际最大可用内存:maxmemory

(3)合理配置linux内存分配策略:vm.overcommit_memory=1

(4)降低fork频率:例如放宽AOF重写自动触发时机,减少不必要的全量复制。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐