是什么导致Azure SQL中的CPU峰值?

问题描述 投票:0回答:1

下面显示了我们的Azure SQL数据库之一在24小时内的CPU高峰。 compute utilization

在查询性能中,下图显示了在24小时内CPU进行的前5次查询。 query performance

但是,以上概述中的峰值数量比CPU的最高查询次数更频繁。我们在哪里可以找到导致“查询性能”峰值的原因,因为它似乎完全是其他原因?

sql-server azure azure-sql-database database-performance azure-diagnostics
1个回答
0
投票

我知道这有点晚了,但是可能对其他人有用,以下查询显示了Azure中活跃的10个消耗CPU的查询:

SELECT TOP 10
       GETDATE() runtime,
       *
FROM
(
    SELECT query_stats.query_hash,
           SUM(query_stats.cpu_time) 'Total_Request_Cpu_Time_Ms',
           SUM(logical_reads) 'Total_Request_Logical_Reads',
           MIN(start_time) 'Earliest_Request_start_Time',
           COUNT(*) 'Number_Of_Requests',
           SUBSTRING(REPLACE(REPLACE(MIN(query_stats.statement_text), CHAR(10), ' '), CHAR(13), ' '), 1, 256) AS "Statement_Text"
    FROM
    (
        SELECT req.*,
               SUBSTRING(   ST.text,
                            (req.statement_start_offset / 2) + 1,
                            ((CASE statement_end_offset
                                  WHEN -1 THEN
                                      DATALENGTH(ST.text)
                                  ELSE
                                      req.statement_end_offset
                              END - req.statement_start_offset
                             ) / 2
                            ) + 1
                        ) AS statement_text
        FROM sys.dm_exec_requests AS req
            CROSS APPLY sys.dm_exec_sql_text(req.sql_handle) AS ST
    ) AS query_stats
    GROUP BY query_hash
) AS t
ORDER BY Total_Request_Cpu_Time_Ms DESC;
© www.soinside.com 2019 - 2024. All rights reserved.