主库写了备库查不到?主从延迟四步定位法
十五年数据库相关经验做过 DBA、架构师、技术顾问。不求颠覆只求靠谱。主从同步这个事看起来简单。主库写、备库读binlog 传过去、relay log 回放完齐活。但真出问题时能要人命。上个月接到一个告警业务方反馈刚下的订单查不到。排查下来是主从延迟 30 秒——用户刚在主库写完备库还没同步到。30 秒在互联网业务里就是数据丢了。干了这么多年 DBA主从延迟是最容易被低估、也最容易背锅的问题。今天把排查方法论整理出来从发现延迟到定位根因到解决每一步都说清楚。有好消息也有踩坑的地方。各位耐心看完。01 延迟从哪来先搞清主从同步的完整链路排查延迟之前先搞清楚延迟可能出现在哪个环节。主从同步不是主库写完备库立刻就有它是一整条链路第一步主库写 binlog。主库执行写操作后把变更记录写入 binlog 文件。这一步通常很快毫秒级。第二步binlog 传输到备库。备库的 I/O 线程连接主库拉取 binlog写入备库的 relay log。这一步的延迟取决于网络带宽和 binlog 产生速度。第三步备库回放 relay log。备库的 SQL 线程或者多线程复制的工作线程读取 relay log把变更重放到备库数据上。这一步是延迟的重灾区。第四步备库数据可见。回放完成后新数据才能在备库上被查询到。关键认知主从延迟不是一个数字是整条链路累积的结果。排查时要逐段确认延迟出在哪个环节。02 怎么发现延迟别等业务方来报主从延迟最可怕的不是有延迟是有延迟但没人知道。等业务方反馈刚写的数据查不到问题已经发生很久了。DBA 应该在业务感知之前就发现并处理。监控指标看这三个数就够了MySQL 8.0查询performance_schema.replication_connection_status和replication_applier_status关注LAST_HEARTBEAT_TIMESTAMP最后一次心跳时间和SERVICE_STATE复制状态。MySQL 5.7执行SHOW SLAVE STATUS关注Seconds_Behind_Master延迟秒数和Slave_IO_Running/Slave_SQL_Running复制线程状态。PostgreSQL查询pg_stat_replication关注write_lag、flush_lag、replay_lag分别对应写入、刷盘、回放延迟。三个阈值分三级告警延迟级别阈值响应动作正常 1 秒无需处理常规监控警告1-10 秒关注趋势准备介入危险 10 秒立即排查必要时切主我的习惯告警不要只设一个阈值。设三级让团队知道现在是什么状态。只设一个延迟 10 秒告警等告警响了再查黄花菜都凉了。03 排查流程——四步定位法发现延迟后按这个流程走90% 的主从延迟都能定位到根因。第一步确认延迟在主库还是备库怎么看在主库执行一个写入操作记录时间戳。然后在备库查询这条数据记录看到的时间戳。两者之差就是端到端延迟。如果延迟很大但主库的 binlog 写入很快查 binlog 文件大小增长速度说明问题不在主库在传输或回放环节。第二步确认是传输慢还是回放慢怎么看MySQL 执行SHOW SLAVE STATUS对比两个值Read_Master_Log_PosI/O 线程读到的主库 binlog 位置Exec_Master_Log_PosSQL 线程回放到的位置如果Read_Master_Log_Pos落后Master_Log_Pos主库当前位置很多说明传输慢——网络带宽不够或者主库 binlog 产生太快。如果Read_Master_Log_Pos跟得上但Exec_Master_Log_Pos落后很多说明回放慢——备库 SQL 线程处理不过来。第三步定位回放慢的具体原因回放慢是最常见的延迟原因。具体又分几种情况情况 A大事务回放。主库执行了一个大事务比如批量更新了 100 万行备库回放这个事务时SQL 线程被占住其他小事务都得排队等。怎么看查SHOW PROCESSLIST看备库 SQL 线程正在执行什么 SQL。如果是一条执行了几十秒还没完的 UPDATE 或 DELETE基本就是大事务了。情况 B锁冲突。备库回放时遇到锁冲突SQL 线程被阻塞。怎么看查备库的information_schema.innodb_trx和data_lock_waits看有没有锁等待。情况 C备库硬件跟不上。主库用 SSD备库用的是机械盘。同样的写入量备库回放速度天然就慢。怎么看对比主备两端的磁盘 I/O 指标iostat 看 iowait 和吞吐量。如果备库磁盘利用率持续 100%就是硬件瓶颈。第四步验证根因定位到可能的根因后验证一下如果是大事务在测试环境模拟同样规模的事务看备库回放耗时。如果是锁冲突分析锁等待链确认阻塞源。如果是硬件瓶颈做磁盘 I/O 压测确认备库磁盘确实扛不住。经验不要猜根因要验证。我见过太多 DBA 凭经验觉得是大事务导致的结果查半天发现是备库磁盘满了。04 解决思路——对症下药定位到根因后解决思路就清晰了。方案 A大事务 → 拆分事务 并行复制大事务是主从延迟的头号杀手。一个事务更新了 100 万行备库 SQL 线程要一条一条回放可能花几十分钟。治标把大事务拆成小事务。原来一个 UPDATE 更新 100 万行改成每次更新 1 万行分 100 次执行。每次持锁时间短备库回放也快。治本开启并行复制。MySQL 5.7 支持多线程复制MTS备库可以用多个线程并行回放不同库或不同事务的变更。-- MySQL 开启并行复制基于库的并行SETGLOBALslave_parallel_workers4;-- MySQL 5.7 基于逻辑时钟的并行复制推荐SETGLOBALslave_parallel_typeLOGICAL_CLOCK;SETGLOBALslave_parallel_workers8;注意并行复制不是线程越多越好。线程数超过 CPU 核心数后收益递减。一般设成 CPU 核心数的 1-2 倍。方案 B网络传输慢 → 压缩 带宽扩容如果确认是 binlog 传输慢两个方向解决开启 binlog 压缩MySQL 5.7 支持 binlog 传输压缩在网络带宽紧张时能显著降低传输量。-- 主库开启 binlog 压缩SETGLOBALbinlog_transaction_dependency_trackingWRITESET;扩容网络带宽如果主备跨机房部署网络带宽是硬瓶颈。该升级就升级别省这个钱。方案 C备库硬件瓶颈 → 升级存储 读写分离如果备库硬件确实扛不住两条路短期把备库的读流量切一部分走主库降低备库负载。长期升级备库存储。把机械盘换成 SSD或者上 NVMe。硬件升级的钱比延迟导致业务损失的钱少多了。对比三种复制方案的延迟表现把上面的内容做个对比方便选型方案延迟范围适用场景局限性单线程复制秒级到分钟级小数据量、低写入频率大事务必延迟基于库的并行复制亚秒级到秒级多库部署、写入分散单库大事务仍然慢基于逻辑时钟的并行复制亚秒级生产环境推荐需要 MySQL 5.7半同步复制毫秒级但有写入延迟数据零丢失场景主库写入变慢选型建议生产环境优先用基于逻辑时钟的并行复制MTS。数据安全性要求极高的场景用半同步复制但接受主库写入性能的轻微下降。延迟容忍度的判断框架不是所有场景都需要零延迟。按业务容忍度分三档容忍度高延迟 10 秒可接受后台报表查询数据分析任务非实时用户查询方案标准异步复制 常规监控容忍度中延迟 3 秒可接受用户个人中心查询商品详情查询订单状态查询方案并行复制 三级告警 自动切换容忍度低延迟 1 秒可接受账户余额查询实时库存查询支付状态确认方案半同步复制 强制走主库查询 秒级监控我的经验不要一刀切要求主从零延迟。不同业务场景对延迟的容忍度不同。按场景分级治理比统一高标准更务实。从主从延迟是玄学到延迟是可管理的说实话干 DBA 前五年我对主从延迟的态度是能忍就忍。延迟几秒嘛业务又不会挂。后来接了几个金融项目才明白延迟不是能不能忍的问题是业务允不允许的问题。证券交易系统延迟 1 秒就是数据不一致合规上过不了关。这个认知转变让我重新审视主从延迟的排查方法。以前是延迟大了再看现在是持续监控、分级治理、提前预警。主从延迟不是玄学是可测量、可定位、可优化的工程问题。深度分析为什么并行复制不能解决所有延迟问题很多人以为开了并行复制就万事大吉。实际不是这样。并行复制解决的是多个小事务排队等的问题。但如果来了一个大事务比如批量删除 1000 万条过期日志再多的并行线程也得等这个事务回放完。根因在于大事务本身是一个不可分割的原子操作。备库不能把一个事务拆成两半来回放——那会破坏事务的原子性。所以并行复制有天花板。它能解决并发小事务的延迟解决不了单一大事务的延迟。真正的解法是从源头控制事务大小。应用层做批量操作时分批提交。每批 1000-5000 行不要一个事务搞定。这个道理和 DBA 的日常建议一致事务尽量短。不仅是为了减少锁等待也是为了减少主从延迟。主从延迟巡检清单日常巡检建议每周执行一次1. 延迟趋势检查查看过去一周的延迟曲线确认没有持续增长趋势如果延迟峰值在上升说明复制能力在下降需要排查2. 复制线程状态确认 I/O 线程和 SQL 线程都在运行如果有线程停过查错误日志看原因3. 大事务监控查看主库 binlog 中事务大小的分布如果出现异常大的事务通知应用团队优化4. 硬件资源检查备库磁盘 I/O 利用率是否接近上限备库 CPU 和内存使用是否正常5. 告警规则验证确认三级告警阈值配置正确测试告警通道是否正常发一条测试告警确认能收到总结主从延迟排查就一套流程看监控 → 分段定位 → 验证根因 → 对症下药。核心认知延迟不是一个数字是整条链路累积的结果。传输慢和回放慢是两回事不能混为一谈。预防延迟的关键事务要短、复制要并行、监控要分级。处理过几十次主从延迟问题每次回到这套流程问题都能解决。不需要什么高级工具耐心和方法论就够了。后续我会继续分享数据库参数调优实战、容量规划方法论这些话题跟着我一篇篇学数据库这块就没问题了。有问题评论区见。十五年数据库领域老炮。关注我一起把数据库这件事搞明白。

相关新闻

prompt-tuning与传统微调对比:为什么它是高效模型适配的黄金法则

prompt-tuning与传统微调对比:为什么它是高效模型适配的黄金法则

prompt-tuning与传统微调对比:为什么它是高效模型适配的黄金法则 【免费下载链接】prompt-tuning Original Implementation of Prompt Tuning from Lester, et al, 2021 项目地址: https://gitcode.com/gh_mirrors/pr/prompt-tuning 在人工智能模型优化领域&…

2026/7/30 20:41:12阅读更多 →
LLM的RAG技术全流程解析

LLM的RAG技术全流程解析

llm 的 rag 技术全流程案例 目录 llm 的 rag 技术全流程案例 1. 组装知识:`domain_knowledge.py` 的 `knowledge_for` 2. 变成 prompt 文本:`llm_sections._knowledge_block` 3. 塞进 prompt 并**指示 LLM 怎么用**(最关键) 串起来的完整调用链 "知识怎么被使用"…

2026/7/30 20:41:12阅读更多 →
BiliTools哔哩哔哩工具箱:免费开源跨平台B站资源下载终极指南

BiliTools哔哩哔哩工具箱:免费开源跨平台B站资源下载终极指南

BiliTools哔哩哔哩工具箱:免费开源跨平台B站资源下载终极指南 【免费下载链接】BiliTools 本项目已停止维护。 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools 想要轻松下载B站视频、番剧和音频内容吗?BiliTools哔哩哔哩工具箱是…

