Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs 菜单
Docs 主页
/ /

自适应操作速率限制

操作的自适应速率限制器是Atlas中的一项 智能工作负载管理 (IWM) 策略。 IWM 是一种动态资源管理器,可提供实时工作负载监控和自动化保护措施,从而在负载下保持高可用性。当集群过载时,操作的自适应速率限制器会动态调整MongoDB接受和拒绝应用程序发送到mongod 的操作的速率。

当传入操作的数量大到足以导致完全或接近完全中断时, MongoDB会认为节点过载。 MongoDB根据 CPU 利用率、队列深度、每秒操作数和延迟等指标计算过载。

重要

当流量突然激增时,接受超过节点最大负载的操作可能会使集群不堪重负,从而导致性能下降、超时和潜在的故障转移。集群可能需要很长时间才能恢复。

操作的自适应速率限制器策略通过以下方式防止过载:

  • 将准入速率限制在系统可以安全处理的范围内

  • 保持集群稳定性并避免中断

  • 以可预测的延迟保持部分操作成功

  • 更快地从流量峰值中恢复

  • Atlas 集群必须运行MongoDB8.3 或更高版本才能使用此策略。在MongoDB8.3 上,默认禁用此策略。要启用或禁用 IWM 策略,请参阅 IWM 设置。

  • 此策略仅适用于 M10+ Atlas副本集集群。

  • 此策略不适用于分片的集群。

当Atlas对集群运行“操作的自适应速率限制器”策略时,它会执行以下操作:

  1. 监控过载

  2. 确定安全准入率

    • 当系统接近过载时, Atlas会根据最近的情况计算每个节点上可以接受新操作的最大安全速率。

  3. 在入口点允许或拒绝操作

    • MongoDB允许并照常运行在安全速率内到达的任何操作。

    • MongoDB会立即拒绝每个节点上超过 安全速率的任何操作。在这些操作超时之前,mongod MongoDB不会对这些操作进行排队。

  4. 随着时间的推移调整准入率

当该策略处于活动状态时,应用程序中的某些操作会快速失败,并显示包含SystemOverloadedError 标签的错误。其他操作继续成功。这样可以防止所有操作都超时,从而导致节点崩溃。要详细学习;了解如何捕获过载错误并避免重试风暴,请参阅过载错误。

您可以使用以下方法追踪操作的自适应速率限制器如何影响您的工作负载:

后退

可靠性、可用性和工作负载管理

在此页面上