天天看點

性能調優-公網上傳調優

場景描述

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

  • 跨境傳輸
  • 國内傳輸

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

SDK 層面

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

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

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

網絡層面

1、可以開通全地域上傳加速功能,通過智能 DNS 擇優鍊路通路 OSS。

性能調優-公網上傳調優

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

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

4、 如果使用者的場景是大量的 OSS 檔案被下載下傳,也可以使用 CDN 加速檔案的下行鍊路,通過分布衆多的 CDN 節點就近通路。

工具層面

使用者如果不是擅長編碼,最快的方式是通過阿裡雲的自動化工具進行上傳、下載下傳,如果是大量檔案并發上傳推薦使用 ossutil ,支援并發、分片、debug 等場景。

如果用戶端不會使用指令行,也可以使用 ossbrower 工具,但是傳輸性能不如 ossutil 而且支援的檔案大小是 5G;

如果使用者上傳 OSS 使用的 ECS 和 OSS 在同一個地區,建議使用者使用内網的 endpoint 位址來上傳檔案到 OSS;

性能調優-公網上傳調優