• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

请教关于iNode服务器可能因MySQL导致的崩溃问题

2026-07-03提问
  • 0关注
  • 0收藏,239浏览
syc00 零段
粉丝:0人 关注:2人

问题描述:

客户端现象:在使用过程中出现掉线,重新登录可登录上,重新登录上有可能重新掉线需要循环这种操作。服务端/管理端:出现此类现象登录iNode管理后台发现首页无法登录,出现错误信息(无错误详细信息),提示前往服务器使用logfiles.sh生成日志,在服务器生成不出日志。服务器ssh能连接上,查看内存31G,实际使用15G,完全空闲4.7G,CPU使用top命令查看MySQL日常占用100%-400%,CPU为25核心。‘

’版本号为iMC PLAT 7.3(E0705P12)版本。

经过排查MySQL数据库发现多条查询语句Time时间70000+,主要是集中在ead、config_db、dam库上面。通过慢查询日志发现有很多delete语句时间2-6,有部分60+,因之前没有开启慢查询日志所以无法知道之前非常慢70000+的查询是什么语句。

dele语句是删除TBL_DAM_ASSET_PATCH in 嵌套sele查询

有非常多条del语句,几乎占满日志表。

请问这种情况需要怎么处理呢

2 个回答
已采纳
粉丝:23人 关注:2人

iNode 服务器 MySQL 高 CPU、长耗时 SQL 导致业务频繁掉线、后台卡死完整处理方案

一、故障根因总结

  1. 核心诱因:damTBL_DAM_ASSET_PATCH 嵌套子查询 DELETE 语句执行效率极差,SQL 执行耗时最高达 70000 秒,持续霸占 MySQL 计算资源,CPU 长期跑满;
  2. 连锁影响:
    • MySQL 资源耗尽,iNode、EIA、DAM、ead、config_db 业务库读写超时;
    • 客户端认证会话无法正常入库 / 校验,反复掉线重登;
    • iMC 管理后台数据库连接阻塞,页面打不开;
    • logfiles.sh 脚本读取数据库日志时卡死,无法生成打包日志;
  3. 硬件资源冗余充足(内存空闲、多核 CPU),纯 SQL 语句低效引发性能雪崩,非硬件资源不足。

二、紧急应急处理(立刻恢复业务,止损客户端掉线)

1. 杀掉卡死的慢 SQL,释放 CPU

登录 MySQL 执行,查询长耗时线程并终止:
sql
-- 查看所有执行中线程 show full processlist; -- 找到Command=Query、Time上万、操作TBL_DAM_ASSET_PATCH的线程ID,执行kill kill 线程ID;
批量清理所有耗时 > 300 秒的 DAM 库删除语句,CPU 会瞬间回落,客户端掉线、后台打不开问题临时缓解。

2. 临时关闭 DAM 资产补丁自动清理任务(杜绝再次生成卡死 SQL)

iMC 后台操作:
  1. 登录 iMC 管理平台 → 资产管理 (DAM) → 系统设置 → 定时任务;
  2. 找到资产补丁数据自动清理定时任务,临时禁用;
  3. 若页面卡死,服务器侧直接关闭定时调度服务:
bash
运行
systemctl stop imc-dam systemctl disable imc-dam

3. 临时扩容 MySQL 连接、超时参数,缓解阻塞

编辑 MySQL 配置my.cnf,调整参数后重启 mysqld(业务低谷操作):
ini
wait_timeout=300 interactive_timeout=300 max_connections=2000 innodb_lock_wait_timeout=60

三、根治方案:优化低效 DELETE 语句(核心解决点)

1. 给 TBL_DAM_ASSET_PATCH 缺失字段建立索引

嵌套子查询无索引会全表扫描,耗时暴涨,登录 MySQL 执行建索引:
sql
use dam; -- 根据子查询关联条件创建索引,替换为实际关联字段 CREATE INDEX idx_patch_ref ON TBL_DAM_ASSET_PATCH(关联查询字段); -- 统计表行数,确认数据量级 select count(*) from TBL_DAM_ASSET_PATCH;

2. 改写低效嵌套 DELETE(规避 MySQL 子查询性能缺陷)

