使用新的Azure SQL 数据库层结构,监视数据库“DTU”使用情况以了解是升级还是降级到另一个层似乎很重要。
在阅读Azure SQL 数据库服务层和性能级别时,它只讨论了使用 CPU、数据和日志百分比使用情况进行监控。
但是,当我添加新指标时,我还有一个DTU 百分比选项:
我在网上找不到任何关于此的信息。这本质上是对其他 DTU 相关指标的总结吗?
使用新的Azure SQL 数据库层结构,监视数据库“DTU”使用情况以了解是升级还是降级到另一个层似乎很重要。
在阅读Azure SQL 数据库服务层和性能级别时,它只讨论了使用 CPU、数据和日志百分比使用情况进行监控。
但是,当我添加新指标时,我还有一个DTU 百分比选项:
我在网上找不到任何关于此的信息。这本质上是对其他 DTU 相关指标的总结吗?
DTU 是衡量服务层性能的单位,是多个数据库特征的汇总。每个服务层都有一定数量的 DTU 分配给它,这是一种比较一个层与另一个层的性能水平的简单方法。
数据库吞吐量单元 (DTU): DTU 提供了一种描述基本、标准和高级数据库性能级别的相对容量的方法。DTU 基于 CPU、内存、读取和写入的混合度量。随着 DTU 的增加,性能级别提供的功率也会增加。例如,具有 5 个 DTU 的性能级别的功率是具有 1 个 DTU 的性能级别的五倍。最大 DTU 配额适用于每台服务器。
DTU 配额适用于服务器,而不是单个数据库,每个服务器最多有 1600 个 DTU。DTU% 是您的特定数据库正在使用的单位百分比,似乎这个数字可以超过服务层的 DTU 等级的 100%(我假设服务器的限制)。此百分比数字旨在帮助您选择适当的服务层级。
从下到本公告的底部:
例如,如果您的 DTU 消耗量显示为 80%,则表明它正在以 S2 数据库将具有的限制的 80% 的速率消耗 DTU。如果您在此视图中看到大于 100% 的值,则意味着您需要一个大于 S2 的性能层。
例如,假设您看到 300% 的百分比值。这告诉您,您使用的资源是 S2 中可用资源的三倍。要确定合理的起始大小,请将 S2(50 DTU)中可用的 DTU 与下一个更大的大小(P1 = 100 DTU,或 S2 的 200%,P2 = 200 DTU 或 S2 的 400%)进行比较。因为您处于 S2 的 300%,所以您希望从 P2 开始并重新测试。
仍然不够酷,无法发表评论,但关于@vladislav 的评论,原始文章相当陈旧。这是有关 DTU 的更新文档,这将有助于回答 OP 的问题。
https://docs.microsoft.com/en-us/azure/sql-database/sql-database-what-is-a-dtu
在此文档中,此 DTU 百分比由以下查询确定:
SELECT end_time,
(SELECT Max(v)
FROM (VALUES (avg_cpu_percent), (avg_data_io_percent),
(avg_log_write_percent)) AS
value(v)) AS [avg_DTU_percent]
FROM sys.dm_db_resource_stats;
看起来像 的最大值avg_cpu_percent
,avg_data_io_percent
并且avg_log_write_percent
参考:
DTU 只不过是 CPU、内存和 IO 的混合体。当这三个都非常清楚时,为什么我们需要混合?因为我们想要一个功率单位。但它在许多方面仍然令人困惑。例如:如果我只是增加内存会增加功率(DTU)吗?如果是,DTU 怎么可能是混合体?是的。在这种内存增加的情况下,根据jyong给出的答案中的查询,DTU将相当于内存(因为我们增加了它)。MS 甚至有一个基于这个 DTU 的定价模型,它提出了许多问题。
由于这些困惑和问题,MS 希望引入另一种选择。我们已经在内部部署了一些规范,为什么我们不能使用它们?因此,“vCore 定价模型”诞生了。在这个模型中,我们可以看到 RAM 和 CPU。但不是在 DTU 模型中。
DTU 的反驳论点是 DTU 测量是使用模拟真实世界数据库工作负载的基准来校准的。而且我们不再在内部部署了;)。是的,它的设计考虑了云计算(但也用于 OLTP 工作负载)。
但这还不是全部。现在我们正在输入定价模型,等式发生了变化。现在的问题是关于钱和捆绑包(包括所有功能)。在这里,DTU 有一些优势(在我看来),但拥有许多现有许可证的企业会不同意。
我们可以在需要时在两者之间切换,因此如果不确定从 DTU(基本/标准/高级)开始。
我们如何知道要使用哪个定价层?转到如下所示的配置菜单:(在右侧/左侧,您可以在两者之间切换)
尽管 Vcore 是更大的“机器”并且用于更大的事情,但对于企业组织来说,成本有时会更便宜。这是一个证明。DTU 售价 147 美元。但 Vcore 的价格为 111 美元。那是因为您可以承诺 3 年(但仍按月付费)并且还因为许可证重用选项(企业将拥有本地许可证)。
这比直接回答问题有点过分,但我将继续通过回答“如何在 DTU 中的不同选项之间进行选择,更不用说在 DTU 和 vCore 之间进行选择”来完成这一点。这个美丽的博客回答了这个问题,这个流程图解释了这一切
要检查您的服务的准确使用情况,无论是免费(始终免费或 12 个月免费)还是即用即付,重要的是监控使用情况,以便您提前了解所产生的成本或何时升级您的服务层。
要检查您的免费服务使用情况及其限制,请在 Portal 中搜索,使用“订阅”搜索并单击它。您将看到您使用的每项服务的详细信息。
如果是 Microsoft 提供的免费 azure,您可以查看每一项所产生的成本。
希望这对某人有帮助!