

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 自動スケーリング設定の負荷テスト
<a name="endpoint-scaling-loadtest"></a>

負荷テストを実行して、意図した通りに動作するスケーリング設定を選択します。

次の負荷テスト用のガイドラインでは、事前定義されたターゲットメトリクス `SageMakerVariantInvocationsPerInstance` を使用するスケーリングポリシーの使用を想定しています。

**Topics**
+ [パフォーマンス特性を明確にする](#endpoint-scaling-loadtest-variant)
+ [ターゲットの負荷を計算する](#endpoint-scaling-loadtest-calc)

## パフォーマンス特性を明確にする
<a name="endpoint-scaling-loadtest-variant"></a>

負荷テストを実行し、モデルの本番稼働用バリアントが処理できる `InvocationsPerInstance` のピーク、および同時実行数の増加に伴うリクエストのレイテンシーを探し出します。

この値は選択したインスタンスタイプ、モデルのクライアントが通常送信するペイロード、モデルのすべての外部依存関係のパフォーマンスに依存します。

**モデルの本番稼働用バリアントが処理できる 1 秒あたりのピークのリクエスト数 (RPS) とリクエストのレイテンシーを探し出すには**

1. 単一のインスタンスを使用してモデルにエンドポイントを設定します。エンドポイントの設定方法の詳細については、「[SageMaker AI ホスティングサービスにモデルをデプロイする](ex1-model-deployment.md#ex1-deploy-model)」を参照してください。

1. 負荷テストツールを使用して増加する並列リクエストを生成し、負荷テストツールの出力で RPS とモデルのレイテンシーを監視します。
**注記**  
また、RPS の代わりに 1 分あたりのリクエスト数を監視することもできます。その場合、式に 60 を乗算して以下に示す `SageMakerVariantInvocationsPerInstance` を計算しないでください。

   モデルのレイテンシーが増加、または成功したトランザクションの割合が減少するタイミングが、バリアントが処理できるピークの RPS になります。

## ターゲットの負荷を計算する
<a name="endpoint-scaling-loadtest-calc"></a>

バリアントのパフォーマンス特性を探し出した後は、インスタンスへの送信を許可する最大 RPS を決定できます。スケーリングに使用されるしきい値はこの最大値より小さくする必要があります。次の式を負荷テストと組み合わせて使用することで、スケーリング設定の `SageMakerVariantInvocationsPerInstance` ターゲットメトリクスの正しい値を決定できます。

```
SageMakerVariantInvocationsPerInstance = (MAX_RPS * SAFETY_FACTOR) * 60
```

ここで、`MAX_RPS` は以前に決定した最大 RPS で、`SAFETY_FACTOR` はクライアントが最大 RPS を超過しないように選択する安全係数です。SageMaker AI が自動スケーリングの実装に使用する 1 分あたりの CloudWatch メトリクスに合わせて、60 を乗算して RPS から 1 分あたりの呼び出し数に変換します (1 秒あたりのリクエスト数ではなく、1 分あたりのリクエスト数を計測した場合、これを行う必要はありません)。

**注記**  
SageMaker AI では、`SAFETY_FACTOR` を 0.5 に設定してテストを始めることをお勧めします。スケーリング設定をテストし、エンドポイント上のお客様のトラフィックの増減がモデルで期待したとおりに動作することを確認します。