在系统规模不大的情况下我们经常会将所有系统服务部署在一台服务器上,此时就经常需要在本地与服务器之间互传文件,如,下载服务器端程序运行日志,本地上传Docker镜像文件到服务器端等。
如果是较小的文件传输我们可以使用scp
命令或搭建FTP服务使用各种FTP命令或工具进行文件传输,但如果传输文件较大时,将占用大量服务器带宽,且传输速度往往也被约束。下面笔者通过FTP下载阿里云VPS上一个1.78G的示例文件,下载速度仅有1.4M/s,耗时约25分钟。
类似于阿里云等知名服务器提供商除了提供基础的VPS外一般也会提供相应的文件存储服务,而同一平台下的相同地域的VPS与文件存储服务之间走的都是网络专线,访问速度极快,我们可以此加速VPS大文件网络传输。下面我们以阿里云为例,使用阿里云OSS加速ECS网络传输。
-
# 安装 curl https://gosspublic.alicdn.com/ossutil/install.sh | sudo bash # 配置鉴权信息 ossutil config
-
ossutil64 cp bigfile.tgz oss://bucket_name/
可以看到1.78G的文件仅用了5s中就上传完毕了。
下载文件到本地
使用OSS命令行或客户端进行文件下载即可,可以看到下载速度为38.45M/s,下载耗时45秒。
简单回顾一下,直接从阿里云ECS服务器上下载一个1.78G的文件耗时25分钟,而经过OSS加速之后,文件下载时间缩短为了50秒,提速近30倍,效果非常明显。当然这里我们是以阿里云平台为例,其它平台思路也类似,这里不再演示,相信聪明的读者朋友可以肆意DIY。