

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

# 了解不同情境下的 DynamoDB 暖輸送量
<a name="warm-throughput-scenarios"></a>

以下列出在使用 DynamoDB 暖輸送量時可能遇到的多種情境。

**Topics**
+ [暖輸送量與非均勻存取模式](#warm-throughput-scenarios-uneven)
+ [佈建資料表的暖輸送量](#warm-throughput-scenarios-provisioned)
+ [隨需資料表的暖輸送量](#warm-throughput-scenarios-ondemand)
+ [已設定最大輸送量的隨需資料表暖輸送量](#warm-throughput-scenarios-max)

## 暖輸送量與非均勻存取模式
<a name="warm-throughput-scenarios-uneven"></a>

資料表的暖輸送量可能為每秒 30,000 個讀取單位與每秒 10,000 個寫入單位，但在達到此上限前，仍可能在讀取或寫入操作中遭遇限流。這通常是因為存在熱分割區造成。雖然 DynamoDB 可持續擴展以支援幾乎無限制的輸送量，但每個分割區的限制為每秒 1,000 個寫入單位及每秒 3,000 個讀取單位。若應用程式對資料表少部分分割區發送過多流量，即便尚未達到資料表的暖輸送量上限，也可能遭遇限流。建議遵循 [DynamoDB 最佳實務](bp-partition-key-design.md)，以確保系統具備無縫可擴展性並避免產生熱分割區。

## 佈建資料表的暖輸送量
<a name="warm-throughput-scenarios-provisioned"></a>

假設某個佈建資料表的暖輸送量為每秒 30,000 個讀取單位與每秒 10,000 個寫入單位，但目前的佈建輸送量僅為 4,000 個 RCU 和 8,000 個 WCU。您可透過更新佈建輸送量設定，立即將資料表的佈建輸送量擴展至 30,000 個 RCU 或 10,000 個 WCU。當您將佈建輸送量提升至超過上述數值時，暖輸送量會自動調整為新的更高值，因為這代表系統已建立新的峰值輸送量。例如，若將佈建輸送量設定為 50,000 RCU，暖輸送量將隨之提升至每秒 50,000 個讀取單位。

```
"ProvisionedThroughput": 
    {
        "ReadCapacityUnits": 4000,
        "WriteCapacityUnits": 8000 
    }
"WarmThroughput": 
    { 
        "ReadUnitsPerSecond": 30000,
        "WriteUnitsPerSecond": 10000
    }
```

## 隨需資料表的暖輸送量
<a name="warm-throughput-scenarios-ondemand"></a>

新建立的隨需資料表初始暖輸送量為每秒 12,000 個讀取單位與每秒 4,000 個寫入單位。資料表可立即支援持續流量，最高可達上述層級。當請求量超過每秒 12,000 個讀取單位或 4,000 個寫入單位時，暖輸送量會自動提升至更高等級。

```
"WarmThroughput": 
    { 
        "ReadUnitsPerSecond": 12000,
        "WriteUnitsPerSecond": 4000
    }
```

## 已設定最大輸送量的隨需資料表暖輸送量
<a name="warm-throughput-scenarios-max"></a>

假設某個隨需資料表的暖輸送量為每秒 30,000 個讀取單位，但[最大輸送量](on-demand-capacity-mode-max-throughput.md)設定為 5,000 個讀取請求單位 (RRU)。在此情境中，資料表的輸送量將受限於您設定的 5,000 個 RRU 上限。任何超出該上限的輸送量請求都會遭到限流。不過，您可依應用程式需求，隨時調整該資料表的專屬最大輸送量。

```
"OnDemandThroughput": 
    {
        "MaxReadRequestUnits": 5000,
        "MaxWriteRequestUnits": 4000
    }
"WarmThroughput": 
    { 
        "ReadUnitsPerSecond": 30000,
        "WriteUnitsPerSecond": 10000
    }
```