且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

OSS 工具之 OSSBrower

更新时间:2022-03-07 05:32:18

作者:张医博

浅谈

ossbrower,图形版的操作工具,有控制台的基本功能,可以理解是 ossutil 工具的图形版,适用于一些非技术人员来操作 oss ,但是性能上并不如 ossutil 那么给力。

使用须知

  • ossbrower 支持断点续传,以及一键暂停和一键恢复;
  • ossbrower 最大支持文件大小是 5GB;
  • ossbrower 最大支持的上传/下载线程数最多是10 ;
  • 遇到多文件并发上传/下载 时,需要将并发线程数设置为 10,如果并发的文件 size 百兆/G ,请替换成 ossutil 工具;

经典案例

案例一:

驻云工具无法加载 bucket 中 object
OSS 工具之 OSSBrower

排查

  • 如图是一个第一个非 oss 官方的第三方工具,用户可以尝试在客户端做下基本的 ping 测试先看下网络是否通。
  • 检查登陆的 AccesskeyID 的权限是否可以将 bucket 下的内容 list 出来。
  • 用 ossbrower 测试下,看同样的 AccesskeyID 登陆后是否也会报错,如果 ossbrower 可以正常显示,证明策略没有问题,是第三方放工具的问题。可以联系驻云公司看下是否配置上有特殊的地方。

案例二:

  • 第一种情况,客户端在国内通过 ossbrower 上传到国外 OSS ,通过公网上传慢,或者网络超时,大量并发,文件 size 比较大;;
  • 第二种情况,客户端在国外,跨国传输到其他国家的 OSS ,比如美国传到*** OSS 通过公网上传很慢,进度条来回回退,大量并发,文件 size 比较大;;
  • 国内上传到国内通过公网上传,大量并发,文件 size 比较大;

排查

这几种情况统一进行分析排查;

1) 首先通过脚本进行网络基础探测,看下客户端的网络延迟、丢包、等指标是否正常;下载地址

2)当网络延迟不高的情况下、也没有出现明显的丢包,我们要考虑下自己当前设置的 上传/下载文件数量是不是很多(超过10),size 既不是超过了 100M。如果是,请将设置的线程数量提升到最大 10个,然后点击左上图片 15 下开启 debug 模式;如图
OSS 工具之 OSSBrower

3)开启 debug 后,将之前的任务先清理掉然后重新上传,看右侧的 debug 是否有明显的错误信息或者断点重传的标记,如图就是在网络丢包超时情况下触发了断点续传,是正常现象,如果断点的出现次数很多,需要关注网络了。

OSS 工具之 OSSBrower

4)开启网络抓包,可以用 tcpdump 也可以用 wireshark ,操作如图

OSS 工具之 OSSBrower

OSS 工具之 OSSBrower

抓包结果分析

通过抓包分析发现客户端到服务端的网络重传较多,而且还出触发了 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 的使用;