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

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

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

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

以下负载测试指南假设您使用的是使用预定义目标指标的扩展策略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

您之前确定的最大值RPS在哪里MAX_RPSSAFETY_FACTOR也是您为确保客户不超过最大值而选择的安全系数RPS。乘以 60 从转换为,RPS invocations-per-minute 以匹配 SageMaker 用于实现自动缩放的每分钟 CloudWatch 指标(如果您 requests-per-minute 改为进行测量,则无需执行此操作)。 requests-per-second

注意

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