下面显示了我们的一个Azure SQL数据库在24小时内的CPU峰值。compute utilization
在查询性能方面,相同的24小时内按CPU排序的前5个查询如下图所示。query performance
然而,上面概述中的峰值数量比按CPU排名靠前的查询更频繁。除了查询性能之外,我们在哪里可以找到导致峰值的原因,因为它似乎完全是其他东西?
发布于 2020-02-08 06:48:16
我知道这有点晚了,但可能对其他人有用,下面的查询显示了Azure中消耗CPU最多的10个查询:
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;https://stackoverflow.com/questions/59996723
复制相似问题