如何疑難排解使用網頁瀏覽器下載儲存於 Amazon S3 中的物件時的緩慢載入時間?

1 分的閱讀內容
0

我正試圖使用網頁瀏覽器從 Amazon Simple Storage Service (Amazon S3) 下載物件,但下載速度很慢。

解決方案

若要識別網頁瀏覽器中從 Amazon S3 下載時間緩慢的原因,請檢查下列潛在問題。

網際網路頻寬低

確認您從網際網路服務供應商 (ISP) 取得的網路速度。如果速度較低,則當您嘗試連接至 S3 儲存貯體並下載物件時,可能會造成瓶頸。

大型物件大小

如果某些 S3 物件比其他物件花費更長的時間來下載,請檢查下載時間較長的物件大小。對於非常大的 Amazon S3 物件,當您的網頁瀏覽器嘗試下載整個物件時,您可能會注意到下載時間緩慢。請改為使用 Amazon S3 API,以範圍 GET 要求嘗試下載大型物件。因為範圍 GET 要求可讓您在單獨且較小的區塊中下載大型物件,可協助您避免延遲。

用戶端和 Amazon S3 儲存貯體之間的地理距離

如果從您的 S3 儲存貯體下載的用戶端來自世界各地,那麼這些用戶端的位置可能會影響下載速度。距離您的儲存貯體 AWS 區域地理位置較遠的用戶端可能會遇到較慢的下載時間。若要改善地理位置較遠的用戶端下載時間,您可以採取下列動作:

  • Amazon CloudFront 分佈處理您的 S3 物件。CloudFront 可以從地理位置較接近的邊緣節點為用戶端提供服務,因此可將延遲降到最低。
  • 將您的儲存貯體移至地理位置更接近用戶端的區域。您可以使用跨區域複寫將物件從來源儲存貯體複製到另一個區域的目的地儲存貯體。

中繼網路相關問題

網路相關問題 (例如封包遺失、大量躍點數或任何其他 ISP 相關問題) 均可能影響 Amazon S3 下載時間。

若要確定網路相關問題是否造成下載速度緩慢,請使用 mtrtraceroute 等工具。這些工具可協助識別傳送封包至遠端主機時可能出現的網路問題。例如,下列 traceroute 命令從連接埠 80 向 us-east-1 內的 Amazon S3 端點傳送 TCP 路徑追蹤:

sudo traceroute -P TCP -p 80 s3.us-east-1.amazonaws.com

**注意:**因為許多網路裝置不會透過 ICMP 回應,最佳做法是執行 TCP 追蹤路徑。

工作站資源

確認您的工作站內沒有可能導致整體延遲的資源競爭 (例如 CPU、記憶體或網路頻寬)。

根據您的作業系統,您可以使用資源監視器 (來自 Microsoft 網站) 或 top 命令等工具來檢查大部分用戶端系統上的資源使用狀況。

從 Amazon S3 隔離處理時間

若要協助確認造成下載時間緩慢的原因,請從 Amazon S3 隔離處理時間。啟動伺服器存取記錄,然後檢閱日誌總時間。這顯示 Amazon S3 處理該要求需要多久時間。

您也可以分析 Amazon CloudWatch 指標 FirstByteLatency。FirstByteLatency 會顯示 Amazon S3 處理用戶端的要求,並將回應傳送至用戶端所需的時間。此 CloudWatch 指標可提供儲存貯體層級的效能觀點。

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

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