开发者社区> 问答> 正文

oceanbase数据库负载过大,怎么排查?

efa4adbd464163d78fa86a8d9def11ee.png oceanbase数据库负载过大,怎么排查?

展开
收起
闲o月 2024-02-01 19:25:55 50 0
来自:OceanBase
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    排查OceanBase数据库负载过大的问题,您可以按照以下步骤进行:

    1. 检查系统资源:使用top命令查看实时的CPU使用情况,或者使用tsar命令查看CPU使用率的历史数据。此外,topH命令可以帮助您直接查看消耗CPU的线程。
    2. 分析线程消耗:根据线程的CPU消耗情况,判断当前是否业务负载增加,包括负载并发量和负载类型。如果是业务负载增加导致的CPU消耗,考虑慢SQL的影响,并找到对应的SQL进行优化或负载限流处理。
    3. 磁盘问题排查:检查磁盘数据required_size和实际数据data size的大小,如果required_sizedata size要大很多,可能是多版本问题。同时,排查宏块使用率,如果使用率低,可能是宏块重用的问题。可以使用__all_virtual_meta_table__all_virtual_table_mgr虚拟表来确认数据长度和sstable所占用的空间。
    4. 网络延时检查:由于OceanBase集群对网络延时有一定的容忍度,但生产环境中网络延时过大会导致性能下降。因此,建议检查集群多数派节点之间的网络延时,确保它们处于可接受的范围内。
    5. 监控事务日志盘:事务日志盘的顺序写性能会影响COMMIT的延时。监控事务日志盘的性能,确保没有瓶颈存在。
    6. 观察租户和业务负载:如果业务负载无明显变化,但OBServer的CPU消耗突然增高,可能需要进一步考虑OceanBase内核的原因。此时,可以考虑联系OceanBase的技术支持团队,以便进行更深入的分析。
    7. 查看告警信息:如果您在OCP中配置了CPU告警,当集群、租户、主机的CPU负载达到阈值时,您会收到告警信息。这些告警信息可以作为排查问题的线索。
    8. 性能监控:定期进行性能监控,发现CPU负载异常时及时响应,这有助于快速定位问题并进行解决。
    9. 集群状态检查:检查集群中的所有节点的状态,确保没有节点挂掉或异常,因为OceanBase采用的是多副本集群模式,节点故障会影响整体性能。

    综上所述,通过上述步骤,您可以系统地排查OceanBase数据库负载过大的问题,并采取相应的措施来优化性能。在排查过程中,如果遇到复杂问题,建议咨询专业的技术支持。

    2024-02-04 14:23:28
    赞同 展开评论 打赏
  • "可以也执行下这个 select * from GV$OB_SQL_AUDIT\G
    https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000510560 此回答整理自钉群:“[社区]技术答疑群OceanBase”"

    2024-02-02 13:44:58
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
+ 订阅
蚂蚁OceanBase数据库团队,用于OceanBase技术原理、运维经验和案例分享、对外交流。
问答排行榜
最热
最新

相关电子书

更多
开源HTAP OceanBase产品揭秘 立即下载
云数据库OceanBase 架构演进及在金融核心系统中的实践 立即下载
自研金融数据库OceanBase的创新之路 立即下载