在 SQL Azure 中找出增加 DTU 的查询
Find out which query increasing DTU in SQL Azure
我正在为我的应用程序使用 SQL Azure SQL 服务器。我的应用程序所在的 DB 层直到最近都运行良好,平均 DTU 使用率受到控制。但是,在高峰时段,DTU 持续飙升至 100%。升级到下一层是一个选项,但首先我想弄清楚哪个查询对此负责。是否可以在 Azure 中找到哪个查询使 DTU 跳至 100%?
简单地说,DTU 是 CPU、IO、内存的混合体,您将根据您的服务层获得。如果有列显示查询使用了多少 DTU 与总 DTU..
我会分两步处理这个问题..
第一步:
找出哪个指标始终超过 90%
--此 DMV 每 15 秒存储一次 DTU 使用情况,最多 14 天..
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;
第二步:
如果您看到上述任何指标始终超过 90%,您可以调整这些查询..
例如,如果 cpu 超过 90%,您可以开始跟踪 cpu 使用率较高的查询并对其进行调整..
更新于 20171701:
SQLAzure 引入了查询性能洞察力,它显示 Query.You 使用的 DTU 必须启用 Querystore 才能工作..
正如您从上面的屏幕截图中看到的,您可以看到每个查询的确切 DTU 使用情况
我正在为我的应用程序使用 SQL Azure SQL 服务器。我的应用程序所在的 DB 层直到最近都运行良好,平均 DTU 使用率受到控制。但是,在高峰时段,DTU 持续飙升至 100%。升级到下一层是一个选项,但首先我想弄清楚哪个查询对此负责。是否可以在 Azure 中找到哪个查询使 DTU 跳至 100%?
简单地说,DTU 是 CPU、IO、内存的混合体,您将根据您的服务层获得。如果有列显示查询使用了多少 DTU 与总 DTU..
我会分两步处理这个问题..
第一步:
找出哪个指标始终超过 90%
--此 DMV 每 15 秒存储一次 DTU 使用情况,最多 14 天..
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;
第二步:
如果您看到上述任何指标始终超过 90%,您可以调整这些查询..
例如,如果 cpu 超过 90%,您可以开始跟踪 cpu 使用率较高的查询并对其进行调整..
更新于 20171701:
SQLAzure 引入了查询性能洞察力,它显示 Query.You 使用的 DTU 必须启用 Querystore 才能工作..
正如您从上面的屏幕截图中看到的,您可以看到每个查询的确切 DTU 使用情况