如何衡量 Azure SQL 数据库的性能?

How to measure the performance of the Azure SQL DB?

我需要使用 DTA 测量 SQL Azure 数据库性能,是否可行,如果不行,使用工作负载文件 (.trc) 的解决方法是什么?

数据库引擎优化顾问不支持 Azure SQL 数据库。也无法使用 SQL Server Profiler 从 Azure SQL 数据库创建跟踪文件。

SQL Azure 自动创建索引,这些索引可以通过名为 automatic tuning 的功能提高工作负载的性能。 Azure 上的自动调优 SQL 还会删除冗余索引并使用最佳执行计划进行查询

Alberto 是正确的 - SQL Azure 中有一些功能在某些情况下可以帮助自动监视和改进数据库查询的性能。 SQL Azure 当前不支持探查器跟踪 + DTA。 SQL 服务器中的 DTA(数据库调优顾问)功能非常适合获取跟踪并尝试在不同的服务器上重播它们以模拟可能提高性能的索引和分区更改。自动调整功能可以为您做到这一点,而无需您今天自己使用 DTA。

https://docs.microsoft.com/en-us/azure/sql-database/sql-database-automatic-tuning

如果您只想探索数据库的性能,那么您可以使用 SQL Azure(和 SQL Server 2016+)中的查询存储来进行此类分析.

https://azure.microsoft.com/en-us/blog/query-store-a-flight-data-recorder-for-your-database/

https://docs.microsoft.com/en-us/sql/relational-databases/performance/monitoring-performance-by-using-the-query-store?view=sql-server-2017

如果您还没有使用最新版本的 SQL Server Management Studio (SSMS) 尝试过此操作,那么我强烈建议您下载并尝试一下。您可以按不同指标查看前 N 个查询、计划随时间的变化以及其他指标,这些指标可让您更快地了解数据库 + 应用程序的性能概况。

今天无法获取 .trc 文件并在查询存储中检查它,但您可以在本地 SQL 服务器 (2016+) 中启用查询存储,然后记录您的生产一段时间的工作负载,看看它是如何表现的。请理解 运行 查询存储的开销 - 通常它是适度的,但对于高度临时的 OLTP 查询工作负载,您可能会看到更大的开销。有一些旋钮可以调整它,所以请在修改生产系统之前进行正常的尽职调查。如果您遇到问题,请将其关闭并重新检查,直到您有正确的设置来帮助从您的工作负载中捕获相关数据,以帮助做出调整决策。

希望对您有所帮助!

真诚的, 康纳坎宁安 建筑师,SQL