本文为您介绍在完成性能评估任务后,如何查看性能评估报告,以及对报告详情进行说明。
使用限制
仅处于 已完成 状态的完整性能评估任务或 SQL 文件回放任务,支持查看性能评估报告。
性能评估报告支持保存 15 天。
操作步骤
登录 OceanBase 管理控制台。
在左侧导航栏,单击 迁移评估 > 性能评估。
在 性能评估列表 页面,单击目标评估任务后的 查看报告。
在 负载回放报告 页面,查看报告详情。
报告详情说明
负载回放报告包括 回放分析、性能趋势、SQL 诊断信息、SQL 优化信息 和 回放信息列表 等模块。
回放分析 模块包括 回放总数、回放成功率 和 回放流量对比图。您可以在 回放流量对比图 区域右上角筛选查看 全部、Select 或 Write 类型的回放流量对比。
当您筛选查看全部,并且进行只读流量回放时,源端流量曲线图会包含写流量和读流量。此时,目标端的曲线低于源端是正常的。
当您采用倍速回放时,回放时间会小于源端的流量录制时间,此时回放流量对比图的目标端曲线在末尾会跌至 0。
性能趋势 模块包括 QPS(每秒处理 SQL 语句数)、查询响应时间(SQL 语句平均处理耗时)和 CPU 使用率 折线图,您可以查看性能趋势。
SQL 诊断信息 模块包括 TopSQL 和 SlowSQL,您可以查看 SQL 文本、SQL 访问的数据库、CPU 占比、SQL ID,以及指定时间段内 SQL 的总执行次数、数据库执行 SQL 的总耗时(ms)和报错汇总等信息。您还可以在该区域右上角进行快速筛选。
SQL 优化信息 模块包括 优化类型、租户、数据库、优化对象、诊断理由 和 优化建议 等信息,您可以作为参考,优化相关 SQL。
回放信息列表 模块包括 SQL ID、回放总数、SQL 类型,以及源端和目标端的 耗时 90 分位数、耗时中位数 和 耗时平均值。
迁移评估的负载回放报告以源端 SQL ID 为维度进行聚合和统计。在回放信息列表中,每一行代表了某类 SQL 在回放过程中的统计情况。目前迁移评估的负载回放报告仅支持在完成统计后,根据回放次数进行倒序排序,展示前 50 行的数据。
参数
描述
SQL ID
SQL ID 代表了同类 SQL,在一定时间段内唯一。例如:
SELECT * FROM TABLEA WHERE COL1 = 1; SELECT * FROM TABLEA WHERE COL1 = 2;
上述两条 SQL 会被认为是同类 SQL,具有相同的 SQL ID。
源端 SQL ID:源端日志或迁移评估计算出来的 SQL ID。
重要源端的 SQL 存在截断时,迁移评估会根据文本计算 HASH 值。此时,可近似认为每个截断的 SQL 是单独的一类 SQL。
目标端 SQL ID:OceanBase 数据库计算出来的 SQL ID。
回放总数
该类 SQL 总共回放的次数。
SQL 类型
包括 SELECT、INSERT、UPDATE 和 DELETE。
耗时 90 分位数
耗时单位为毫秒,仅保留三位小数。假设该类 SQL 执行了 n 次,回放时间分别为
[x_1,x_2,x_3,....,x_n]
,按照降序排序后为[x_1',x_2',....,x_n']
,则 P90 的值为x_[x*0.9]
。具体使用的计算函数请参见 approx_percentile 函数。耗时中位数
根据回放时间计算出来的中位数。耗时单位为毫秒,仅保留三位小数。
耗时平均值
根据回放时间计算出来的平均值。耗时单位为毫秒,仅保留三位小数。
迁移评估执行每条 SQL 都具备源端执行时间和目标端执行时间两个指标,耗时 90 分位数、耗时中位数和耗时平均值均由这两个指标聚合得到。关于聚合的时间采集来源说明如下:
源端执行时间:是直接来自于 SLS 的时间,OceanBase 数据库和迁移评估无法确保源端执行时间的真实性和采集算法。
目标端执行时间:从 OceanBase 数据库的视图
oceanbase.v$sql_audit
中获取的数据。重要由于 OceanBase 数据库视图的淘汰和采集速率两个因素的综合影响,目标端执行时间可能会存在数据缺失的情况。