本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
最佳實務設計模式:最佳化 Amazon S3 效能
您的應用程式從 Amazon S3 上傳和擷取儲存體時,可輕鬆達到請求中每秒數千筆交易的效能。Amazon S3 會自動調高請求率。例如,您的應用程式每秒每個分割的 Amazon S3 字首至少可以達成 3,500 個PUT/COPY/POST/DELETE or 5,500 GET/HEAD請求。在儲存貯體中的字首數不受限制。您可以使用並行化提升讀取或寫入的效能。例如,如果您在 Amazon S3 儲存貯體裡建立 10 個字首,平行讀取,您可以縮放讀取效能至每秒 55,000 讀取要求。同樣,您可以透過寫入多個前綴來縮放寫入操作。在讀取和寫入操作的情況下,擴展會逐漸發生,而不是立即發生。Amazon S3 不斷地擴展到新的更高請求率時,您可能會看到一些 503 (減慢) 錯誤。擴展完成時,這些錯誤會消失。如需有關建立和使用字首的詳細資訊,請參閱 使用字首整理物件。
例如,Amazon S3 上的部分資料湖應用程式在查詢超過數 PB 資料時,可能掃描數百萬或數十億個物件。這些資料湖應用程式可達到單一執行個體的傳輸速率,將 Amazon EC2 執行個體的網路介面使用率最大化,單一執行個體最多可達 100 Gb/s。然後,這些應用程式會彙總多個執行個體之間的傳輸量,以取得每秒多個 TB。
其他應用程式為對延遲敏感的應用程式,例如社交媒體簡訊應用程式。這些應用程式可以實現大約 100–200 毫秒的一致小物件延遲 (以及 first-byte-out較大物件的延遲)。
AWS 其他服務也有助於加速不同應用程式架構的效能。例如,如果您希望透過單一HTTP連線或單一位數毫秒延遲提高傳輸速率,請使用 Amazon CloudFront 或 Amazon ElastiCache 搭配 Amazon S3 進行快取。
此外,如果您希望在相距遙遠的用戶端與 S3 儲存貯體之間快速傳輸資料,請使用 使用 Amazon S3 Transfer Acceleration 設定快速安全的檔案傳輸。Transfer Acceleration 使用 中的全域分佈邊緣位置 CloudFront ,以加速地理距離的資料傳輸。如果您的 Amazon S3 工作負載搭配 使用伺服器端加密 AWS KMS,請參閱 AWS Key Management Service 開發人員指南中的AWS KMS 限制,以取得您的使用案例所支援請求率的相關資訊。
下列主題針對使用 Amazon S3 的應用程式,說明最佳化效能的最佳實務指導方針和設計模式。請參閱 Amazon S3 的效能指南和 Amazon S3 的效能設計模式,以取得 Amazon S3 效能最佳化的最新資訊。
注意
如需將 Amazon S3 Express One Zone 儲存類別與目錄儲存貯體搭配使用的詳細資訊,請參閱 目錄儲存貯體和 S3 Express One Zone 和 目錄儲存貯體概觀。