Amazon DynamoDB 如何在短時間內處理尖峰負載?

1 分的閱讀內容
0

我想知道 Amazon DynamoDB 如何在短時間內處理尖峰工作負載。

解決方法

當您使用佈建模式時,DynamoDB 會透過提供高載容量,在每個分區輸送量佈建中提供一定程度的靈活度。DynamoDB 目前的未使用讀取和寫入容量可達 5 分鐘 (300 秒)。假設 DynamoDB 資料表的容量佈建為 150 個 RCU,而且在過去 5 分鐘內沒有使用量。對於此組態,該資料表具備 45,000 個讀取單位的高載容量 (150\ * 300)。因此,如果突然的尖峰負載將使用量推送到 200 個讀取單位,則 DynamoDB 可以利用高載容量來容納 200 個 RCU,持續 15 分鐘。

範例: 45,000 / (200 - 150) = 900 秒 = 15 分鐘

但是,請考慮下列各項:

  • 高載容量將以最佳方式提供,並且無法保證。因此,當您設定資料表的佈建容量時,請勿考慮高載容量。
  • DynamoDB 可能會在沒有事先通知的情況下,使用高載容量進行背景維護和其他工作。
  • 高載容量無法減少分區等級限流。沒有高基數的分區索引鍵可能會導致許多要求只針對少數幾個分區。如果產生的熱分區超過每個分區 3,000 個 RCU 或每秒 1,000 個 WCU (或兩者的組合) 的限制,您的資料表則會限流。

如需詳細資訊,請參閱有效使用高載容量

在隨需容量模式下,DynamoDB 會自動適應您應用程式的流量。隨需容量模式可在資料表上立即容納高達先前尖峰流量兩倍的容量。假設您的應用程式的流量模式為每秒 25,000 到 50,000 次讀取次數之間,而前一個流量峰值為每秒 50,000 次讀取。在這種情況下,隨需容量模式可立即容納每秒高達 100,000 次讀取的持續流量。如果您的應用程式維持每秒 100,000 次讀取的流量,那麼該峰值就會成為新的先前峰值。根據此新峰值,後續流量可能會達到每秒 200,000 次讀取。

但是,如果您的尖峰幾乎為瞬間出現,並且是先前峰值的兩倍以上,則您的資料表可能受到限流。如需詳細資訊,請參閱讀取/寫入容量模式

AWS 官方
AWS 官方已更新 1 年前