性能瓶颈的“诊断优先级”:CPU、IO、内存、网络,先查哪个?
大家好我是小耶写功课只是为了我踩过的坑你们别再踩了上周讲了参数调优——哪些参数值得调、怎么调。但有一个前置问题没解决你怎么知道该调哪个参数系统慢了CPU飙了磁盘I/O满了内存快爆了——面对一堆异常指标先查哪个很多DBA的直觉是“CPU最高就先看CPU”。但CPU高往往是表象真正的根因可能在磁盘、在网络、在内存。今天不讲具体参数先讲一套诊断优先级——遇到性能问题按什么顺序排查才不会走弯路。一、先系统后数据库不要一上来就查SQL接到“系统慢了”的反馈很多DBA的第一反应是翻慢查询日志。这个直觉可以理解但往往是低效的。正确的排查顺序是先看系统层再看数据库层。系统层是“体检”——CPU、内存、IO、网络四大资源哪个亮了红灯数据库层是“问诊”——系统层没有瓶颈时才深入数据库内部排查系统层已亮红灯时优先解决资源问题。慢查询日志只记录了“已经慢了的SQL”不记录“为什么慢”。如果系统层资源已经打满了翻慢查询日志是浪费时间——先把资源问题解决了慢查询自然就少了。二、四大资源的诊断优先级遇到性能问题建议按以下顺序排查第一步查磁盘I/O优先级最高为什么I/O排第一因为I/O问题是数据库性能问题最常见的根源。而且I/O问题的特征很明确容易被误判为CPU问题。怎么看# 实时查看磁盘I/O iostat -x 1关键指标指标含义危险信号%util磁盘繁忙程度80% 说明磁盘快打满了awaitI/O请求平均等待时间远超svctm说明在排队r/s/w/s每秒读写次数接近磁盘IOPS上限watop中CPU等待I/O的时间10%说明I/O是瓶颈CPU在空等磁盘常见场景top里看到CPU使用率很高但waiowait也很高——CPU其实在等磁盘不是在算数据。这时候加CPU没用得解决磁盘问题。怎么解决检查是否有全表扫描会在第三步确认检查是否有大量排序操作或临时表写磁盘调整innodb_io_capacity等I/O相关参数考虑升级磁盘HDD→SSD→NVMe第二步查内存优先级第二内存不足会导致频繁的磁盘交换Swap而Swap一发生性能会直接崩盘。内存问题往往表现为“磁盘I/O高”或“CPU高”——因为内存不够系统在频繁换页CPU忙着处理换页中断。怎么看# 查看内存使用 free -h # 查看是否有Swap活动 vmstat 1关键指标指标含义危险信号available/free可用内存接近0说明内存不足si/sovmstatSwap换入/换出非0说明内存在换页InnoDB缓冲池命中率数据页在内存中的命中比例95%说明缓冲池不够大常见场景free -h显示内存快用完了vmstat的si和so列出现非0值。这时候查SQL没用——加内存才是正解。怎么解决调整innodb_buffer_pool_size通常设为物理内存的50%-70%检查是否有内存泄露连接未释放、大查询占用大量临时内存考虑增加物理内存第三步查CPU优先级第三CPU高是数据库性能问题最常见的“报警信号”但它往往是结果不是原因。所以CPU排在第三位——先排除了I/O和内存的问题再看CPU。怎么看# 查看CPU使用情况 top关键指标指标含义危险信号us用户态应用在跑计算高说明SQL在做大量计算或排序sy内核态系统在忙高说明连接风暴或锁竞争waI/O等待CPU在等磁盘高说明磁盘是瓶颈load average系统平均负载持续高于CPU核数说明过载us高的场景us用户态CPU高说明SQL在做大量计算或排序。这时候才轮到查慢查询日志、看执行计划、优化SQL。sy高的场景sy内核态CPU高说明系统在频繁切换上下文。通常是连接风暴或大量锁竞争导致的。怎么解决us高 → 优化SQL、加索引、减少排序sy高 → 检查连接数是否突增、检查锁等待负载高 → 考虑升级CPU或增加节点第四步查网络优先级第四网络问题在集中式数据库中相对少见但在分布式架构中非常关键。网络瓶颈表现为高延迟和数据包丢失。怎么看# 查看网络流量 sar -n DEV 1关键指标指标含义危险信号网络吞吐量发送/接收速率接近带宽上限重传率数据包重传比例过高说明网络不稳定常见场景应用和数据库在不同机房跨区域调用延迟高或者云环境网络带宽被打满。怎么解决将应用和数据库部署在同一可用区升级网络带宽优化跨节点查询减少数据传输量三、诊断流程图接到“系统慢了”的反馈 ↓ 第一步看磁盘I/Oiostat -x 1 ↓ %util80% 或 wa10% ↓ 是 ↓ 否 解决磁盘问题 第二步看内存free -h ↓ ↓ 内存不足 或 Swap活动 ↓ 是 ↓ 否 解决内存问题 第三步看CPUtop ↓ us高 sy高 负载高 ↓ 查慢查询SQL、执行计划 ↓ 第四步看网络如有需要四、一个真实案例某电商系统在促销期间突然响应变慢DBA看到top里CPU使用率85%第一反应是“CPU瓶颈要加核”。但仔细看top的输出waiowait占了30%。这意味着CPU有30%的时间在“等磁盘”不是在“算数据”。用iostat -x 1一看磁盘%util长期在95%以上await超过50ms。根因是某张表的统计信息过旧导致优化器选错了执行计划频繁触发全表扫描把磁盘打满了。解决方案执行ANALYZE TABLE更新统计信息查询走了正确的索引磁盘I/O从95%降到30%CPU使用率从85%降到40%。系统恢复正常。复盘如果只看CPU高就去加核问题根本解决不了——加再多核CPU还是在等磁盘。五、总结遇到性能问题不要一上来就翻慢查询日志。先按这个顺序排查1. 磁盘I/O—— 最常见、最容易被误判的瓶颈。先看iostat和wa解决了I/O问题很多“CPU高”问题自然消失。2. 内存—— 内存不足导致Swap性能直接崩盘。先看free -h和vmstat。3. CPU—— 排除了I/O和内存再看CPU。us高查SQLsy高查连接和锁wa高回到第一步。4. 网络—— 分布式架构中不可忽视集中式架构中优先级最低。记住一句话先系统后数据库先资源后SQL。系统层亮了红灯就别在数据库层浪费时间。小耶在手SQL 不愁还有什么想了解的欢迎留言小耶一定知无不言言无不尽……我们下次见~

相关新闻

TI bq2425x开关充电器评估板实战:从硬件解析到软件调试全攻略

TI bq2425x开关充电器评估板实战:从硬件解析到软件调试全攻略

1. 项目概述与核心价值 如果你正在设计一款需要内置单节锂离子电池的便携式设备,比如智能手表、蓝牙耳机或者手持医疗设备,那么电源管理,尤其是电池充电部分,绝对是绕不开的核心挑战。电池不仅要充得快、充得满,还得安…

2026/7/28 16:05:42阅读更多 →
别再被生鲜配送系统低价套路!真实收费标准,菜东家给你透明答案

别再被生鲜配送系统低价套路!真实收费标准,菜东家给你透明答案

做生鲜食材配送的老板都清楚:如今拼价格、拼人脉的时代早已过去,拼效率、拼合规、拼精细化管理才是活下去、赚得到钱的关键。数字化转型不再是可选加分项,而是行业必备生存项。但绝大多数老板第一步就被卡住:生鲜配送系统到底怎么…

2026/7/28 16:05:42阅读更多 →
JAVA练习365- O(1) 时间插入、删除和获取随机元素

JAVA练习365- O(1) 时间插入、删除和获取随机元素

题目概览 实现RandomizedSet 类: RandomizedSet() 初始化 RandomizedSet 对象bool insert(int val) 当元素 val 不存在时,向集合中插入该项,并返回 true ;否则,返回 false 。bool remove(int val) 当元素 val 存在时…

2026/7/28 16:05:41阅读更多 →
DMG是什么文件?Windows怎么打开?用软领Win解压缩轻松查看和提取

DMG是什么文件?Windows怎么打开?用软领Win解压缩轻松查看和提取

在日常工作中,不少用户会从苹果设备或网络下载到以 .dmg 结尾的文件。这种格式在 Windows 系统中默认无法直接打开,很多人因此困惑。其实,DMG 是 macOS 系统常见的磁盘镜像文件,类似于一个“容器”,里面通常打包了软件…

2026/7/28 17:25:58阅读更多 →
别把 RabbitMQ 当万能缓存:日均千万订单系统如何真正实现解耦、削峰与可靠事件驱动

别把 RabbitMQ 当万能缓存:日均千万订单系统如何真正实现解耦、削峰与可靠事件驱动

别把 RabbitMQ 当万能缓存:日均千万订单系统如何真正实现解耦、削峰与可靠事件驱动 当大促零点的流量在几十秒内冲到平时的十几倍,真正决定系统能否活下来的,不是“有没有接 RabbitMQ”,而是你是否解决了业务事务与消息发送的一致性、消息重复消费、失败重试风暴、队列容量…

2026/7/28 17:25:58阅读更多 →
a label can only be part of a statement and a declaration is not a statement

a label can only be part of a statement and a declaration is not a statement

原因是由于在case之后进行变量的声明对此问题的分析:由于switch的几个case语句在同一个作用域(因为case 语句只是标签,它们共属于一个swtich语句块),所以如果在某个case下面声明变量的话,对象的作用域是在俩…

2026/7/28 17:25:58阅读更多 →
MySQL还是PostgreSQL?亿级支付系统真实选型与迁移复盘

MySQL还是PostgreSQL?亿级支付系统真实选型与迁移复盘

MySQL还是PostgreSQL?亿级支付系统真实选型与迁移复盘 你还在用“大家都在用”作为数据库选型的主要理由吗? 当核心表逼近 3 亿行、交易流水接近 9 亿行,当 JSON 查询、复杂对账、风控聚合和区域合规同时压向数据库时,真正危险的并不是 MySQL 或 PostgreSQL 本身,而是团队…

2026/7/28 17:25:58阅读更多 →
java有效的括号

java有效的括号

题目:给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串…

2026/7/28 17:25:58阅读更多 →
JavaSE:基础入门(一)

JavaSE:基础入门(一)

1、关键字 被java赋予特定含义的单词,特点:全部都是小写 以下是java的关键字列表,先了解下即可,其中void就是关键字,而 Void就不是关键字,只是一个占位符的类 访问控制 private protected public类,方法和变量修…

2026/7/28 17:23:57阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

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

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

2026/7/28 4:06:39阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

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

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

2026/7/28 2:08:06阅读更多 →
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/28 1:38:28阅读更多 →
告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生 【免费下载链接】OmenSuperHub Control Omen laptop performance, fan speeds, and keyboard lighting, and unlock power limits. 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 你是否也曾为官方Om…

2026/7/28 0:00:29阅读更多 →
RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

做 RAG 的人应该都踩过这个致命的坑:把几百页的财报、法规、技术手册扔给向量库,问一个具体问题,搜出来的全是沾边但没用的内容 —— 关键信息要么被硬切块拆碎了,要么藏在几十条结果的最下面。语义相似≠真正相关,这个…

2026/7/28 0:00:29阅读更多 →
抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

2026年做短视频运营,从抖音上扒文案早就不是偷偷抄笔记的事了。我刚开始做内容的时候,每天刷半小时抖音,手动把爆款视频的口播敲进备忘录,一条2分钟的视频得花十来分钟,碰到语速快的还要反复回听。后来试了一圈工具&am…

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

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

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

2026/7/27 16:57:54阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

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

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

2026/7/28 3:17:03阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

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

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

2026/7/28 2:35:58阅读更多 →