Azure SQL:S0,S1,S2层和P1,P2,P3层之间的性能基准测试?

时间:2014-11-06 13:00:08

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

我们在Auzre云中有一些旧版数据库中的旧数据库(' Business' - 在Basic / Standard / Premium层可用之前)。

我们正在寻求转换到新结构(并利用新功能) - 因此,通过一些测试可以了解我们将为定价获得多少性能提升结构。

Azure SQL版本以数据库吞吐量单位(DTU)衡量,Azure直接将这些单位归因于性能提升: DTU表示数据库引擎的功能,它是CPU,内存和读写速率的混合度量。此度量可帮助客户评估基本,标准和高级(基本,S1,S2,P1,P2和P3)中可用的六个SQL数据库性能级别的相对功效。有关详细信息,请访问MSDN上的性能指南。

在看不到S0和S2数据库之间的任何差异之后 - 我们提出了一个P3版本作为对抗S0的基准测试。我们惊讶地发现,对S0和P3 Azure SQL数据库运行相当复杂的查询之间绝对没有性能差异。

这两个实例都是从原始业务层Azure SQL文件中的备份文件构建的(这可能是个问题吗?)

我不知所措 - 正如我所料,P3数据库(800 DTU单位)将要吹掉S0数据库(10个DTU单位)。两者的表现几乎相同。两者都使用了相同的执行计划,两者都有索引(DBA设置了这些 - 而不是我自己)。

有关为什么我们在这些配置中没有看到差异的任何见解?

其他人是否有任何关于这些级别的性能或性能差异的示例?

2 个答案:

答案 0 :(得分:2)

您的查询是否可能在S0数据库本身提供的资源限制内运行良好,因此更高级别的DB对您没有任何帮助?监视此问题的最佳方法是在运行查询时测量数据库的DTU百分比利用率。如果你的DTU利用率是< S0为100%,您可能无法从该查询的更高级别的DB版本中获益。

这是一个博客,提供有关监视资源使用情况和适当调整数据库性能级别的更多信息。 http://azure.microsoft.com/blog/2014/09/11/azure-sql-database-introduces-new-near-real-time-performance-metrics/

- Srini

答案 1 :(得分:1)

我针对Azure SQL数据库执行了一系列性能测试。

早在2014年7月,我进行了一系列相当广泛的测试。在此处查看结果: https://cbailiss.wordpress.com/2014/07/06/microsoft-azure-sql-database-performance-tests-summary/

我最近的测试包括将通常可用的v11版本与较新的v12(目前处于预览版)进行比较。这显示了一些重要的性能改进: https://cbailiss.wordpress.com/2014/12/17/azure-sql-database-v12-performance-tests-show-significant-performance-increase/

至于为什么你看不到不同服务层之间的性能差异,我不确定。每个服务层中的可用资源与性能级别之间存在很大差异。在我的所有测试中,Premium Tier的性能远高于标准层。您正在运行的测试是什么(即什么是SQL以及表结构,数据量等等?)以及您的结果是什么(例如,所花费的时间)?