对自动扩缩配置进行负载测试 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

对自动扩缩配置进行负载测试

执行负载测试以选择按您想要的方式运行的扩展配置。

以下负载测试指南假设您使用的是使用预定义目标指标的扩展策略SageMakerVariantInvocationsPerInstance

确定性能特征

执行负载测试以便随并发度增加查找模型的生产变体可以处理的峰值 InvocationsPerInstance,以及请求的延迟。

此值取决于所选的实例类型、模型的客户端通常发送的有效负载以及模型具有的任何外部依赖项的性能。

要找出您的模型的生产变体可以处理的峰值 requests-per-second (RPS) 和请求延迟
  1. 使用单个实例为模型设置终端节点。有关如何设置终端节点的信息,请参阅将模型部署到 SageMaker 托管服务

  2. 使用负载测试工具可生成越来越多的并行请求,并在负载测试工具的输出中监控 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 以匹配 SageMaker 用于实现自动缩放的每分钟 CloudWatch 指标(如果您 requests-per-minute 改为进行测量,则无需这样做)。 requests-per-second

注意

SageMaker 建议您从 0.5 开始测试。SAFETY_FACTOR测试您的扩展配置,确保其运行方式符合您的模型的预期,从而增加和减少终端节点上的客户流量。