首批通过分布式安全可靠测评,为关键业务系统打造
SlowSQL 诊断
更新时间:2023-07-28 15:40:52
SlowSQL 是指执行超过 100ms 的 SQL,您可通过 SlowSQL 诊断识别风险语句,规避风险。
设置一般 SQL 执行时间
默认配置下,执行时间超过 100ms 的为慢 SQL。您可如下方法修改 SlowSQL 判定的默认阈值:
黑屏或使用 OceanBase 开发者中心(OceanBase Developer Center,ODC)执行如下 SQL 修改 SlowSQL 判定的默认阈值为 120000 微秒。
select collect_elapsed_threshold_us from ob_agent_collection_config_history where collection_name = 'slow_sql'; update ob_agent_collection_config_history set collect_elapsed_threshold_us = 120000 where collection_name = 'slow_sql';再修改 OCP 系统参数
ocp.ob.slowsql.threshold的值为 120000 微秒。
操作步骤
在左导航栏单击 租户 ,并在 租户列表 中单击具体的租户进入租户 总览 页面。
在左侧导航栏单击 SQL 诊断 ,进入 SQL 诊断 页签。
若集群参数 enable_sql_audit 和租户参数 ob_enable_sql_audit 中任何一个未配置成打开,则 SQL 诊断 页面将缺失 SQL 诊断数据。可通过提示中的按钮修改参数值。

单击 SlowSQL 页签。
对 SlowSQL 进行筛选。
配置筛选条件
时间范围:可在 时间范围 下拉框中选择 近 5 分钟、近 10 分钟、近 20 分钟、近 30 分钟、近 1 小时、近 3小时来快速选择时间范围;也可在下拉框中选择自定义时间,并配置开始时间和结束时间。默认显示近 30 分钟内的信息。
OBServer:选择 OBServer,查询时将只查询在该 OBServer 上执行的 SQL。
内部 SQL:若勾选,则查询结果中会包含由 OceanBase 内部发起的 SQL。
关键词:查询结果中会显示 SQL 文本中包含该关键词的 SQL。
高级搜索:下拉框中选择 SQL ID、执行次数、每秒执行次数 等指标,并配置指标值,查询时将获取指标满足条件的 SQL 展示在查询结果列表中。

单击 查询 ,下方列表中将展示所有符合查询条件的 SQL。
查看 SlowSQL 信息。
单击 列管理 ,即可在弹出框中选择需要查看的信息。勾选完成后即可在 TopSQL 列表中查看到相关信息。

在 SlowSQL 页签下, 可查看在刚刚选择的列信息。可复制 SQL 文本,根据数据库和用户对 SQL 文本进行筛选,根据执行次数、总响应时间、响应时间和 CPU 时间对 SQL 文本进行排序。

单击 SQL 文本下内容,您可进入具体 SQL 页面。
您可在 SQL 文本 区域 复制 或 查看全部 SQL 信息。

查看 SQL 执行明细:您可查看近 5 分钟、近 10 分钟、近 20 分钟、近 30 分钟、近 1 小时、近 3小时或自定义时间内的 TraceID、请求时间、响应时间、执行时间、物理读、返回行数、Server IP、客户端 IP信息。支持复制 TraceID;根据请求时间、响应时间、执行时间、物理读对 SQL 进行排序。
物理读:从物理磁盘中读取数据的次数。

查看历史趋势:您可选择不同 IP、不同时间段的不同指标查看历史趋势。

单击 导出 SlowSQL 按钮,将导出列表中展示的所有 SlowSQL。