雲計算

性能調優-公網上傳調優

場景描述

OSS 公網上傳分為兩種,針對這兩種場景分別描述

  • 跨境傳輸
  • 國內傳輸

跨境傳輸

由於網絡因素導致,國外國內互傳 OSS 文件時,受到國際出口鏈路的瓶頸影響,傳輸速度以及穩定性都是無法保證 100% 可用,尤其是在特殊節日例如重要政治會議時期可能更容易出現封堵,針對此類情況用戶可以考慮如下種優化手段;

SDK 層面

1、客戶可以用 SDK 的斷點上傳/下載 功能,對源文件進行切片傳輸,降低大文件的網絡傳輸帶寬、延遲開銷;同時在網絡帶寬利用率不高的情況下可以增加分片的併發數量,提高帶寬吞吐;

2、客戶在跨境傳輸時,可以採用增加重試,適當調大超時時間兼容弱網、丟包等環境的影響;但超時時間不宜太長,這樣會影響重試;

3、多線程上傳時協程的效率會比較高,但是傳輸速率不一定高,協程是通過線程中斷進行調度切換的,保證每個線程都可以上傳但是切換過程中類似軟中斷一樣都有影響傳輸速率;

網絡層面

1、可以開通全地域上傳加速功能,通過智能 DNS 擇優鏈路訪問 OSS。
image.png

2、使用 全站加速,開通 DCDN ,將加速類型設置為全球加速,然後將 DCDN 的原站設置為 OSS 域名。DCDN 會通過就近的邊緣節點(靠近網民)接入客戶的上下行請求,然後通過智能選路的方式,探測一條最短的回源路徑回到原站 OSS,起到上下行的加速作用;

3、如果是 PC 端上傳,保證本地的文件描述符、網絡連接數不要被打滿,避免出現 socket 連接等待引發超時;

4、 如果用戶的場景是大量的 OSS 文件被下載,也可以使用 CDN 加速文件的下行鏈路,通過分佈眾多的 CDN 節點就近訪問。

工具層面

用戶如果不是擅長編碼,最快的方式是通過阿里雲的自動化工具進行上傳、下載,如果是大量文件併發上傳推薦使用 ossutil ,支持併發、分片、debug 等場景。

如果客戶端不會使用命令行,也可以使用 ossbrower 工具,但是傳輸性能不如 ossutil 而且支持的文件大小是 5G;

如果用戶上傳 OSS 使用的 ECS 和 OSS 在同一個地區,建議用戶使用內網的 endpoint 地址來上傳文件到 OSS;

國內傳輸

SDK 層面

1、客戶可以用 SDK 的斷點上傳/下載 功能,對源文件進行切片傳輸,降低大文件的網絡傳輸帶寬、延遲開銷;同時在網絡帶寬利用率不高的情況下可以增加分片的併發數量,提高帶寬吞吐;

2、客戶在跨境傳輸時,可以採用增加重試,適當調大超時時間兼容弱網、丟包等環境的影響;但超時時間不宜太長,這樣會影響重試;

3、多線程上傳時協程的效率會比較高,但是傳輸速率不一定高,協程是通過線程中斷進行調度切換的,保證每個線程都可以上傳但是切換過程中類似軟中斷一樣都有影響傳輸速率;

網絡層面

1、可以開通全地域上傳加速功能,通過智能 DNS 擇優鏈路訪問 OSS。
image.png

2、使用 全站加速,開通 DCDN ,將加速類型設置為全球加速,然後將 DCDN 的原站設置為 OSS 域名。DCDN 會通過就近的邊緣節點(靠近網民)接入客戶的上下行請求,然後通過智能選路的方式,探測一條最短的回源路徑回到原站 OSS,起到上下行的加速作用;

3、如果是 PC 端上傳,保證本地的文件描述符、網絡連接數不要被打滿,避免出現 socket 連接等待引發超時;

4、 如果用戶的場景是大量的 OSS 文件被下載,也可以使用 CDN 加速文件的下行鏈路,通過分佈眾多的 CDN 節點就近訪問。

工具層面

用戶如果不是擅長編碼,最快的方式是通過阿里雲的自動化工具進行上傳、下載,如果是大量文件併發上傳推薦使用 ossutil ,支持併發、分片、debug 等場景。

如果客戶端不會使用命令行,也可以使用 ossbrower 工具,但是傳輸性能不如 ossutil 而且支持的文件大小是 5G;

如果用戶上傳 OSS 使用的 ECS 和 OSS 在同一個地區,建議用戶使用內網的 endpoint 地址來上傳文件到 OSS;

Leave a Reply

Your email address will not be published. Required fields are marked *