2017-09-01 76 views
2

我使用的Visual Studio負載測試SQL Azure的DTU的100%排查

我的測試中得到的SQL Azure數據庫中的每個表單獨的API請求約40表中的數據執行我的應用程序的負載測試。

負載測試模擬了大約200名用戶超過10分鐘和大約每秒80-100個請求。

在測試過程中,我看到我的SQL Azure服務器DTUs觸及100%,這顯然不是生產性能的好兆頭。

即使我用更多的DTU擴展我的數據庫,這也保持不變。

如何解決或解決的問題,如果是,我需要看或只是一個規模問題,解決

回答

6
  1. 看看你的Azure的查詢性能洞察刀片某個特定查詢SQL數據庫。這將向您顯示消耗資源的頂級查詢,並且是優化的最佳候選對象。

  2. 另請查看Azure SQL數據庫上的性能建議刀片。這將在分析器有足夠的歷史記錄以查看使用情況並確定添加(或刪除)索引是否會帶來好處後顯示索引建議。

  3. 如果您將Azure SQL DB與Web App一起使用,請插入Application Insights。這將使您對很長時間內運行的查詢以及哪些查詢正在執行的一系列時間有所瞭解,這些問題可能會受益於較小的優化。

2

查看查詢商店優化頂級查詢,顯示資源成本高和長時間運行的查詢。點擊here瞭解更多關於查詢商店的信息。

運行以下查詢以瞭解哪些資源顯示更多消耗。然後使用大部分資源來確定頂級查詢。

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; 

希望這會有所幫助。