文档首页/ MapReduce服务 MRS/ 用户指南/ MRS集群运维/ MRS集群告警处理参考/ ALM-27008 DBService长事务总数超过阈值
更新时间:2026-06-10 GMT+08:00
分享

ALM-27008 DBService长事务总数超过阈值

告警解释

系统每30秒周期性检查DBServer数据库长事务总数,默认数据库事务运行时间大于30分钟即认为该事务为长事务。将长事务总数和阈值相比较,若采集的长事务总数连续n次(n为设定的平滑次数,默认值为3)超过设定阈值(默认阈值为1)时,系统将产生此告警。

当平滑次数为1,DBServer数据库长事务总数小于或等于阈值时,该告警恢复;当平滑次数大于1,DBServer数据库长事务总数连续n次(n为设定的平滑次数)小于阈值的90%时,该告警恢复。

本章节仅适用于MRS 3.6.0-LTS.1及之后版本。

告警属性

告警ID

告警级别

告警类型

业务类型

是否可自动清除

27008

重要

业务质量告警

FusionInsight Manager

告警参数

类别

参数名称

参数含义

定位信息

来源

产生告警的集群名称。

服务名

产生告警的服务名称。

角色名

产生告警的角色名称。

主机名

产生告警的主机名。

附加信息

门限值

告警触发的阈值。

当前值

当前采集的指标值。

对系统的影响

  • 长事务阻塞垃圾回收导致表及索引持续膨胀,消耗大量存储空间;同时引发性能劣化(如IO开销剧增)、锁资源竞争及复制/运维操作失败。
  • 长事务拖慢自身执行并阻塞其他SQL,导致业务响应延迟飙升、连接池耗尽;异常中断时回滚耗时极长,增加数据不一致风险。

可能原因

  • 告警阈值配置不合理。
  • 存在数据库长事务。
    • 大事务批量处理数据,执行时间天生过长或者SQL低效(缺索引、关联不当、复杂计算),单条语句运行慢。
    • 锁冲突或死锁导致事务被阻塞、反复重试。
    • 应用未提交/回滚或客户端异常中断,事务处于空闲残留状态。

处理步骤

检查阈值设置是否合理

  1. 在FusionInsight Manager,选择“运维 > 告警 > 阈值设置 > 待操作集群的名称 > DBService > 数据库 > DBService长事务总数”,查看该告警阈值是否合理(默认值1为合理值)。

  2. 单击“操作”列的“修改”,根据实际服务的使用情况修改告警阈值。
  3. 选择“集群 > 服务 > DBService”,在“概览”页面查看“DBService长事务总数”图表,检查数据库长事务总数是否低于设置的阈值。

  4. 等待2分钟查看告警是否自动恢复。

    • 是,处理完毕。
    • 否,执行步骤 5

检查数据库是否存在长事务

  1. omm用户登录DBService主管理节点,执行以下命令登录DBService数据库。

    gsql -p 20015 -U omm -W ${数据库密码}

  2. 执行以下语句,查看数据库是否存在长事务。

    SELECT COUNT(1) FROM PG_STAT_ACTIVITY WHERE STATE IN ('active','idle in transaction', 'fastpath function call', 'idle in transaction (aborted)') AND PID <> PG_BACKEND_PID() AND EXTRACT(EPOCH FROM (now() - QUERY_START::timestamptz)) >= 1800;

    查询结果大于0,表示存在长事务;查询结果等于0,表示不存在长事务。

  3. 根据实际情况处理存在的长事务,并等待2分钟,查看告警是否清除。

    • 是,执行完毕。
    • 否,执行步骤 8

收集故障信息

  1. 在FusionInsight Manager界面,选择“运维 > 日志 > 下载”。
  2. 在“服务”中勾选待操作集群的“DBService”,“OMS”。
  3. 设置日志收集的主机,可选项,默认所有主机。
  4. 单击右上角的时间编辑按钮设置日志收集的“开始时间”和“结束时间”分别为告警产生时间的前后10分钟,单击“下载”。
  5. 请联系运维人员,并发送已收集的故障日志信息。

告警清除

此告警修复后,系统会自动清除此告警,无需手工清除。

参考信息

不涉及。

相关文档