簡體   English   中英

找出在SQL Azure中增加DTU的查詢

[英]Find out which query increasing DTU in SQL Azure

我在我的應用程序中使用SQL Azure SQL Server。 我的應用程序所在的數據庫層一直運行到最近,avg DTU的使用受到控制。 但是在高峰時段,DTU的峰值持續達到100%。 升級到下一層是一個選項,但首先我想弄清楚哪個查詢對此負責。 這可以在Azure中找到,哪個查詢使DTU跳轉到100%?

簡單地說DTU是CPU,IO,內存的混合物,你將根據你的服務等級得到它。如果有一個列顯示查詢使用的DTU與總DTU的比較,那將會非常棒。

我會分兩步處理這個問題。

步驟1:
找出哪個指標始終超過90%

- 這個DMV每15秒存儲一次DTU使用,最多14天。

SELECT  
    AVG(avg_cpu_percent) AS 'Average CPU Utilization In Percent', 
    MAX(avg_cpu_percent) AS 'Maximum CPU Utilization In Percent', 
    AVG(avg_data_io_percent) AS 'Average Data IO In Percent', 
    MAX(avg_data_io_percent) AS 'Maximum Data IO In Percent', 
    AVG(avg_log_write_percent) AS 'Average Log Write Utilization In Percent', 
    MAX(avg_log_write_percent) AS 'Maximum Log Write Utilization In Percent', 
    AVG(avg_memory_usage_percent) AS 'Average Memory Usage In Percent', 
    MAX(avg_memory_usage_percent) AS 'Maximum Memory Usage In Percent' 
FROM sys.dm_db_resource_stats; 

第2步:
如果您看到上述任何指標始終超過90%,則可以調整這些查詢。

例如,如果cpu超過90%,您可以開始跟蹤具有高CPU使用率的查詢並調整它們。

自20171701更新:
SQLAzure引入了Query Performance insight,它顯示了Query使用的DTU。您必須啟用Querystore才能使其工作。

在此輸入圖像描述

從上面的屏幕截圖中可以看出,您可以看到每個查詢的確切DTU用法

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM