深入理解Redis--fork操作
1、fork操作(1)同步操作虽然fork同步操作是非常快的,但是如果需要同步的数据量过大(比如超过20G),fork就会阻塞redis主进程。(2)与内存量息息相关内存越大,fork同步数据耗时越长,当然也跟服务器有关,服务器有物理机,也有虚拟机。(3)info:latest_fork_usec使用此命令可以查看持久化花费的时间,如果持久化时间过长,就会造成卡顿。例如:如果redis此时QPS上
·
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重写自动触发时机,减少不必要的全量复制。
更多推荐
已为社区贡献2条内容
所有评论(0)