对自动扩缩配置进行负载测试
执行负载测试以选择按所需方式工作的自动扩展配置。
以下负载测试准则假定您使用的是一个使用预定义目标指标 SageMakerVariantInvocationsPerInstance
的自动扩展策略。
确定性能特征
执行负载测试以便随并发度增加查找模型的生产变体可以处理的峰值 InvocationsPerInstance
,以及请求的延迟。
此值取决于所选的实例类型、模型的客户端通常发送的有效负载以及模型具有的任何外部依赖项的性能。
查找模型的生产变体可以处理的峰值每秒请求数以及请求的延迟
-
使用单个实例为模型设置终端节点。有关如何设置终端节点的信息,请参阅将模型部署到 SageMaker 托管服务。
-
使用负载测试工具可生成越来越多的并行请求,并在负载测试工具的输出中监控 RPS 和模型延迟。
注意
您还可以监控每分钟请求数,而不是 RPS。在这种情况下,不要在等式中乘以 60 来计算下面显示的
SageMakerVariantInvocationsPerInstance
。当模型延迟增加或成功事务的比例降低时,这是您的模型可以处理的峰值 RPS。
计算目标负载
在您找到变体的性能特征后,您可以确定应允许发送到实例的最大 RPS。用于扩展的阈值必须小于此最大值。将以下公式与负载测试结合使用可确定自动缩放扩配置中 SageMakerVariantInvocationsPerInstance
目标指标的正确值。
SageMakerVariantInvocationsPerInstance = (MAX_RPS * SAFETY_FACTOR) * 60
其中,MAX_RPS
是您之前确定的最大 RPS,SAFETY_FACTOR
是您为确保客户端不超过最大 RPS 而选择的安全系数。乘以 60 可从 RPS 转换为每分钟调用数,以匹配 SageMaker 用于实施自动扩缩的每分钟 CloudWatch 指标(如果您测量每分钟请求数而不是每秒请求数,则不需要这样做)。
注意
SageMaker 建议您使用值为 0.5 的 SAFETY_FACTOR
开始测试。测试您的自动扩展配置,以确保它在您的模型中以您期望的方式运行,以便在终端节点上增加和减少客户流量。