收到相关告警后,管理员需要登录对应告警对象的 OceanBase 集群的 sys 租户,进行具体原因定位。

通常租户内存使用问题跟用户使用行为相关,故需要使用 OCP 性能趋势和 SQL 监控两个监控功能排查定位。

租户性能趋势排查

在使用 OCP 租户级别性能监控前,需要先登录 sys 租户,根据报错日志中的 信息,使用下面的 SQL 查询到具体告警租户名称。如上图的日志告警中 为 ,SQL 语句示例如下:

查询到对应租户名后,在 OCP 中找到对应集群租户的性能监控展示界面,详细操作信息,请参见 。

  • 事务响应时间突然明显升高,其他指标无明显变化趋势,同时 MEMStore 指标未达到合并阈值。这种情况说明查询中存在大查询,且大查询消耗内存超过阈值触发了日志告警。

  • QPSTPS 同时有下降趋势,且事务响应时间有升高趋势,而 MEMStore 指标已经达到合并阈值但未出现下降。这种情况说明租户可用内存无法通过转储或合并进行释放,很有可能与转储或合并异常有关,详细操作信息,请参见 合并异常处理

用户 SQL 监控排查

在排查完性能趋势变化后,除发生合并异常的情况外,由于大查询或大事务引起的租户内存使用超限问题,均需要通过 OCP 监控中的 SlowSQL 监控功能进行慢查询定位。详细操作信息,请参见 。

针对排查过程中遇到的不同情况,本文档将根据问题解决的推荐度及收益从高到低的顺序依次进行介绍;

  1. 大事务。由于大事务或者批量导数引起的租户报内存不足的情况,通过定位到具体事务内容后,进行事务处理优化最终达到大事务变为小事务的目标,避免发生内存使用超限。

  2. 租户内存扩容。当以上方法均尝试后仍有租户内存超限告警的,可考虑对租户进行扩容,详细操作信息,请参见 租户管理 章节。如果最终定位异常原因与转储、合并异常有关,详细操作信息请参见 。