讲师中心 微信公众号
AI工具推荐 视频效率加速

mysql如何监控主从复制的流量消耗_mysql网络带宽监控

大浩大大_7617

大浩大大_7617

发布时间:2026-03-05 09:11:03

|

335人浏览过

|

来源于php中文网

原创

最可靠方式是抓取主库到从库的TCP流量,如用tcpdump或iftop;binlog磁盘体积不等于复制带宽,因存在过滤、压缩、重传等差异;带宽异常升高往往反映复制链路问题而非业务增长。

mysql如何监控主从复制的流量消耗_mysql网络带宽监控

怎么看主从复制实际用了多少带宽

MySQL 主从复制本身不直接暴露“每秒传输多少 KB”的指标,SHOW SLAVE STATUS 里只有 Seconds_Behind_Master 和 IO/SQL 线程状态,没法换算成带宽。真实带宽消耗得从网络层反推——不是看 MySQL,是看它用的 TCP 连接。

最可靠的方式是抓取主库上发往从库 IP:port 的流量。比如主库 IP 是 10.0.1.10,从库连的是 3306,那就盯这个连接:

sudo tcpdump -i any -w replication.pcap host 10.0.1.10 and port 3306 and dst 10.0.1.20

注意:dst 10.0.1.20 要换成你从库的真实 IP;如果主从走的是非标端口(比如 3307),记得改端口号。

  • 别在生产高峰长期跑 tcpdump,文件增长快,磁盘和 CPU 都吃紧
  • Linux 上可用 iftop -P 3306 -f "host 10.0.1.20" 快速看实时速率,更轻量
  • 云环境(如阿里云 ECS)可直接看「云监控」里的「外网/内网出方向流量」,筛选源 IP + 目标 IP 即可

binlog 文件大小 ≠ 复制带宽消耗

有人用 du -sh /var/lib/mysql/mysql-bin.* 算日志体积,再除以时间,当成带宽——这会严重高估。因为 binlog 是全量写入磁盘的,但复制只传其中一部分:比如 GTID 过滤、replicate-do-db 设置会让从库跳过某些库;主库上大量 INSERT ... SELECT 或大事务产生的临时日志,在复制时可能被压缩或合并;还有半同步开启时重传、网络丢包重发,这些都让“发送字节数”和“binlog 文件体积”不一致。

  • SHOW BINARY LOGS 显示的是磁盘占用,不是网络发出量
  • 如果开了 binlog_row_image=MINIMAL,UPDATE 只传变化列,比 FULL 模式省一半以上带宽
  • 主库 max_allowed_packet 设太小会导致大事务被拆成多个包,增加 TCP 包头开销,反而推高带宽

从库拉取慢导致带宽“脉冲式”堆积

当从库 SQL 线程卡住(比如遇到锁等待、大 DDL、磁盘 I/O 延迟),IO 线程仍持续从主库读 binlog 并缓存在 relay_log 里。这时主库出口带宽不会降,反而可能升高——因为从库会不断重连、重请求缺失事件,甚至触发 CHANGE MASTER TO ... RELAY_LOG_FILE 手动跳位点,引发重复拉取。

MySQL
MySQL

编写正确的MySQL查询,避免字符集、索引和锁方面的常见陷阱。

下载

查这个现象的关键指标是:

  • 主库 SHOW PROCESSLIST 里有没有多个 Binlog Dump 线程连同一个从库(说明频繁断连重连)
  • 从库 Seconds_Behind_Master 持续上涨,同时 Relay_Log_Space 不断增大
  • 主库 netstat -an | grep :3306 | grep ESTABLISHED | wc -l 突然变多

这时候带宽峰值未必反映业务压力,而是复制链路健康度告警。

想长期监控,别自己解析 tcpdump

手动抓包只能应急。真要长期看,优先用系统级工具聚合统计,而不是进 MySQL 解析 binlog:

  • 用 ss -i 查单个连接的 rcv_ssthresh/cwnd,能看出 TCP 拥塞情况(间接影响有效带宽)
  • Prometheus + mysqld_exporter 只能报 mysql_slave_status_seconds_behind_master,不提供带宽,得配 node_exporter 的 node_network_transmit_bytes_total{device="eth0", instance="master-ip"},再加 label 过滤目标从库 IP
  • 如果主从走专线或 VPC 内网,交换机镜像端口 + ntopng 是最准的,但运维成本高

真正难的从来不是“怎么拿到数字”,而是区分清楚:这个带宽是业务写入驱动的,还是复制机制缺陷导致的无效重传——后者修好了,带宽自然下来,不用扩容网络。

热门AI工具

更多
WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

创客贴AI

创客贴AI是一款AI图像与设计工具,AI辅助的智能在线设计工具。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

相关专题

更多
mysql修改数据表名
mysql修改数据表名

MySQL修改数据表:1、首先查看数据库中所有的表,代码为:‘SHOW TABLES;’;2、修改表名,代码为:‘ALTER TABLE 旧表名 RENAME [TO] 新表名;’。php中文网还提供MySQL的相关下载、相关课程等内容,供大家免费下载使用。

2393

2023.06.20

MySQL创建存储过程
MySQL创建存储过程

存储程序可以分为存储过程和函数,MySQL中创建存储过程和函数使用的语句分别为CREATE PROCEDURE和CREATE FUNCTION。使用CALL语句调用存储过程智能用输出变量返回值。函数可以从语句外调用(通过引用函数名),也能返回标量值。存储过程也可以调用其他存储过程。php中文网还提供MySQL创建存储过程的相关下载、相关课程等内容,供大家免费下载使用。

1459

2023.06.21

mongodb和mysql的区别
mongodb和mysql的区别

mongodb和mysql的区别:1、数据模型;2、查询语言;3、扩展性和性能;4、可靠性。本专题为大家提供mongodb和mysql的区别的相关的文章、下载、课程内容,供大家免费下载体验。

855

2023.07.18

mysql密码忘了怎么查看
mysql密码忘了怎么查看

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql密码忘了怎么办呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

3372

2023.07.19

mysql创建数据库
mysql创建数据库

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql怎么创建数据库呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

5788

2023.07.25

mysql默认事务隔离级别
mysql默认事务隔离级别

MySQL是一种广泛使用的关系型数据库管理系统,它支持事务处理。事务是一组数据库操作,它们作为一个逻辑单元被一起执行。为了保证事务的一致性和隔离性,MySQL提供了不同的事务隔离级别。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

1259

2023.08.08

sqlserver和mysql区别
sqlserver和mysql区别

SQL Server和MySQL是两种广泛使用的关系型数据库管理系统。它们具有相似的功能和用途,但在某些方面存在一些显著的区别。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

6051

2023.08.11

mysql忘记密码
mysql忘记密码

MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。那么忘记mysql密码我们该怎么解决呢?php中文网给大家带来了相关的教程以及其他关于mysql的文章,欢迎大家前来学习阅读。

5242

2023.08.14

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

40

2026.10.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL vs MySQL
PostgreSQL vs MySQL

共1课时 | 193人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn