search
HomeDatabaseMysql Tutorialmysql binlog限流问题总结_MySQL

问题背景:

 新建备库级联到主库会将主库上大量的binlog拉到本地保存为relaylog,这个阶段会导致主库网络流量非常大,从而引发主库的查询更新等受到影响。

 解决思路:

 1. 在备库拉主库binlog的IO线程上做限流:每拉一定数据量M的binlog则sleep时间N。

 这个测试效果比较明显,但存在如下几个问题:

 1) 参数比较难控制 需要DBA根据实际场景调整来获得预期的网络流量,这个过程可能需要多次尝试才可能获取到预期行为
 2) 存在抖动 在sleep时刻明显能观察到不均匀的网络流量

 2. 在socket的选型上做文章

 1) 对主备库的IO线程使用的连接都设置socket属性。
 2) 灵感来自facebook mysql中引入的rpl_send_buffer_size参数:对主库的dump线程增加SNDBUF参数控制以优化主库发送的速度。
   NET* net = &thd->net;
+  if (rpl_send_buffer_size &&
+      (setsockopt(net->vio->mysql_socket.fd, SOL_SOCKET, SO_SNDBUF,
+                  &rpl_send_buffer_size, sizeof(rpl_send_buffer_size)) == -1 ||
+       setsockopt(net->vio->mysql_socket.fd, IPPROTO_TCP, TCP_WINDOW_CLAMP,
+                  &rpl_send_buffer_size, sizeof(rpl_send_buffer_size)) == -1))
+    sql_print_warning(“Failed to set SO_SNDBUF with (error: %s).”,
+                      strerror(errno));
+
完整补丁参考 https://github.com/facebook/mysql-5.6/commit/d3b0c7814090bded6563fee7d46d2ae41ed32a60
 其中,主库的dump线程连接描述符NET的设置有两点:

 a. SOL_SOCKET级别对应的应用层所设置的缓冲区大小
 b. IPPROTO_TCP级别对应的传输层设置的拥塞窗口大小

 stackovreflow上有人遇到利用setsocketopt设置SOL_SOCKET级别的SO_RCVBUF但无效果的问题。解决方法为同时设置SOL_SOCKET级别的TCP_WINDOW_CLAMP。(注:TCP_WINDOW_CLAMP应该属于IPPROTO_TCP级别)

http://stackoverflow.com/questions/2223825/setting-tcp-receive-window-in-c-and-working-with-tcpdump-in-linux
http://linux.die.net/man/7/tcp

 3) 至少设置备库才有效,从2048到UINT_MAX(2*1024*1024),检测主库网卡流出/备库网卡流入从4.8M 到 15.4M。
 4) 需要注意的是,此参数是在连接建立之前设置,更改此参数需要重启主备之间的复制。

 从运维角度看,动态设置某个比较接近‘0’的时间,但主备复制延时低于此值后,复制不再受此限流的影响。

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Win11怎么样查看电脑流量使用情况Win11怎么样查看电脑流量使用情况Jun 29, 2023 pm 03:41 PM

  Win11怎么样查看电脑流量使用情况?在这里网络数据时代,很多用户都会关注自己的流量使用情况,我们除了可以用手机查看流量使用情况,在电脑中也是可以通过电脑查询到电脑应用消耗的流量情况,下面小编将为大家带来Win11查看电脑流量使用情况的指南。  Win11查看电脑流量使用情况的指南  1、首先,按键盘上的Win键,或点击任务栏上的开始图标;  2、打开的开始菜单窗口,找到并点击已固定应用下的设置;  3、Windows设置窗口,左侧边栏,点击网络和Internet,右侧点击数据使用量;  4

5g流量可以用多久5g流量可以用多久Jun 25, 2023 am 11:33 AM

5g流量可以用1-3天。5G流量的使用时间,取决于个人的上网时间和上网方式,如果平日里正常使用网络,在家使用WiFi,那么使用10天是没有问题,如果平日经常使用数据流量,而且还经常看视频那就只能用一到三天。

在因特网上的每一台主机都有唯一的地址标识称为什么在因特网上的每一台主机都有唯一的地址标识称为什么Aug 22, 2022 pm 03:24 PM

每一台主机都有唯一的地址标识称为“IP地址”。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个唯一的逻辑地址,以此来屏蔽物理地址的差异。由于有这种唯一的地址,才保证了用户在连网的计算机上操作时,能够高效而且方便地从千千万万台计算机中选出自己所需的对象来。

流量mb和GB各代表什么流量mb和GB各代表什么Oct 19, 2022 am 10:48 AM

流量mb和GB都是流量的单位符号,分别代表上网产生的流量数据大小;手机流量的单位是采取1024进制的,单位包括GB、MB、KB和B;换算公式分别是:1、1GB=1024MB;2、1MB=1024KB;3、1KB=1024 B。

4g流量和5g流量通用吗4g流量和5g流量通用吗Nov 22, 2022 am 11:41 AM

4g流量和5g流量是通用的。工信部明确提到:使用5G手机的用户,没有办理5G流量套餐,也可以使用5G网络;并且不会收取额外的费用,使用的流量费将计算在原本的套餐之中。且运营商也有相关回复:用户若使用的是4G套餐,使用5G手机在5G网络覆盖下,也可使用5G网络,但沿用4G签约速率,即下行速率300Mbps,上行速率75Mbps。

定向流量和通用流量是什么意思定向流量和通用流量是什么意思Nov 21, 2022 am 11:13 AM

定向流量是指用于指定产品的流量包;定向流量一般由运营商提供,使用之前需要先订购相应的定向流量包;定向流量的一般价格较通用流量低,但定向应用选择有限。通用流量是套餐包中的基础流量,是指没有任何限制的流量,可以被2G、3G和4G网络使用;使用设备在区域范围内只要能够正常连接网络,则任何App都可以消耗该流量。

小米14Pro如何查看流量使用情况?小米14Pro如何查看流量使用情况?Mar 18, 2024 pm 09:04 PM

小米手机是最近很多用户都在关注的一个品牌,这个品牌最近推出了小米14系列手机,这个系列是小米旗下的旗舰系列,还是比较受关注和欢迎的,小米手机虽然价格比较高,但各方面配置都是非常顶尖的,整体的科技含量是非常高的,大家在使用的时候也会遇上一些疑问,比如说这款手机应该如何查看流量使用情况呢?小米14Pro如何查看流量使用情况?小米14Pro查看流量使用情况方法介绍1.打开手机设置。2.滑动屏幕找到“网络和互联网”。3.找到“流量使用”或“数据使用”。4.已使用的移动数据量就会显示出来,还有各个应用程序

抖音流量高有什么好处?怎么变现呢?抖音流量高有什么好处?怎么变现呢?Mar 31, 2024 am 10:57 AM

抖音是中国最受欢迎的短视频平台之一,每月吸引超过5亿活跃用户,使抖音成为广告主和内容创作者争相关注的对象。抖音流量高有以下几个显著优势,吸引了很多感兴趣的朋友,不妨一起来看看。一、抖音流量高有什么好处?抖音流量高意味着广告投放的覆盖面广阔。随着用户数量的增加,广告商在抖音上可以触及更多潜在消费者。这对于品牌推广来说是一个巨大的机会,能够将产品或服务展示给更多的观众,提高知名度和曝光率。提高抖音流量有助于增加销售额。通过在抖音上进行适当的推广和宣传,企业可以吸引更多用户了解和购买他们的产品。抖音以

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment