当前位置:首页 > AI技术 > 正文内容

mysql如何排查连接数爆满原因 mysql show processlist分析最佳实践|Duuu笔记

admin2个月前 (03-31)AI技术50

连接数爆满主因是线程卡住而非数量多,应重点关注SHOW FULL PROCESSLIST中State非Sleep且Time>60秒的阻塞线程,优先排查应用端连接未释放、监控脚本高频查询及本地进程异常连接。

直接看

SHOW PROCESSLIST

里哪些线程在“卡住”

连接数爆满,往往不是连接多,而是大量线程卡在某个状态迟迟不释放。

SHOW PROCESSLIST

State

Time

列才是关键线索,而不是只盯着总连接数。

State

是“等待锁”还是“写磁盘中”?比如

Waiting for table metadata lock

Writing to net

Creating sort index

都意味着线程被阻塞或资源吃紧

Time

超过 60 秒的非

Sleep

线程必须优先关注;超过 300 秒的基本可以判定为异常挂起

别只用

SHOW PROCESSLIST

—— 它默认只返回前 100 条,要用

SHOW FULL PROCESSLIST

才能看到完整 SQL,否则可能漏掉长查询的真正内容

过滤出真问题:用

information_schema.processlist

做条件查杀

手动翻页看 processlist 效率低还容易误判,直接查表 + 拼接 kill 更可靠,但要注意表来源和字符集陷阱。

推荐用

SELECT * FROM information_schema.processlist WHERE COMMAND != 'Sleep' AND TIME > 60 ORDER BY TIME DESC

,避免查到大量空闲连接干扰判断

千万别在高并发时频繁查

information_schema.processlist

—— 它是临时表,8.0+ 版本会全局加锁扫描线程列表,本身就会拖慢整个 MySQL(已有线上案例证实它引发 insert 延迟)

performance_schema.processlist

更轻量(内存表),但需确认已开启:

SELECT VARIABLE_VALUE FROM performance_schema.global_variables WHERE VARIABLE_NAME = 'performance_schema'

,值为

ON

才可用

KILL

前先确认权限和影响范围

不是所有线程都能随便

KILL

,尤其在主从架构或事务活跃期,误杀可能引发数据不一致或连接雪崩。

Action Figure AI

借助Action Figure AI的先进技术,瞬间将照片转化为定制动作人偶。

下载

只有

SUPER

CONNECTION_ADMIN

权限用户才能

KILL

其他用户的线程;普通应用账号只能

KILL

自己的

正在执行

INSERT/UPDATE/DELETE

的线程被

KILL

后,事务会回滚,但若已写 binlog,从库可能重放失败(半同步下更敏感)

别用脚本一键清空所有非 Sleep 连接 —— 比如

Binlog Dump

线程是主从复制必需的,

KILL

它会导致从库 IO 线程断连

连接数持续上涨?重点查应用端和中间件

MySQL 层面看到连接爆满,90% 的根因不在数据库本身,而在上层连接没释放或配置失当。

检查应用是否用了连接池但未设置

maxLifetime

idleTimeout

,导致大量 stale 连接堆积(如 HikariCP 默认不主动清理空闲连接)

确认监控脚本是否高频轮询

SHOW PROCESSLIST

—— 已有明确案例:两分钟一次的监控脚本反复查

information_schema.processlist

,直接导致 insert 延迟翻倍

注意客户端异常断连后,MySQL 不会立刻回收连接,要依赖

wait_timeout

(默认 28800 秒)或

interactive_timeout

触发清理,这个时间窗口内连接仍计入总数

最常被忽略的一点:

SHOW PROCESSLIST

看到的

Host

列如果是

127.0.0.1:xxxx

localhost:xxxx

,说明连接来自本地进程(比如定时任务、监控 agent、甚至 crontab 脚本),这类源头最容易被当成“数据库问题”而跳过排查。

相关文章

【大数据分析 | 深度学习】在Hadoop上实现分布式深度学习

一、Submarine(Hadoop生态系统) (一)Submarine 介绍 (三)Submarine 属于 Hadoop 生态系统 (四)Submarine 官网版...

神经网络分类总结

从网络性能角度可分为连续型与离散型网络、确定性与随机性网络。 从网络结构角度可为前向网络与反馈网络。 从学习方式角度可分为有导师学习网络和无导师学习网络。 按连续突触性...

什么是人工智能 ?

您可以使用 ML 训练 AI,使其精确、快速地执行任务。这可以通过自动化员工感到吃力或厌烦的业务部分来提高运营效率。同样,您可以使用 AI 自动化来腾出员工资源,用于更复杂和更具创造性的工作。...

从入门到精通:前端开发之骡子快跑支持热点借势吗 骡子快跑节日营销文案生成|Duuu笔记

骡子快跑平台提供五步节日营销文案生成路径:一、调用内置32个节日模板库;二、输入热点事件触发动态生成;三、绑定自有素材库实现个性化延展;四、多角色视角协同输出;五、接入微信生态直发并校验合规性。 ☞...

AI实战详解:Perplexity 怎么做市场调研 Perplexity 市场分析实操教程【商业】最佳实践|Duuu笔记

掌握Perplexity AI市场调研需五步:一、结构化提问嵌入地域/时间/主体/指标四要素;二、限定PDF等原始信源提升可信度;三、分步提问生成制表符分隔文本以自动导入Excel;四、启用Pro S...

深入理解前端开发:Minimax 视频生成中负面提示词(Negative Prompt)写法完全指南|Duuu笔记

Minimax视频生成中负面提示词需用英文、逗号分隔,支持权重调节(如(blurry:1.3)),按构图/主体/画质/风格四类精简选取,禁用not/no/中文及违规词,须通过A/B测试验证有效性。...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。