作者:张医博
浅谈
ossbrower,图形版的操作工具,有控制台的基本功能,可以理解是 ossutil 工具的图形版,适用于一些非技术人员来操作 oss ,但是性能上并不如 ossutil 那么给力。
使用须知
- ossbrower 支持断点续传,以及一键暂停和一键恢复;
- ossbrower 最大支持文件大小是 5GB;
- ossbrower 最大支持的上传/下载线程数最多是10 ;
- 遇到多文件并发上传/下载 时,需要将并发线程数设置为 10,如果并发的文件 size 百兆/G ,请替换成 ossutil 工具;
经典案例
案例一:
驻云工具无法加载 bucket 中 object
排查
- 如图是一个第一个非 oss 官方的第三方工具,用户可以尝试在客户端做下基本的 ping 测试先看下网络是否通。
- 检查登陆的 AccesskeyID 的权限是否可以将 bucket 下的内容 list 出来。
- 用 ossbrower 测试下,看同样的 AccesskeyID 登陆后是否也会报错,如果 ossbrower 可以正常显示,证明策略没有问题,是第三方放工具的问题。可以联系驻云公司看下是否配置上有特殊的地方。
案例二:
- 第一种情况,客户端在国内通过 ossbrower 上传到国外 OSS ,通过公网上传慢,或者网络超时,大量并发,文件 size 比较大;;
- 第二种情况,客户端在国外,跨国传输到其他国家的 OSS ,比如美国传到香港 OSS 通过公网上传很慢,进度条来回回退,大量并发,文件 size 比较大;;
- 国内上传到国内通过公网上传,大量并发,文件 size 比较大;
排查
这几种情况统一进行分析排查;
1) 首先通过脚本进行网络基础探测,看下客户端的网络延迟、丢包、等指标是否正常;下载地址
2)当网络延迟不高的情况下、也没有出现明显的丢包,我们要考虑下自己当前设置的 上传/下载文件数量是不是很多(超过10),size 既不是超过了 100M。如果是,请将设置的线程数量提升到最大 10个,然后点击左上图片 15 下开启 debug 模式;如图
3)开启 debug 后,将之前的任务先清理掉然后重新上传,看右侧的 debug 是否有明显的错误信息或者断点重传的标记,如图就是在网络丢包超时情况下触发了断点续传,是正常现象,如果断点的出现次数很多,需要关注网络了。
4)开启网络抓包,可以用 tcpdump 也可以用 wireshark ,操作如图
抓包结果分析
通过抓包分析发现客户端到服务端的网络重传较多,而且还出触发了 TCP 的快速重传,势必导致客户端的发送窗口大小下降;而且大量的丢包重传,拥塞客户端的网络将本来带宽就小得网络出口很容易打满;
总结
当经过前几步排查还是无法定位了的话,只能通过抓包来分析,最后给出的解决方案
- )客户端替换 ossutil 上传,这样可以自定义分片大小,降低大文件传输时造成的大量重传拥塞
- )客户端放置一个美国的 OSS 替代香港的 OSS 避免跨国的公网抖动;
- )解决客户端网络丢包的问题;扩容带宽;
案例二:
金融云登陆 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 的使用;