雲計算

OSS 工具之 OSSBrower

作者:張醫博

淺談

ossbrower,圖形版的操作工具,有控制檯的基本功能,可以理解是 ossutil 工具的圖形版,適用於一些非技術人員來操作 oss ,但是性能上並不如 ossutil 那麼給力。

使用須知

  • ossbrower 支持斷點續傳,以及一鍵暫停和一鍵恢復;
  • ossbrower 最大支持文件大小是 5GB;
  • ossbrower 最大支持的上傳/下載線程數最多是10 ;
  • 遇到多文件併發上傳/下載 時,需要將併發線程數設置為 10,如果併發的文件 size 百兆/G ,請替換成 ossutil 工具;

經典案例

案例一:

駐雲工具無法加載 bucket 中 object
image.png

排查

  • 如圖是一個第一個非 oss 官方的第三方工具,用戶可以嘗試在客戶端做下基本的 ping 測試先看下網絡是否通。
  • 檢查登陸的 AccesskeyID 的權限是否可以將 bucket 下的內容 list 出來。
  • 用 ossbrower 測試下,看同樣的 AccesskeyID 登陸後是否也會報錯,如果 ossbrower 可以正常顯示,證明策略沒有問題,是第三方放工具的問題。可以聯繫駐雲公司看下是否配置上有特殊的地方。

案例二:

  • 第一種情況,客戶端在國內通過 ossbrower 上傳到國外 OSS ,通過公網上傳慢,或者網絡超時,大量併發,文件 size 比較大;;
  • 第二種情況,客戶端在國外,跨國傳輸到其他國家的 OSS ,比如美國傳到香港 OSS 通過公網上傳很慢,進度條來回回退,大量併發,文件 size 比較大;;
  • 國內上傳到國內通過公網上傳,大量併發,文件 size 比較大;

排查

這幾種情況統一進行分析排查;

1) 首先通過腳本進行網絡基礎探測,看下客戶端的網絡延遲、丟包、等指標是否正常;下載地址

2)當網絡延遲不高的情況下、也沒有出現明顯的丟包,我們要考慮下自己當前設置的 上傳/下載文件數量是不是很多(超過10),size 既不是超過了 100M。如果是,請將設置的線程數量提升到最大 10個,然後點擊左上圖片 15 下開啟 debug 模式;如圖
image.png

3)開啟 debug 後,將之前的任務先清理掉然後重新上傳,看右側的 debug 是否有明顯的錯誤信息或者斷點重傳的標記,如圖就是在網絡丟包超時情況下觸發了斷點續傳,是正常現象,如果斷點的出現次數很多,需要關注網絡了。

image.png

4)開啟網絡抓包,可以用 tcpdump 也可以用 wireshark ,操作如圖

image.png

image.png

抓包結果分析

通過抓包分析發現客戶端到服務端的網絡重傳較多,而且還出觸發了 TCP 的快速重傳,勢必導致客戶端的發送窗口大小下降;而且大量的丟包重傳,擁塞客戶端的網絡將本來帶寬就小得網絡出口很容易打滿;

總結

當經過前幾步排查還是無法定位了的話,只能通過抓包來分析,最後給出的解決方案

  1. )客戶端替換 ossutil 上傳,這樣可以自定義分片大小,降低大文件傳輸時造成的大量重傳擁塞
  2. )客戶端放置一個美國的 OSS 替代香港的 OSS 避免跨國的公網抖動;
  3. )解決客戶端網絡丟包的問題;擴容帶寬;

案例二:

金融雲登陸 OSSbrower 報錯,
Error: Hostname/IP doesn't match certificate's altnames: "Host: xxx.oss-cn-szfinance-a.aliyuncs.com. is not in the cert's altnames:
或者類似其他 endpoint 的證書報錯。

排查:

1)先看報錯的 endpoint 是哪個 region,是公用雲還是專有云、金融雲。通過這個報錯可以知道是金融雲內網;

2)看客戶端完整的 OSS brower 登陸配置如何,一般除了公有云、金融雲公網以外都是不支持 https 的,那麼本次的錯誤可以看出是由於內網環境,所以並不支持 https ;

3)為什麼內網(金融雲、專有云)不支持 https 呢,因為已經是內網了,也就是訪問者肯定都是內部的人才能接入,所以 https 的用戶不在也、同時也無法進行證書中心的驗證,自然就去掉了 https 的使用;

Leave a Reply

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