原嵌套子查询删除语法效率极低,改用 JOIN 关联删除,大幅缩短执行时间:
sql
-- 原低效嵌套写法(卡死根源) delete from TBL_DAM_ASSET_PATCH where id in (select id from xxx where xxx); -- 优化JOIN写法 delete a from TBL_DAM_ASSET_PATCH a inner join xxx b on a.id = b.id where b.条件;

3. 分批次删除,避免一次性锁表、占满 CPU

表数据量大时单次 DELETE 扫描全表,拆分批量删除,降低瞬时负载:
sql
-- 循环每次删除1000条,分批执行 delete a from TBL_DAM_ASSET_PATCH a inner join xxx b on a.id=b.id limit 1000;

四、中长期优化 & 版本修复(永久杜绝复发)

1. 升级 iMC 配套补丁(官方修复 DAM 清理 SQL 缺陷)

当前版本 PLAT7.3 E0705P12 存在 DAM 资产清理 SQL 未优化 BUG,官方高基线修复:
  1. 升级至 PLAT7.3 E0710P10 及以上稳定补丁包
  2. 同步升级 DAM 资产管理组件配套版本,新版本重构补丁清理定时任务 SQL,增加索引、分批次删除逻辑,不会产生数万秒慢查询。

2. 永久开启 MySQL 慢查询日志,持续监控

ini
my.cnf 添加配置 slow_query_log=1 slow_query_log_file=/var/log/mysql/slow.log long_query_time=3 log_queries_not_using_indexes=1
定期分析慢日志,提前发现低效 SQL,避免再次性能雪崩。

3. 数据库运维优化

  1. 定时执行 MySQL 表优化,减少碎片:optimize table TBL_DAM_ASSET_PATCH;
  2. 降低 DAM 补丁保留周期:DAM 后台缩短资产补丁自动清理保留天数,减少单表数据量;
  3. 拆分业务压力:若设备量巨大,分离 DAM 库至独立 MySQL 实例,不和 iNode、EIA 共用数据库。

五、配套业务验证操作

  1. 处理完 SQL 并优化索引后,观察 MySQLCPU 回落至正常区间(30% 以内);
  2. 客户端反复掉线现象消失,iMC 管理后台可正常访问;
  3. 执行/iMC/bin/logfiles.sh可正常打包日志,无卡死;
  4. 观察 24 小时,无上万秒耗时 DELETE 语句产生即修复完成。

极简操作顺序

  1. MySQL kill 所有长耗时 DAM 删除线程,临时恢复业务;
  2. 停用 DAM 补丁自动清理定时任务;
  3. 给 TBL_DAM_ASSET_PATCH 关联字段新建索引,分批清理历史冗余数据;
  4. 升级 iMC PLAT+DAM 组件至 E0710P10 及以上修复版本;
  5. 开启慢查询日志,缩短 DAM 数据保存周期,定期维护数据表。

粉丝:219人 关注:0人

您好,参考

  1. DAM 补丁表无索引 + 嵌套 DELETE → 单 SQL 跑数万秒、锁表占满 CPU;
  2. MySQL 读写阻塞 → iNode 认证数据库查询超时,客户端循环掉线;
  3. iMC 首页多库联合查询排队超时 → 后台登录空白无报错;
  4. logfiles.sh 读取数据库统计日志阻塞 → 脚本卡死无法输出日志;
  5. 处置顺序:杀慢 SQL 止损→补索引→分批清理大表→优化老化任务→升级补丁根治。

请教一下,经过几天观察,我发现SQL执行并没有那么慢,可能是在2-5秒左右,还不至于宕机的程度,但是有很多连接时间高达29小时,有可能是这个版本的数据库连接池的问题,请问像这种升级补丁的需要怎么操作呢,是自己可以操作还是需要原厂那边呢,感谢

syc00 发表时间:2026-07-06 更多>>

请教一下,经过几天观察,我发现SQL执行并没有那么慢,可能是在2-5秒左右,还不至于宕机的程度,但是有很多连接时间高达29小时,有可能是这个版本的数据库连接池的问题,请问像这种升级补丁的需要怎么操作呢,是自己可以操作还是需要原厂那边呢,感谢

syc00 发表时间:2026-07-06

编辑答案

你正在编辑答案

如果你要对问题或其他回答进行点评或询问,请使用评论功能。

分享扩散:

提出建议

    +

亲~登录后才可以操作哦!

确定

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作

举报

×

侵犯我的权益 >
对根叔社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 pub.zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明