§ Binlog 读取限速


§ 简介

在主从复制中,由从节点向主节点发起 Binlog 读取请求,如果读取太快或并发太多线程就会加大主节点的压力。

选项 rpl_read_binlog_speed_limit 用于控制从节点上向主节点发起 Binlog 读取请求的限速,这对于控制主从复制中的网络带宽使用率、降低主节点压力、或在数据恢复过程中降低消耗资源非常有用。

当选项值为大于 0 的整数时,从节点会按照指定的速率(单位为 KB/s)向主节点请求读取 Binlog,从而实现流量控制。当设置为 0 时,表示不启用限速模式。

该选项可在从节点端设置生效。

System Variable Name rpl_read_binlog_speed_limit
Variable Scope Global
Dynamic Variable Yes
Type Integer
Default Value 0
Minimum Value 0
Maximum Value 4294967295
Unit KB/s

§ 配置方法

  • 动态设置

    可以在运行时通过命令动态修改这个参数,无需重启服务。例如,要限制速度为 100KB/s,执行下面命令:

SET GLOBAL rpl_read_binlog_speed_limit = 100;
1
  • 配置文件设置

    若要使该设置持久化生效,可以在配置文件中添加或修改以下内容:

    [mysqld]
    rpl_read_binlog_speed_limit = 100
    
    1
    2

    然后重启服务使设置生效。

§ 注意事项

启用限速模式后,固然可以降低主节点服务器和网络传输的负载压力,但如果设置过低限速值可能会降低主从复制数据同步效率,影响从库上的数据复制时效性。需要根据实际情况和业务需要适当平衡和调整。

扫码关注微信公众号

greatsql-wx