mysql半同步从挂了_如果数据库主从半同步复制主库挂了怎么办

展开全部

问题复

我们都知道,半同步制复制中,如果bai slave 比较慢,会拖慢 master 的提du交性能。zhi

那么,在一主dao多从的半同步架构中,如果 master 的提交性能慢,如何判断是哪个 slave 拖慢了性能?

实验

先通过 dbdeployer 快速搭建一主两从半同步集群:

3ce5b5c633a0dec0d7d911c623ea7e7f.png

下面给 master 施加一些压力:

620d84b263a97d189797cb49bdcc85ec.png

然后我们用 strace,拖慢 slave2 的运行速度。

07a610f5a5a3a8cb32af38e572da5264.png

由于半同步复制的原因,现在 slave2 拖慢了 master 的提交性能。我们开始诊断,

设置半同步插件的日志级别为 16:

49745996f1a14434f96a7db22231fde2.png

查看 master 的 error log:

7e540a6deba419853d8d80bc3e54356c.png

大概扫一下 error log,如图举例,发现大部分半同步阻塞,最后收到的都是 server_id 为 300 的 slave。

而在我们的环境中,slave2 的 server_id 恰好是 300。

最后,记得将调整的日志级别调回来:

7b37cae760c3f03c5502b3703634b604.png

半同步插件并没有提供方便的方法查看各个 slave 谁拖慢了性能,所以我们通过调试日志来查看最后一个返回的 ack 都来自于哪台 slave。

大家使用此方法时,要注意调试日志的量比较大,不要开启太久以防占用过多磁盘。

893d38cf442218cfc0e36a9fb0555b3c.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值