本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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 S3 生命週期,以在整個生命週期中管理物件。如果存取模式不明、會變化或是無法預測,則可以使用 Amazon S3 Intelligent-Tiering,讓其監控存取模式,並自動將未存取的物件移至成本較低的存取層。可以利用 Amazon S3 Storage Lens 指標,找出生命週期管理中的最佳化機會和差距。
-
Amazon EFS生命週期管理會自動管理檔案系統的檔案儲存。
連線管理與集區 -
Amazon RDS Proxy 可與 Amazon RDS和 Aurora 搭配使用,以管理資料庫的連線。
-
無伺服器資料庫 (例如 DynamoDB) 沒有與其相關聯的連線,但請考慮已佈建的容量和自動擴展政策來處理負載中的高峰。
-
-
在非生產環境中執行實驗和基準測試,以確定哪個組態選項能滿足您的工作負載需求。
-
完成試驗之後,請規劃遷移並確認效能指標。
-
使用 AWS 監控 (例如 Amazon CloudWatch
) 和最佳化 (例如 Amazon S3 Storage Lens) 工具,使用實際用量模式持續最佳化您的資料存放區。
資源
相關文件:
相關影片:
相關範例: