欢迎来到阿里云合作伙伴典名科技! 阿里云购买咨询电话:023-61066666 手机:18623333330  13452888883 13452888886  18581111171  QQ:11611616 / 673768899 / 673768855 / 956491
  • 1
  • 2
  • 3
  • 4
  • 5
站长学堂
当前位置: 网站首页  »    »  问题解决方案  »  站长学堂

阿里云服务器对象存储大文件如何上传

重庆典名科技 admin    重庆典名科技 2017-12-7

阿里云对象存储OSS是为了满足用户大存储业务而开发的产品,相较于一般的产品在文件数据存储业务方便具有更便捷、更省钱、更安全等优势。那么我们在使用对象存储时应该怎么上传大文件呢?阿里云代理商重庆典名科技就来谈谈自己的经验。

 

温馨提示:

阿里云对象存储OSS支持单个文件的大小,从0~48.8TB。但是当我们上传大文件的时候,可能会有以下场景:

1、当我们上传的单个文件大于5GB时,这时候一般的上传文件的方式是没有办法实现的。

2、文件比较大,虽然小于5GB,但是网络环境如果比较差,经常出现网络原因造成超时或者链接断开等错误的时候,上传文件就容易失败。

出现上述的情况,阿里云代理商推荐使用分片断点续传方式或者使用ossutil工具上传

 

【一】分片断点续传

在使用SDK或API上传大文件时,是可以使用分片断点续传方式的。分片上传适用于以下所述场景:

1、单个文件的大小超过5GB

2、流式上传:当对文件大小还不确定的情况下,需开始上传。比如视频监控等行业的云录像应用。

3、恶劣的网络环境,需要断点续传大文件。我们本身的网络环境差,或者是使用手机端,当出现上传失败的时候,可以对失败的Part进行独立的重试,而不需要重新上传其他的Part。

4、加速上传。上传到OSS的本地文件很大时,可以采用并行上传多个Part以加快上传。

【注】阿里云代理商温馨提醒:OSS支持单个文件最大为48.8TB

 

【二】ossutil上传

如果我们需要使用工具上传单个或者多个大文件,而不是使用API、SDK编写代码上传时,可以使用ossutil:

1、可以使用ossutil命令行工具的cp命令上传大文件

2、上传文件支持的文件大小范围:0~48.8TB

3、可通过--bigfile-threshold 参数控制分片并发上传的文件大小阈值

4、ossutil上传单个或多个大文件时,可以通过-jobs项和-parallel项,控制并发,优化上传性能。

 

【三】ossimport上传

若需要进行大批量的文件上传到OSS,还可以使用工具ossimport:

【注】阿里云代理商温馨提醒当文件数目不是特别多,建议优先使用ossutil

 

【四】常见问题

正常使用简单的上传(PutObject)上传大文件没有办法上传成功?

阿里云代理商原因分析:

1、文件过大,超过了5GB

解决办法:可以使用ossutil命令行工具,通过分块上传的接口将大文件分成多个小的分块进行上传

2、文件小于5GB,但可能由于网络环境原因,出现上传小文件正常,但上传较大文件,请求发出去就收不到任何响应,直至超时。这有可能是服务器的MTU设置较大导致的。用户可在ECS上执行netstat -i获取当前的MTU设置值。如下图所示获得默认的内外网网卡的MTU都是1500:

阿里云服务器

解决办法1:将本机的MTU改为较小一些。Linux下修改MTU的命令是:ip link set dev eth0 mtu 1470(以ECS通过eth0内网访问OSS调整MTU值为1470)

解决办法2:也可以使用分片上传接口或ossutil工具

3、上传单个大文件能不能并发上传?

如使用ossutil上传时,可以通过--bigfile-threshold、-jobs和-parallel选项

如使用OSS API、SDK的分片上传接口,可以根据需要编写并发调用上传接口的代码。同时,部分SDK也已实现分片上传的并发控制,如Java SDK通过taskNum,Python SDK通过num_threads参数控制。

 

上述为阿里云代理商重庆典名科技多年行业经验的一些总结,如果您在使用的过程中遇到上述情况或者是其它情况可以直接拨打阿里云授权服务中心电话023-66887777,我们将提供免费的一对一技术服务。更多联系方式详见页面顶部。 

 

+查看更多+
常见问题解决方案
相关热门文章
热门产品推荐
热门产品推荐
阿里云代理商
阿里云客服
阿里云客服
阿里云客服