You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何监控PolarDB MySQL全局一致性(高性能模式)下SCC降级事件?

针对PolarDB MySQL SCC降级监控的解决方案

1. 追踪SCC降级发生频率的方法

状态变量

直接查询全局状态变量获取累计统计:

SHOW GLOBAL STATUS LIKE '%polar_scc%';

重点关注这几个变量:

  • Innodb_polar_scc_degrade_count:累计触发SCC自动降级的总次数
  • Innodb_polar_scc_wait_timeout_count:因等待复制完成超时导致降级的次数
  • Innodb_polar_scc_consistent_read_count:成功完成一致性读的次数

通过这些变量可以直接计算比例:降级比例 = Innodb_polar_scc_degrade_count / (Innodb_polar_scc_degrade_count + Innodb_polar_scc_consistent_read_count)

控制台监控指标

在PolarDB管理控制台的监控中心,找到「全局一致性读」分类下的指标:

  • 一致性读降级次数(实时/历史趋势)
  • 一致性读等待超时次数
  • 一致性读成功次数
    这些指标可以直观查看降级频率,还能设置告警阈值。

日志记录

开启降级日志开关:

SET GLOBAL loose_innodb_polar_scc_log_degrade = ON;

之后每次触发降级时,会在MySQL错误日志(error.log)中记录类似如下的日志:

[Note] [InnoDB] SCC degrade: wait replication timeout, query forwarded to primary node.
通过分析错误日志可以定位降级发生的具体时间和场景。

2. 监控只读查询转发至读写节点的数量

代理状态变量

查询代理相关的全局状态变量:

SHOW GLOBAL STATUS LIKE 'Polar_proxy_route_to_primary_count';

这个变量统计了代理转发至主节点(读写节点)的所有查询次数,其中包含因SCC降级触发的转发。如果需要单独统计SCC降级导致的转发,可结合Innodb_polar_scc_degrade_count(开启自动降级后,每次降级对应一次主节点转发)。

控制台监控指标

在PolarDB管理控制台的代理监控面板中,查看「转发至主节点的查询数」指标,该指标包含所有路由到主节点的请求,结合「一致性读降级次数」指标可以关联分析降级带来的主节点转发量。

审计日志分析

开启PolarDB的审计日志后,每条查询日志会携带route_node字段(标记查询最终路由到的节点类型:主节点/只读节点)。通过筛选route_node=primary且为只读类型的查询,结合查询是否带有一致性读的上下文标记,可精准统计因SCC降级转发的查询数量,适合需要精细化分析的场景。


内容的提问来源于stack exchange,提问作者juedu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.11 09:33:08