2026/7/30 20:41:12阅读更多 →
5步打造你的个人数字图书馆:WebSite-Downloader网站离线下载终极指南

5步打造你的个人数字图书馆:WebSite-Downloader网站离线下载终极指南

5步打造你的个人数字图书馆:WebSite-Downloader网站离线下载终极指南 【免费下载链接】WebSite-Downloader A website downloader written with Python 项目地址: https://gitcode.com/gh_mirrors/web/WebSite-Downloader 你是否曾担心珍藏的技术文档突然消失…

2026/7/31 2:09:37阅读更多 →
SpringBoot+Vue智慧交通系统架构与大数据处理实践

SpringBoot+Vue智慧交通系统架构与大数据处理实践

1. 智慧交通分析系统的核心价值与行业背景城市交通拥堵已成为现代都市发展的主要痛点之一。根据国内主要城市交通运行监测数据,早晚高峰时段平均车速不足20公里/小时的路段占比超过35%。传统交通管理系统存在三大硬伤:数据采集滞后、分析维度单一、决策响…

2026/7/31 2:09:37阅读更多 →
Video Download Helper:免费终极视频下载神器,一键保存网页视频资源

Video Download Helper:免费终极视频下载神器,一键保存网页视频资源

Video Download Helper:免费终极视频下载神器,一键保存网页视频资源 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper 还…

