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