mysql8复制改进,mysql8 参考手册--提高复制性能

本文介绍了如何通过创建深层复制结构来提高MySQL主从复制的性能,以减轻主服务器的客户端负载和网络接口压力。主要内容包括配置主从服务器、使用额外的复制主机以及在从服务器上进行性能调整的技巧,如改变日志位置、调整系统变量等。此外,还讨论了在从服务器跟不上主服务器复制速度时的解决策略,如数据库分片和选择不同的存储引擎。
摘要由CSDN通过智能技术生成

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

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

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

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

312eb765bf3a8eff777707ab7efc8e6b.png

服务器MySQL Master 1复制到服务器MySQL Master 2,后者又复制到服务器MySQL Slave 1,MySQL Slave 2和MySQL Slave 3。

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

主机1是将所有更改和更新都写入数据库的主要主机。两个主数据库都启用了二进制日志记录,这是默认设置。

主站2是主站1的从站,它向复制结构中的其余从站提供复制功能。主站2是唯一允许连接到主站1的计算机。主站2 --log-slave-updates启用了该 选项(默认设置)。使用此选项,还将来自主机1的复制指令写入主机2的二进制日志中,以便随后将其复制到真正的从机中。

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

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

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

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

如果用于读取二进制日志文件和中继日志文件的磁盘I / O活动繁重,请考虑增加rpl_read_size系统变量的值。此系统变量控制从日志文件读取的最小数据量,如果操作系统当前未缓存文件数据,则增加该变量可能会减少文件读取和I / O停顿。请注意,为从二进制日志和中继日志文件读取的每个线程(包括主服务器上的转储线程和从服务器上的协调器线程)分配一个具有此值大小的缓冲区。因此,设置较大的值可能会影响服务器的内存消耗。

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值