通过OSS文件上传工具或者OSS SDK上传超过5GB文件时,存在上传失败或者上传慢的情况,本文主要介绍如何上传大文件到OSS。
OSS支持单个文件的大小为0到48.8T。当需要上传大文件或一次性上传较多文件时,若遇到以下两种情况,建议通过SDK或API的分片上传和断点续传、图形化管理工具ossbrowser或者命令行工具ossutil上传文件。
请参考分片上传和断点续传文档进行操作,适用场景如下:
请参考ossbrowser上传文档进行操作,ossbrowser工具的使用说明如下:
请参考ossutil上传文档进行操作,ossutil工具的使用说明如下:
cp
命令上传大文件。--bigfile-threshold
参数控制分片并发上传的文件大小阈值。-jobs
项和-parallel
项,控制并发,优化上传性能。上传大文件的常见问题如下:
使用简单上传(PutObject)上传大文件无法成功,原因可能如下。
文件小于5GB,可能由于网络环境原因,出现上传小文件正常,但上传较大文件时,请求发出去就收不到任何响应,直至超时的情况。这有可能是服务器的MTU设置较大导致的。用户可在ECS上执行netstat -i
获取当前的MTU设置值。如下图获得默认的内外网网卡的MTU都是1500。
ip link set dev eth0 mtu 1470
命令修改MTU(此处以ECS通过eth0内网访问OSS调整MTU值为1470)。上传单个大文件能不能并发上传。
--bigfile-threshold
、-job
s和-parallel
选项,具体请参考ossutil文档。