我一直在分析在Azure SQL中運行的數據庫執行得非常糟糕。它位於具有1750個DTU的優質等級上,並且有時仍然可以使DTU達到最大值。Azure SQL - DTU CPU使用差距
我發現了各種查詢和可怕的數據訪問模式,通過存儲過程,減少了負載。但是,下圖中DTU和CPU使用率之間仍然存在很大差異,我在Azure SQL中查看到的「查詢性能洞察」的任何其他映像都顯示DTU線大部分與CPU使用率保持一致。
DTU (in red) to CPU usage per query
望着C#應用程序坐在ontop的這一點,對於使用該應用程序的每個用戶,它會創建一個SQL用戶,並使用該用戶的連接字符串中訪問數據庫。這意味着沒有使用連接池,導致SQL Azure數據庫上的活動用戶/會話數量大量增加。這是DTU使用率如此之高的唯一原因嗎?
或者我可能會錯過有關在Azure門戶中不可見的IO的信息嗎?
感謝 尼爾
編輯:添加會話和工人形象!
基礎上,即時通訊現在不是convinved ..什麼是會話百分比是多少?就像它的10%但是10%是什麼?最大允許?
EDIT2:增加更多的指標:
紫穗我相信是重新索引,以便可以忽略!
看看Query Store中佔用CPU時間最多的是什麼。 – leppie
是的,我做到了這一點,但正如您從附圖中看到的,前20個查詢的CPU使用率僅使用5-10%,您將看到DTU的使用率總是高出30%左右,有時會出現尖峯接近100%的DTU使用率!其他數據庫的DTU和CPU通常像這樣跟蹤彼此https://acom.azurecomcdn.net/80C57D/cdn/mediahandler/docarticles/dpsmedia-prod/azure.microsoft.com/en-us/documentation/articles/sql-database -query-performance/20160817102412/performance.png – user1957687
查詢ID 122正在使用61.5%!將前5名加在一起,你幾乎可以達到85%,如果可以改進的話,我肯定會看到122%。如果可能,請發佈查詢計劃。 – leppie