

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 負載測試您的自動擴展組態
<a name="endpoint-scaling-loadtest"></a>

進行負載測試，以選擇運作結果符合您預期的擴展組態。

下列的負載測試準則，假設您所使用的擴展政策，使用了預先定義的目標指標 `SageMakerVariantInvocationsPerInstance`。

**Topics**
+ [決定效能特性](#endpoint-scaling-loadtest-variant)
+ [計算目標負載](#endpoint-scaling-loadtest-calc)

## 決定效能特性
<a name="endpoint-scaling-loadtest-variant"></a>

進行負載測試，以找出您的模型生產變體執行個體可處理的峰值 `InvocationsPerInstance`，和並行作業增加時的請求延遲。

這個值取決於所選擇的執行個體類型、模型的用戶端通常會傳送的酬載，以及模型所具備任何外部相依項目的效能。

**若要找出您的模型生產變體每秒可處理的峰值請求數 (RPS)，以及請求的延遲**

1. 使用單一執行個體，來設定您模型的端點。關於設定端點的方法，詳細資訊請參閱[將模型部署至 SageMaker AI 託管服務](ex1-model-deployment.md#ex1-deploy-model)。

1. 使用負載測試工具來產生數量不斷增加的平行請求，並監控負載測試工具的 RPS 和輸出中的模型延遲。
**注意**  
您還可以監控每分鐘可處理的請求數而非 RPS。在這個情境中，不需要在方程式中乘上 60 以求出 `SageMakerVariantInvocationsPerInstance`，如下所示。

   當模型的延遲增加，或交易成功的比例減少時，這就是模型可處理的峰值 RPS。

## 計算目標負載
<a name="endpoint-scaling-loadtest-calc"></a>

在找出變體的效能特性之後，您可以決定應允許傳送到執行個體的最大 RPS。用於擴展的閾值，必須小於這個最大值。請利用下列的方程式，並結合負載測試，來為您擴展組態中的 `SageMakerVariantInvocationsPerInstance` 目標指標，找出正確的值。

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

其中，`MAX_RPS` 是您先前所找出的最大 RPS，`SAFETY_FACTOR` 則是您所選擇的安全係數，用來確保您的用戶端不會超過最大 RPS。乘上 60，從 RPS 轉換為每分鐘的調用數，以符合每分鐘的 CloudWatch 指標，SageMaker AI 用它來部署自動擴展 (如果您測量的是每分鐘處理的請求數，而非每秒鐘處理的請求數，就不需執行此作業)。

**注意**  
SageMaker AI 建議您用 0.5 的 `SAFETY_FACTOR` 開始測試。測試您的擴展組態，確保您的模型在端點增加和減少客戶傳輸流量時，能如預期運作。