技术分享 | OB 慢查询排查思路

技术分享 | OB 慢查询排查思路
最新回答
青春︶兵荒马乱

2022-12-11 09:42:19

OB慢查询排查思路主要包括以下几个方面

  1. ODP组件排查

    • 查看日志:观察obproxy_digest.log和obproxy_slow.log,分析ODP处理总时间、预处理时间、获取连接时间和OBServer执行时间。
    • 数据回写延迟:如果ODP处理总时间长但预处理和OBServer执行时间短,检查是否因数据返回和数据写回客户端之间的延迟导致。
  2. OBServer组件排查

    • 租户视图分析:查看租户视图,特别是request_time、sql_id、plan_id等字段,了解SQL执行的详细情况。
    • 写入限速监控:监控gv$memstore视图,检查内存使用率,判断是否因内存使用率高导致写入限速。
    • 锁等待情况:关注锁等待,检查observer.log中的相关日志,识别是否存在锁等待导致的性能问题。
  3. 特定问题排查

    • ODP获取location cache慢:分析获取每个表分区Leader位置的过程,识别获取时间过长的问题。
    • 表的路由选择:查看gv$sql_audit视图中的PLAN_TYPE字段,判断执行计划类型,识别是否为远程计划导致的性能瓶颈。
    • SQL语句优化:检查SQL语句是否存在问题,如未使用索引、写法不当等,进行必要的优化。

通过以上排查思路,可以系统地定位和解决OB中的慢查询问题。