关于性能:第24问一主多从的半同步复制到底是哪个-slave-拖慢了性能

31次阅读

共计 480 个字符,预计需要花费 2 分钟才能阅读完成。

问题

咱们都晓得,半同步复制中,如果 slave 比较慢,会拖慢 master 的提交性能。

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

试验

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

上面给 master 施加一些压力:

而后咱们用 strace,拖慢 slave2 的运行速度。

因为半同步复制的起因,当初 slave2 拖慢了 master 的提交性能。咱们开始诊断,设置半同步插件的日志级别为 16:

查看 master 的 error log:

大略扫一下 error log,如图举例,发现大部分半同步阻塞,最初收到的都是 server_id 为 300 的 slave。而在咱们的环境中,slave2 的 server_id 恰好是 300。最初,记得将调整的日志级别调回来:

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

大家应用此办法时,要留神调试日志的量比拟大,不要开启太久以防占用过多磁盘。


对于 MySQL 的技术内容,你们还有什么想晓得的吗?连忙留言通知小编吧!

正文完
 0