我正在使用visual studio负载测试对我的应用进行负载测试
我的测试从每个表的单独api请求中获取sql azure数据库中大约40个表的数据。
负载测试是在10分钟内模拟大约200个用户,每秒大约80-100个请求。
在测试期间,我看到我的SQL Azure服务器DTU接触到100%,这显然不是生产性能的好兆头。
即使我使用更多DTU扩展我的数据库,这也保持不变。
如果我需要查看特定查询或仅解决扩展问题,我该如何解决或解决问题
答案 0 :(得分:6)
查看Azure SQL数据库上的Query Performance Insight刀片。这将向您显示消耗资源的最佳查询,并且是优化的理想选择。
另请参阅Azure SQL数据库上的Performance Recommendations刀片。这将在分析器具有足够的历史记录以查看使用情况并确定添加(或删除)索引是否会带来好处之后显示索引建议。
如果您正在使用带有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;
希望这有帮助。