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

测试集群负载削减

如果您的集群接收到的传入操作超过了其资源所能处理的范围,您的集群就会出现过载。过载可能会导致您的集群完全或几乎完全服务中断。

智能工作负载管理 (IWM) 可帮助 Atlas 在过载期间保持集群可用。负载削减 (Load Shedding) 是一项控制 IWM 行为的设置,用于在长时间过载期间拒绝操作。启用负载脱落后,Atlas 可能会拒绝操作。要为您的集群配置负载削减 (Load Shedding),请参阅集群附加设置。

重要

“负载削减”(Load Shedding) 设置并不能控制集群上的所有 IWM 活动。如果您在集群上禁用负载削减,Atlas 将继续运行其他支持的 IWM 行为,这些行为不会拒绝操作。要了解更多信息,请参阅智能工作负载管理。

您可以运行负载削减测试,以验证您的驱动程序、可观测性设置和操作工作流程是否已准备就绪,然后再依赖生产环境中的主动保护。

在测试期间,Atlas 会在您选择的时长内开启负载削减 (Load Shedding),然后将设置恢复为之前的值。当负载削减(Load Shedding)处于活动状态时,Atlas 会随机拒绝一小部分操作,而无论您的集群负载如何。

运行测试以检查您的驱动程序和应用程序是否能处理过载错误,而不会将故障传递给用户。有关负载脱落的驱动程序兼容性,请参阅 处理来自负载脱落的过载错误。

注意

仅在负载削减测试期间,才会随机拒绝一小部分操作。当您在测试之外启用负载削减(Load Shedding)时,Atlas 仅在集群过载时才会拒绝操作。

要运行 Load Shedding test,您必须拥有项目的 Project Cluster Manager 访问权限。

确保您的 Atlas 集群符合以下要求:

  • 该集群是一个运行 MongoDB 9.0 或更高版本的 M30 或更大的副本集。

  • 集群没有待更改。对集群配置所做的任何更改必须完成部署,然后才能开始测试。

  • 该集群当前未运行负载削减测试。您一次只能在一个集群上运行一个负载削减测试。

在开始测试之前,请考虑以下事项:

  • 当 Atlas 在测试期间拒绝操作时,您的应用程序可能会收到过载错误。要了解有关这些错误的更多信息,请参阅 处理负载削减导致的过载错误。

  • 在测试或开发集群上运行测试,不要在生产集群上运行。无法处理过载错误的驱动程序和应用程序可能会向用户显示故障。

1
  1. 如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含所需项目的组织。

  2. 如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。

  3. 在侧边栏中,单击 Database 标题下的 Clusters。

会显示集群页面。

2
  1. 对于要测试的集群,单击 图标。

  2. 单击 Test Resilience(连接)。

  3. 选择 Load Shedding 。

3
  1. 从 Test Duration 下拉菜单中,选择一个持续时间。您可以选择 15 分钟(推荐)、1 小时、8 小时或 1 天。Atlas 会在选定时间过去后结束测试,或者您也可以在之前的任何时间点停止测试。

  2. 要确认测试,请在确认字段中输入集群的名称。

  3. 单击 Begin Load Shedding(连接)。

4

在测试运行期间,Atlas 会拒绝一小部分随机选择的操作。

在 Atlas 用户界面指标视图中,查看 Operation Throttling 图表,了解 Atlas 为减轻压力而拒绝的操作数量。如要了解更多信息,请参阅查看可用指标。

要在所选持续时间结束之前停止测试,请点击 End Test Now。

5

在测试运行期间,Atlas 会在集群顶部显示一个 Load Shedding Test in Progress 横幅。横幅显示测试结束的时间,并提供指向 Metrics 视图的链接。

6

测试结束后,Atlas 会显示测试期间被拒绝的操作数量,以及您集群的负载削减 (Load Shedding) 干预指标是否按预期发生了变化。

如果您的驱动程序与负载削减 (Load Shedding) 的兼容性未知、混合或包含不受支持的版本,Atlas 建议您升级驱动程序。要了解更多信息,请参阅 处理负载削减导致的过载错误。