【问题标题】:azure sql limit dtu resources per operationazure sql 限制每个操作的 dtu 资源
【发布时间】:2016-08-01 06:00:14
【问题描述】:

可悲的是,上周 azure 将一个数据库从 web 层转移到了 s1 层。我手动将层级增加到 s2。努力改变系统中的一些东西,所以 dtu 不会达到 100%。

现在我有了新的情况——我得到了在数据库中运行并执行诸如删除等操作的后台内容。问题是后台内容消耗了 100% 的 dtu,并且我的网站开始出现错误。

我的问题是:有没有办法告诉每个查询/操作的 sql 消耗最大 X dtu?例如,我想创建一个索引,当我执行操作时,我的 dtu 提高到 100 并且它在那里停留了很长时间 - 猜测它是一个要构建的大索引 - 所以我再次卡住了,我取消了查询,因为我不想要我的最终用户会遭受延迟。

所有这些问题都不存在于网络层,一切顺利。

【问题讨论】:

    标签: azure azure-sql-database


    【解决方案1】:

    这是一个非常好的建议,不幸的是,限制特定查询或操作以消耗有限的 DTU 是不可能的 ..可能在未来的版本中,他们可能会带来类似工具的资源管理器

    我能想到的最接近的限制查询的 DTU 设置为

    Option (MAXDOP 1)
    

    查询可能会并行执行,每个线程会消耗更多资源,因此限制 MAXDOP 将有助于限制 DTU,但需要注意

    【讨论】:

    • 所以你现在说的我不能创建一个索引来更好地执行我的应用程序而不伤害我的最终用户
    • 为什么你需要一次又一次地创建索引,可能有更好的方法来做到这一点..我的意思是你不能限制查询或操作的 DTU,使用 maxdop 选项将确保这将消耗更少的资源,但有一些警告
    • 您可以选择在创建索引所需的时间内提高性能级别。您按小时计费。
    猜你喜欢
    • 1970-01-01
    • 2018-11-06
    • 2015-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多