当前位置: 首页 > 知识库问答 >
问题:

自动放大/缩小Cosmos DB RU

东门楚
2023-03-14

由于一段时间内突发的高流量,我们经历了节流(429)。为了缓解这个问题,我们目前增加了azure portal中的RU,并在以后降低它。

我想根据指标向上/向下扩展,但是,它不会公开为文档数据库容器创建的物理分区数。

  • 如何获取文档数据库容器的物理分区数
  • 如果这个组中有人解决了自动缩放问题,我很想知道如何解决

共有3个答案

寿元白
2023-03-14

现在有一个更新的答案(截至2019-11-19):“自动试点”功能(目前处于预览版)自动执行放大和缩小。

在撰写本文时,可以在 Azure 门户上 Cosmos DB 帐户的“预览功能”边栏选项卡中找到此信息。一旦它退出预览,它显然会移动。应在此处找到最新说明:https://docs.microsoft.com/en-us/azure/cosmos-db/provision-throughput-autopilot

卓瀚
2023-03-14

https://github.com/giorgited/CosmosScale

我写了这个库来帮助自动缩放。我们使用azure函数在早上进行扩展,在晚上进行缩减,但是我们意识到这样效率不高。

上述库将扩展到用户提供的所需RU的最大值,并在没有不活动时缩减。它处理批量操作的方式不同于单个操作,请参阅github了解完整信息,包括基准统计数据。

声明:我是本库的作者。

师腾
2023-03-14

我根本不会去物理分区级别,因为负载可能不会均匀地分布在各个分区上。我假设您可能不关心平均分区吞吐量,但是需要考虑最坏的情况。

因此,如果您需要完全自动扩展,那么我将专注于跟踪节流事件(发生在事件之后)或监控总的RU使用情况(分区魔术)。这两条路径都非常复杂,以实现真正的自动缩放,可能需要将它们结合起来。虽然升级似乎是可以实现的,但决定何时恢复和达到什么水平更为棘手。

在事情发生之前,很难预料到意外和可靠的反应。一定要考虑与更简单的解决方案相比,在您的场景中是否值得。

一个更简单的解决方案是根据平均峰值负荷趋势,通过准备的时间表(即工作日时间)设置RU限制。

这不会针对意外的峰值或下降进行自动缩放,并且需要一些监控来适应意外情况,但无论如何您都有,对吗?这种简单的解决方案可以为您提供灵活的吞吐量限制和可预测的平均每天成本,并且只需付出最少的努力。

一旦您知道在任何给定时间想要什么RU限制,那么执行它就很容易了。可以对递增-递减或RU限制进行编程,例如通过Azure函数运行。实际更改限制的C#示例如下:

var offer = client.CreateOfferQuery()
    .Where(r => r.ResourceLink == collection.SelfLink).Single();
offer = new OfferV2(offer, newthroughput);
client.ReplaceOfferAsync(offer);

Azure函数可以周期性地运行,并根据您配置的计划或收集的事件相应地调整<code>newthroughput</code>。

无论您实施哪种自动缩放解决方案,请考虑为您愿意达到的高度设置合理的硬性限制。否则,如果发生事故或恶意活动 (DDOS),你可能会从 Azure 收到意外的帐单。在某些时候,限制会更好。

 类似资料:
  • 在我的JFrame上,我使用以下代码在面板上显示图像: 我想“自动调整”标签中的图片大小。的确,有时图像大小只有几个像素,有时更多。 是否有一种方法可以设置标签的大小,然后自动调整标签中的图像大小?

  • 问题内容: 我正在尝试模仿动画和以下浮动操作按钮的颜色更改。 浮动操作按钮的工作方式是关闭白色,打开蓝色。 但是,我在动画和更改颜色方面一直不成功。 这些是我尝试执行此操作的尝试,您可以看到我已经注释掉了我尝试执行此操作的所有不同方式。 这是我的代码: Many thanks for any suggestions. 问题答案: 此动画有两个阶段。第一个缩放X和Y轴,第二个缩小它。因此,我们可以将

  • 问题内容: 我需要使用matplotlib获取一个自动拟合数据的图。这是我得到的代码: 这样就创建了一个图,但是无论数据是什么,窗口都始终是相同的(0-〜.8),即使所有数据都在该窗口之外。生成的窗口无法放大,只能放大,因此这是一个主要问题。我找不到在任何地方设置任何类型的大小设置的地方,II也找不到关于默认值的详细信息。我需要一个窗口来自动拟合数据,但是我找不到能执行此操作的任何函数(由于某些原

  • 当前位置 private void chart1\u鼠标单击(object sender,MouseEventArgs e){ 缩放X和Y @taW

  • 本文向大家介绍Unity shader实现自由放大缩小效果,包括了Unity shader实现自由放大缩小效果的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Unity shader实现自由放大缩小效果的具体代码,供大家参考,具体内容如下 代码: 以下实现的shader代码: 主要的内容还是在frag中。 下面是挂在摄像机上的脚本: 以上就是本文的全部内容,希望对大家的学习有所帮助,

  • 那么有没有?或者javadoc有误导性(或者“动态”是什么意思)?如果没有,有没有这个功能的计划?