对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

智能工作负载管理

注意

本页适用于Atlas Infinite 和Atlas Core。

即使在流量激增和昂贵的查询消耗的资源超过预期的情况下,现代应用程序也必须保持可用。智能工作负载管理 (IWM) 是MongoDB Atlas托管的可用性功能,即使在过载情况下也能保持集群的响应能力和可预测性。

当集群收到的操作数量超过其资源的进程能力时,就会发生过载。过载的发展速度可能超过基础架构的扩展。即使启用自动伸缩, Atlas需要时间来预配额外容量。这将打开一个窗口,在此期间,如果以相同方式处理所有操作,集群可能会变得不稳定。 IWM 通过实时监控工作负载峰值和资源压力并对其做出反应来关闭该窗口。

IWM 是Atlas应用于运行MongoDB 9.0 或更高版本的所有专用集群的过载保护系统。 IWM 包括以下保护:

Atlas根据集群的层级、拓扑结构、 MongoDB版本和减负载配置,将这些保护的子集应用于每个集群。要学习;了解更多信息,请参阅集群和版本要求。

始终在线保护是Atlas用来吸收过载和保持可用性的一组设立IWM 保护。这些保护始终在运行,即使禁用了负载卸载也是如此,并且您无法将其关闭。要学习;了解哪些保护应用于您的集群,请参阅集群和版本要求。

负载卸载是一种 IWM 保护,它会尽早拒绝传入的数据库操作,以限制其对集群的影响。与 IWM 始终在线的保护不同,卸载是可选的,因此您可以控制Atlas是否将其应用于集群。启用后,只有在持续过载期间,在其他保护措施无法释放足够压力后,才会启用减载功能。

作为 IWM 始终在线保护的一部分, Atlas在集群中的每个 mongod进程上运行入口请求速率限制器。此速率限制器允许操作以受控速率进入进程,并将任何高于此速率的操作请求添加到该进程的入口队列中。

启用“甩负载”后, Atlas会限制集群中每个 mongod进程的入口队列的大小。如果操作在进程队列已满时到达, Atlas会拒绝该操作,并显示过载错误。这可以防止队列在持续过载期间变得太大。

禁用减载后, Atlas不会限制集群中任何 mongod进程的入口队列的大小,也不会拒绝任何比速率限制器的准入速率更快的操作。在持续过载期间,每个 mongod进程继续向其队列添加无限数量的操作,因此操作需要更长的时间才能完成。

如果您的集群启用了响应式自动伸缩, Atlas会根据“减负载”拒绝的操作速率来确定何时扩展集群。 Atlas在Atlas指标的操作速率限制下将此速率报告为 Rejected Operations。要学习;了解更多信息,请参阅Atlas如何扩展集群层。

减负载仅适用于运行MongoDB 9.0 或更高版本的 M30+副本集集群。默认下, Atlas会将“甩负载”设置的值设为 Atlas Managed,这样Atlas就能控制集群“甩负载”的有效状态。在MongoDB 9.0 上,该状态为Disabled。

要在集群上配置 Load Shedding,请使用Atlas用户界面或Atlas Administration API:

智能工作负载管理 (IWM)在运行MongoDB 9.0 或更高版本的所有专用集群上处于活动状态。 IWM 在免费集群或 Flex 集群上不可用。

当 IWM 在集群上处于活动状态时, Atlas会根据集群的层级、拓扑结构、 MongoDB版本和减载配置应用 IWM 保护的子集。下表列出了Atlas对MongoDB 9.0 及更高版本上集群层和拓扑结构的每个组合应用的保护:

IWM 保护
M10 和 M20 集群
M30+ 副本集集群
M30+ 分片集群

入口队列

No

是

No

执行控制优先级

No

是

No

缓存逐出和内存调优

是

是

是

连接速率限制

是

是

是

写入阻塞

是

是

是

减载

No

是,启用后

No

注意

MongoDB 9.0 版本要求的例外情况。

以下 IWM 保护在运行9.0 之前的MongoDB版本的集群上处于活动状态:

  • 写入阻止在运行MongoDB 8.0 或更高版本的 M10+ 集群上处于活动状态。

  • 连接速率限制在运行以下MongoDB版本的 M10 和 M20 集群上处于活动状态:

    • 7.0.23 及更高版本的 7.0.x

    • 8.0.12 及更高版本的 8.0.x

    • 8.1.2 及更高版本的 8.1.x

Atlas提供多个可观察性界面,显示 IWM 保护集群的时间以及Atlas延迟或拒绝的操作: