SQL Azure DTU 100% 故障排除

SQL Azure DTUs at 100% troubleshoot

我正在使用 visual studio 负载测试

对我的应用进行负载测试

我的测试从 sql Azure 数据库中的大约 40 table 秒获取数据,每个 table.

的单独 api 请求

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

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

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

如果是我需要查看的特定查询或只是需要解决的缩放问题,我该如何解决或解决问题

  1. 查看 Azure SQL 数据库上的查询性能洞察边栏选项卡。这将向您显示消耗资源最多且适合优化的查询。

  2. 另请查看 Azure SQL 数据库上的性能建议边栏选项卡。这将在分析器有足够的历史记录来查看使用情况并确定添加(或删除)索引是否会带来好处后显示索引建议。

  3. 如果您将 Azure SQL 数据库与 Web 应用程序一起使用,请插入 Application Insights。这将使您清楚地了解哪些查询是 long-运行,以及哪些查询被执行了很多次,可以从较小的优化中获益。

查看查询存储优化热门查询,显示资源成本高和 运行 查询长。单击 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; 

希望对您有所帮助。