码迷,mamicode.com
首页 > 其他好文 > 详细

Redis持久化——多实例部署(四)

时间:2018-02-03 12:47:13      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:alt   手动   gre   通过   多实例   运行   导致   完成   inf   

Redis单线程架构导致无法充分利用CPU特性,通常的做法是在一台机器上部署多个实例。

当多个实例开启AOF重写后,彼此之间会产生对CPU和IO的竞争。

 

对于单机部署多Redis部署,如果同一时刻运作多个子进程,对当前系统影响将非常明显,因此需要采取一种措施,把子进程工作进行隔离。

Redis在info Persistence中为我们提供了监控子进程运行状况的度量指标。

技术分享图片

我们基于以上指标,可以通过外部程序轮询控制AOF重写操作的执行,整个过程如下:

技术分享图片

流程说明:

(1)外部程序定时轮询监控机器(machine)上所有实例。

(2)对于开启AOF的实例,查看(aof_current_size - aof_base_size)/ aof_base_size确认增长率。

(3)当增长了超过特定阀值,执行bgrewriteaof命令手动触发当前实例的AOF重写。

(4)运行期间循环检查aof_rewrite_in_progress和aof_current_rewrite_time_sec指标,直到AOF重写结束。

(5)确认实例AOF重写完成后,在检查2-4步操作,从而保证机器内每个Redis实例AOF重写串行化执行。

 

Redis持久化——多实例部署(四)

标签:alt   手动   gre   通过   多实例   运行   导致   完成   inf   

原文地址:https://www.cnblogs.com/yangmingxianshen/p/8408261.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!