暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

17.3.6 Improving Replication Performance

原创 由迪 2020-03-13
452

随着连接到主机的从机数量的增加,尽管每个负载都很小,但负载也增加了,因为每个从机都使用到主机的客户端连接。同样,由于每个从站必须接收主二进制日志的完整副本,因此主站上的网络负载也可能增加并造成瓶颈。

如果您使用大量从属服务器连接到一个主服务器,而该主服务器也正在忙于处理请求(例如,作为横向扩展解决方案的一部分),那么您可能希望提高复制过程的性能。

改善复制过程性能的一种方法是创建一个更深的复制结构,该复制结构可使主服务器仅复制到一个从服务器,并使其余从服务器连接到该主从服务器以满足其各自的复制需求。图17.3“使用附加的复制主机提高性能”中显示了此结构的示例 。

图17.3使用其他复制主机提高性能

image.png

为此,必须按以下方式配置MySQL实例:

主机1是将所有更改和更新都写入数据库的主要主机。应在此计算机上启用二进制日志记录。

主站2是主站1的从站,它向复制结构中的其余从站提供复制功能。主站2是唯一允许连接到主站1的计算机。主站2还启用了二进制日志记录,并且启用了 log_slave_updates系统变量,以便将来自主站1的复制指令也写入主站2的二进制日志中,以便随后将其复制到主站2。真正的slaves。

从站1,从站2和从站3充当主站2的从站,并复制来自主站2的信息,该信息实际上由登录到主站1的升级组成。

上述解决方案减少了主服务器上的客户端负载和网络接口负载,当用作直接数据库解决方案时,这将提高主服务器的整体性能。

如果您的从属服务器无法跟上主服务器上的复制过程,则可以使用许多选项:

如果可能,请将中继日志和数据文件放在不同的物理驱动器上。为此,设置 relay_log系统变量以指定中继日志的位置。

如果从服务器比主服务器慢得多,则可能需要划分将不同数据库复制到不同从服务器的责任。请参见 第17.3.5节“将不同的数据库复制到不同的从站”。

如果您的主服务器使用事务,而您不关心从服务器上的事务支持,则在从服务器上使用 MyISAM或其他非事务引擎。请参见 第17.3.3节“在不同的主存储和从存储引擎中使用复制”。

如果您的从站不充当主站,并且有适当的解决方案可以确保在发生故障时可以启动主站,则可以禁用 log_slave_updates系统变量。这样可以防止“ 笨拙 ”的从站还将自己执行的事件记录到自己的二进制日志中。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论