2026/7/31 2:09:37阅读更多 →
JVM GC性能陷阱分析与实战优化策略

JVM GC性能陷阱分析与实战优化策略

1. 从一次线上事故说起:GC引发的性能雪崩去年我们团队遭遇过一次诡异的线上故障——某核心服务在流量高峰时段响应时间从平均50ms飙升到2秒以上。监控系统显示CPU使用率始终低于30%,内存占用稳定在60%左右,乍看资源充足。但通过火焰图分析&am…

2026/7/31 2:09:37阅读更多 →
后端只有一条路由:聊聊我的自定义 Dispatcher 设计

后端只有一条路由:聊聊我的自定义 Dispatcher 设计

前两篇聊了背单词小程序「优词记 Pro」的整体架构和请求层封装,今天说说后端一个比较激进的设计:整个项目的路由文件只有一行。路由文件的痛常规做法是每个接口注册一条路由。项目小的时候没问题,接口一多,路由文件就变成几百行的…

2026/7/31 2:09:37阅读更多 →
P12138 [蓝桥杯 2025 省 A] 寻找质数

P12138 [蓝桥杯 2025 省 A] 寻找质数

题目背景本站蓝桥杯 2025 省赛测试数据均为洛谷自造,与官方数据可能存在差异,仅供学习参考。题目描述如果一个正整数只能被 1 和它本身两个数整除,就称为一个质数。最小的几个质数依次是 2,3,5,7,11,13,⋯请问,第 2025 个质数是多…

2026/7/31 2:07:37阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/30 15:03:16阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/30 12:22:27阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/30 15:13:02阅读更多 →
物理复制比逻辑复制好在哪?数据库复制原理详解

物理复制比逻辑复制好在哪?数据库复制原理详解

数据库复制是把主库数据同步到备库的机制,分为逻辑复制和物理复制两种。逻辑复制传输的是 SQL 语句或行变更事件,物理复制传输的是存储引擎底层的物理日志。阿里云 PolarDB(云原生数据库)采用物理复制,在同步延迟、数据…

2026/7/31 0:00:40阅读更多 →
BilibiliDown:3分钟学会B站视频下载的终极指南

BilibiliDown:3分钟学会B站视频下载的终极指南

BilibiliDown:3分钟学会B站视频下载的终极指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors/bi/Bilib…

2026/7/31 0:00:41阅读更多 →
有哪些游戏数据AI平台?游戏行业Data+AI融合方案盘点

有哪些游戏数据AI平台?游戏行业Data+AI融合方案盘点

当前,游戏行业的“DataAI融合”已从概念验证进入价值落地阶段。根据IDC 2025年数据,中国AI游戏云市场规模已达18.6亿元;同时,游戏研发环节AI渗透率高达86%,生成式AI内容普及率超过50%。面对庞大的市场,游戏…

2026/7/31 0:00:41阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/31 0:49:33阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/30 4:47:18阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/30 15:43:46阅读更多 →