如果您的集群接收到的传入操作超过了其资源所能处理的范围,您的集群就会出现过载。过载可能会导致您的集群完全或几乎完全服务中断。
智能工作负载管理 (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 在测试期间拒绝操作时,您的应用程序可能会收到过载错误。要了解有关这些错误的更多信息,请参阅 处理负载削减导致的过载错误。
在测试或开发集群上运行测试,不要在生产集群上运行。无法处理过载错误的驱动程序和应用程序可能会向用户显示故障。
测试负载削减流程
AtlasGoClusters在Atlas中,Go项目的 页面。
如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含所需项目的组织。
如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。
在侧边栏中,单击 Database 标题下的 Clusters。
会显示集群页面。
观察集群的响应情况。
在测试运行期间,Atlas 会拒绝一小部分随机选择的操作。
在 Atlas 用户界面指标视图中,查看 Operation Throttling 图表,了解 Atlas 为减轻压力而拒绝的操作数量。如要了解更多信息,请参阅查看可用指标。
要在所选持续时间结束之前停止测试,请点击 End Test Now。
查看测试结果。
测试结束后,Atlas 会显示测试期间被拒绝的操作数量,以及您集群的负载削减 (Load Shedding) 干预指标是否按预期发生了变化。
如果您的驱动程序与负载削减 (Load Shedding) 的兼容性未知、混合或包含不受支持的版本,Atlas 建议您升级驱动程序。要了解更多信息,请参阅 处理负载削减导致的过载错误。