PERF03-BP02 評估資料存放區的可用組態選項 - AWS 建構良好的架構

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

PERF03-BP02 評估資料存放區的可用組態選項

了解並評估資料存放區可用的各種功能和組態選項,以最佳化工作負載的儲存空間和效能。

常見的反模式:

  • 所有工作負載只能使用一種儲存類型EBS,例如 Amazon 。

  • 您可以IOPS針對所有工作負載使用佈建的 ,而不需要針對所有儲存層進行實際測試。

  • 您不知道所選資料管理解決方案的組態選項。

  • 您完全依賴於增加執行個體大小,而不查看其他可用的組態選項。

  • 您並不測試資料存放區的擴展特性。

建立此最佳實務的優勢:藉由探索和試驗資料存放區組態,您能夠降低基礎架構成本、改善效能,以及減少維護工作負載所需的工作量。

未建立此最佳實務時的曝險等級:

實作指引

工作負載可以根據資料儲存和存取需求,使用一個或多個資料存放區。要優化效能達成效率和成本,您必須評估資料存取模式,以判斷適當的資料存放區組態。在探索資料存放區選項時,請考量各種層面,例如儲存選項、記憶體、運算、讀取複本、一致性要求、連線集區以及快取選項。嘗試使用這些不同的組態選項來改善效能達成效率指標。

實作步驟

  • 了解資料存放區的目前組態 (例如執行個體類型、儲存體大小或資料庫引擎版本)。

  • 檢閱 AWS 文件和最佳實務,以了解建議組態選項,以協助改善資料存放區的效能。要考慮的關鍵資料存放區選項如下:

    組態選項 範例
    卸載讀取 (例如讀取複本和快取)
    • 對於 DynamoDB 資料表,您可以使用 卸載用於快取DAX的讀取。

    • 您可以建立 Amazon ElastiCache (Redis OSS) 叢集,並將應用程式設定為先從快取讀取,如果請求的項目不存在,則會傳回資料庫。

    • 諸如 Amazon RDS和 Aurora 等關聯式資料庫,以及佈建的SQL Neptune 和 Amazon DocumentDB 等資料庫都不支援新增僅供讀取複本來卸載工作負載的讀取部分。

    • 諸如 DynamoDB 等無伺服器資料庫將自動擴展。確保您已佈建足夠的讀取容量單位 (RCU),以處理工作負載。

    擴展寫入 (例如分區金鑰碎片或引進佇列)
    • 對於關聯式資料庫,您可以增加執行個體的大小以容納增加的工作負載,或增加佈建的 IOPs 以允許基礎儲存的輸送量增加。

    • 也可以在資料庫前面引入佇列,而不是直接寫入資料庫。此模式可讓您將擷取與資料庫分離並控制流速,這樣資料庫就不會不堪重負。 

    • 批次處理寫入請求,而不是建立許多短期交易,這有助於改善高寫入量關聯式資料庫的輸送量。

    • DynamoDB 等無伺服器資料庫可以自動擴展寫入輸送量,也可以根據容量模式調整佈建的寫入容量單位 (WCU)。 

    • 當您達到指定分割區索引鍵的輸送量限制時,仍然可能會遇到熱分割區的問題。透過選擇更均勻分佈的分割區索引鍵,或分片寫入分割區索引鍵,來緩解此問題。 

    使用政策來管理資料集的生命週期
    連線管理與集區
    • Amazon RDS Proxy 可與 Amazon RDS和 Aurora 搭配使用,以管理資料庫的連線。 

    • 無伺服器資料庫 (例如 DynamoDB) 沒有與其相關聯的連線,但請考慮已佈建的容量和自動擴展政策來處理負載中的高峰。

  • 在非生產環境中執行實驗和基準測試,以確定哪個組態選項能滿足您的工作負載需求。

  • 完成試驗之後,請規劃遷移並確認效能指標。

  • 使用 AWS 監控 (例如 Amazon CloudWatch) 和最佳化 (例如 Amazon S3 Storage Lens) 工具,使用實際用量模式持續最佳化您的資料存放區。

資源

相關文件:

相關影片:

相關範例: