按等待事件分析数据库负载
如果数据库负载图表显示了一个瓶颈,您可以找出负载的来源。为此,请查看数据库负载图表下方的主要负载项目。选择特定项目 (如 SQL 查询或用户) 以深入了解该项目并查看有关该项目的详细信息。
按等待状态和主要 SQL 查询分组的数据库负载是默认 Performance Insights 控制面板视图,此组合通常提供了最多的性能问题见解。按等待状态分组的数据库负载显示了数据库中是否存在任何资源瓶颈或并发瓶颈。在这种情况下,“Top Load Items”表的 SQL 选项卡显示了增大该负载的查询。
诊断性能问题的典型工作流程如下:
-
查看数据库负载图表并了解是否存在数据库负载的事件越过了 Max CPU 线。
-
如果有,请查看数据库负载图表并确定负主要责任的等待状态。
-
通过以下方式确定导致负载的摘要查询:查看“Top Load Items”表上的 SQL 选项卡中的哪个查询对于导致这些等待状态所起的作用最大。可通过 DB Load by Wait (按等待状态排列的数据库负载) 列加以识别。
-
在 SQL 选项卡中选择这些摘要查询之一以展开它并查看它包含的子查询。
例如,在下面的控制面板中,日志文件同步等待状态占大部分数据库负载。LGWR 所有工作线程组等待状态也很高。主要 SQL 图表显示导致日志文件同步等待状态的内容:频繁的 COMMIT
语句。在这种情况下,降低提交频率将会减少数据库负载。