SQL Azure DTU 100%排除故障

时间:2017-09-01 13:32:38

标签: sql-server azure azure-sql-database load-testing

我正在使用visual studio负载测试对我的应用进行负载测试

我的测试从每个表的单独api请求中获取sql azure数据库中大约40个表的数据。

负载测试是在10分钟内模拟大约200个用户,每秒大约80-100个请求。

在测试期间,我看到我的SQL Azure服务器DTU接触到100%,这显然不是生产性能的好兆头。

即使我使用更多DTU扩展我的数据库,这也保持不变。

如果我需要查看特定查询或仅解决扩展问题,我该如何解决或解决问题

2 个答案:

答案 0 :(得分:6)

  1. 查看Azure SQL数据库上的Query Performance Insight刀片。这将向您显示消耗资源的最佳查询,并且是优化的理想选择。

  2. 另请参阅Azure SQL数据库上的Performance Recommendations刀片。这将在分析器具有足够的历史记录以查看使用情况并确定添加(或删除)索引是否会带来好处之后显示索引建议。

  3. 如果您正在使用带有Web应用程序的Azure SQL数据库,请插入Application Insights。这将使您可以快速了解哪些查询长时间运行,以及哪些查询正在执行多次,可以从次要优化中受益。

答案 1 :(得分:2)

查看查询存储优化热门查询,显示资源成本高和长时间运行的查询。点击here以了解有关Query Store的更多信息。

运行以下查询以了解哪些资源显示更多消耗。然后使用大部分资源识别热门查询。

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; 

希望这有帮助。