下載或上傳至 Amazon S3 時,如何對高延遲或速度不一致的問題進行疑難排解?

2 分的閱讀內容
0

從特定網路或裝置下載或上傳至 Amazon Simple Storage Service (Amazon S3) 時,我想要對高延遲或速度不一致的問題進行疑難排解。

解決方法

檢查以下內容,以找出並減輕在下載或上傳到 Amazon S3 時可能導致速度緩慢或不一致的原因:

  • 用戶端提出請求的位置
  • 用戶端網際網路服務供應商 (ISP)
  • 用戶端網路
  • 用戶端資源
  • Amazon S3 的請求率
  • 用於判斷周轉時間的 Amazon S3 伺服器存取日誌

用戶端提出請求的位置

使用盡可能靠近用戶端地理位置的 Amazon S3 儲存貯體。儲存貯體可全域存取,但它們位於特定的 AWS 區域。請求和儲存貯體之間的地理距離會影響收到回應所花費的時間。

您可以測試用戶端和 S3 儲存貯體之間地理距離的影響。例如,您可以在與儲存貯體相同的 AWS 區域中啟動 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體。然後,在不同的區域中啟動另一個執行個體。使用這兩個執行個體測試相同檔案的上傳和下載,然後比較兩個區域之間的輸送量。

若要縮短用戶端與 S3 儲存貯體之間的距離,請將資料移至更靠近用戶端的另一個區域中的儲存貯體。您可以設定跨區域複寫,以便將來源儲存貯體中的資料複寫到新區域中的目標儲存貯體。另一個選項是考慮將用戶端遷移到更靠近 S3 儲存貯體的位置。

用戶端網際網路服務供應商 (ISP)

檢閱您的網路路徑是否有任何影響您的連線在網際網路上的問題。這些問題可能包括封包遺失、大量躍點或其他 ISP 相關問題。

mtrtraceroute 等工具可協助提供潛在封包遺失的線索。這些工具也可以提供傳送至遠端主機之封包的延遲。此外,這些工具可協助識別是否有網路躍點導致較高的延遲。

例如,下列 Linux traceroute 命令會使用 TCP 連接埠 80 來測試與 us-west-2 (俄勒岡州) 區域端點的連線能力:

sudo traceroute -P TCP -p 80 s3.us-west-2.amazonaws.com

在 Windows 作業系統上,您可以使用稱為 tracert的類似工具。

**注意:**許多網路裝置沒有回應 ICMP。對於類似於 Amazon S3 請求的測試,請務必對儲存貯體的區域端點執行 TCP traceroute 或 mtr。

如果從用戶端到 Amazon S3 的網際網路路由並未處於最佳狀況,請考慮使用 Amazon S3 傳輸加速,該加速會利用 Amazon CloudFront 的邊緣節點。檢閱 Amazon S3 傳輸加速速度比較工具,了解傳輸加速是否可以改善您使用案例的效能。

**注意:**如果您開啟「傳輸加速」,則可能會產生額外的資料傳輸費用。請務必檢閱 Amazon S3 資料傳輸的定價

用戶端網路

檢閱內部封包檢查、防毒掃描或網路存取管理,以確認用戶端網路狀況良好。此外,請檢閱用戶端或應用程式如何處理 DNS 解析和快取。

為了同時享有 Amazon S3 的分散式性質與可用性的好處,請避免長時間快取 DNS 解析

用戶端資源

在您的應用程式中,或者在發出處理傳送請求與接收回應的請求的主機的處理方式中會導入延遲。最佳做法是確認主機內沒有可能造成整體延遲的資源爭用。例如,主機內的資源爭用可能與 CPU、記憶體或網路頻寬有關。

您可以使用資源監視器top 命令等工具,在大多數用戶端系統上檢查資料傳輸期間的資源使用情況。可用的工具取決於您的作業系統。

用戶端的儲存裝置或系統也可能是延遲的來源。對於用戶端儲存裝置的讀取或寫入作業如果發生延遲較高的情況,可能會影響下載或上傳至 Amazon S3 的效能。您必須從用戶端對儲存裝置的 IOPS 進行疑難排解。您可以使用 Amazon CloudWatch 指標 FirstByteLatency來分析 Amazon S3 效能。

**注意:**Amazon S3 CloudWatch 請求指標的計費費率與自訂指標相同

FirstByteLatency 顯示 Amazon S3 處理來自用戶端的請求,然後開始將回應傳送到用戶端所需的時間。CloudWatch 指標提供儲存貯體層級的效能觀點。您可以使用 Amazon S3 伺服器存取日誌縮小調查範圍。如需詳細資訊,請參閱 Amazon S3 伺服器存取日誌一節,以判斷周轉時間

Amazon S3 的請求率

根據預設,S3 儲存貯體每個前置詞每秒可支援數千個請求。如果用戶端從 Amazon S3 取得 HTTP 5xx 錯誤回應,這可能表示已超過每個前置詞支援的請求速率。若要對 5xx 錯誤進行疑難排解,請參閱如何針對 Amazon S3 的 HTTP 500 或 503 錯誤進行疑難排解?

用於判斷周轉時間的 Amazon S3 伺服器存取日誌

您可以開啟 Amazon S3 伺服器存取日誌,以檢閱周轉時間指標。周轉時間是接收請求的最後一個位元組到傳送回應的第一個位元組之間的時間。這是「第一個位元組的時間」(TTFB) 指標。您可以使用周轉時間,從 Amazon S3 的觀點判斷作業所花費的時間。然後,您可以評估 Amazon S3 以外的其他延遲,這些延遲可能導致整體下載或上傳速度緩慢。

如果您看到異於尋常的延遲,最佳做法是重試請求,而不是等待請求完成。如需有關此指引和其他效能建議的詳細資訊,請參閱 Amazon S3 的效能準則

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