redis-fork操作
1、fork操
1)同步操作
虽然fork同步操作是非常快的,但是如果需要同步的数据量过大,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重写自动触发时机,减少不必要的全量复制。