AWS announces preview of AWS Interconnect - multicloud
AWS announces AWS Interconnect – multicloud (preview), providing simple, resilient, high-speed private connections to other cloud service providers. AWS Interconnect - multicloud is easy to configure and provides high-speed, resilient connectivity with dedicated bandwidth, enabling customers to interconnect AWS networking services such as AWS Transit Gateway, AWS Cloud WAN, and Amazon VPC to other cloud service providers with ease.
當我使用 AWS CLI 的 sync 命令同步 Amazon S3 時,該如何提升資料傳輸效能?
我使用 AWS Command Line Interface (AWS CLI) 同步命令在 Amazon Simple Storage Service (Amazon S3) 上傳輸資料。但是,傳輸需要很長時間才能完成。
簡短描述
來源儲存貯體和目標儲存貯體中的物件數量可能會影響 sync 命令完成程序所需的時間。傳輸大小可能會影響同步的持續時間和對 Amazon S3 的請求成本。
解決方法
**注意:**如果您在執行 AWS CLI 命令時收到錯誤,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本。
移除過期的刪除標記
由於 sync 命令會在後端執行 List API 呼叫,因此刪除標記會影響 sync 命令的效能。最佳實務是盡量減少刪除標記的數量。您可以使用 S3 生命週期組態規則,在啟用版本控制的儲存貯體中自動移除已過期的刪除標記。
執行多個 AWS CLI 作業
若要複製大量資料,請並行執行單獨的同步作業。下列範例命令會針對不同首碼執行平行同步作業:
aws s3 sync s3://source-AWSDOC-EXAMPLE-BUCKET/folder1 s3://destination-AWSDOC-EXAMPLE-BUCKET/folder1 aws s3 sync s3://source-AWSDOC-EXAMPLE-BUCKET/folder2 s3://destination-AWSDOC-EXAMPLE-BUCKET/folder2
或者,針對個別排除和包括篩選條件執行平行同步作業。下列作業範例會依照以數字 0 到 4 開頭的索引鍵名稱,以及數字 5 到 9 的索引鍵名稱來分隔要同步的檔案:
aws s3 sync s3://source-AWSDOC-EXAMPLE-BUCKET/ s3://destination-AWSDOC-EXAMPLE-BUCKET/ --exclude "*" --include "0*" --include "1*" --include "2*" --include "3*" --include "4*" aws s3 sync s3://source-AWSDOC-EXAMPLE-BUCKET/ s3://destination-AWSDOC-EXAMPLE-BUCKET/ --exclude "*" --include "5*" --include "6*" --include "7*" --include "8*" --include "9*"
注意:即使您使用排除和包括篩選條件,sync 命令仍會審核來源儲存貯體中的所有檔案。該審核會確定哪些來源檔案要複製到目的地儲存貯體。如果您針對不同的索引鍵名稱首碼執行多個同步作業,則每個 sync 作業都會審核所有來源檔案。但是,由於使用了排除和包括篩選條件,Amazon S3 只會將包括在篩選條件中的檔案複製到目的地儲存貯體。
如需如何最佳化工作負載效能的詳細資訊,請參閱最佳做法設計模式:最佳化 Amazon S3 效能。
啟用 S3 Transfer Acceleration
使用 S3 Transfer Acceleration 來提高您的傳輸速度。
若要查看 S3 Transfer Acceleration 的定價,請選擇 Amazon S3 pricing (Amazon S3 定價) 頁面上的 Data transfer (資料傳輸) 索引標籤。若要確定 S3 Transfer Acceleration 是否能提高您的傳輸速度,請使用 Amazon S3 Transfer Acceleration Speed Comparison 工具。
**注意:**使用 S3 Transfer Acceleration 時,您無法跨 AWS 區域使用 CopyObject 動作。
修改 AWS CLI 組態值
max_concurrent_requests
當您使用 max_concurrent_requests 時,您可以同時傳送至 Amazon S3 的預設請求數為 10。為了提高效能,請增加該值。
重要:
- 當您執行更多執行緒時,會佔用更多電腦資源。請確定您的機器有足夠的資源來支援最大並行請求數量。
- 並行請求過多可能會導致連線逾時或降低系統的回應速度。若要避免 AWS CLI 發生逾時問題,請將 --cli-read-timeout 選項或 --cli-connect-timeout 選項設為 0。
multipart_threshold
當檔案達到大小臨界值時,Amazon S3 會使用多分段上傳,而不是單一作業。multipart_threshold 的預設值為 8 MB。若要增加預設值,請執行以下命令:
aws configure set default.s3.multipart_threshold 16MB
**注意:**將 16MB 替換為您的多分段閾值大小。
multipart_chunksize
multipart_chunksize 的預設值為 8 MB,最小值為 5 MB。若要增加區塊大小,請執行以下命令:
aws configure set default.s3.multipart_chunksize 16MB
**注意:**將 16MB 替換為新的區塊大小。
對於大型物件,最佳實務是將multipart_threshold 設定為 100 MB,這樣只有大型檔案才會使用分段上傳。另一個最佳實務是將 multipart_chunksize 設定為 25 MB,有助於在提升上傳效率與維持每個上傳部分大小易於管理之間取得平衡。
(選用) 檢查您的 Amazon EC2 執行個體組態
如果您從 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體執行同步,請遵循以下最佳實務來提高效能:
- 使用具備更高網路輸送量與更佳 CPU 資源的較大型 EC2 執行個體類型,加快資料傳輸速度。
- 將執行個體放置在與您的儲存貯體相同的區域中,以降低網路延遲。
- 使用 Amazon Virtual Private Cloud (Amazon VPC) 閘道端點在 AWS 網路內路由流量,以提高效能和安全性。
**注意:**僅當您的執行個體與儲存貯體位於相同區域時,才可以使用此設定。 - 使用 Amazon Elastic Block Store (Amazon EBS) 最佳化執行個體,並選擇能夠提供高 IOPS 和輸送量的 EBS 磁碟區類型,例如 gp3 或 io2 磁碟區。這有助於在將資料傳輸至 Amazon S3 之前,降低處理本機資料時的 I/O 爭用與延遲。
- 選擇支援增強型網路的執行個體,以獲得更高的每秒封包數 (PPS) 效能並降低延遲。
- 如果您的工作負載能從較大的 TCP 封包中受益,請啟用巨型訊框 (MTU 9001)。
相關資訊
如何提高在 S3 儲存貯體和 EC2 執行個體之間複製資料的傳輸速率?
相關內容
- 已提問 1 年前
- 已提問 1 年前

