关灯
开启左侧

针对OneDrive小文件大量传输速度慢原理的解析和解答

[复制链接]
简写 发表于 2018-11-16 03:40:10 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
 
这是一篇针对小文件大量传输速度慢原理的解析和解答。
为什么同样容量的文件、单个文件比好多碎小文件的传输速度快呢?

很多人的OneDrive喜欢一口气塞入大量的小文件开始上传,然后OneDrive会一直处于更新状态。那为什么会在更新状态呢?

然后会说?OneDrive不好用,疯狂的吐槽。那么我详细的介绍一下这个问题
OneDrive的上传机制可以看如下。他是网络传输+读写文件


他在更新的过程中要扫描要上传的文件夹和文件夹,
如果是文件夹需要在云端新建新的文件夹后才会开始上传。
如果是文件,他要扫描他的安全性确保文件是否是病毒。
这个过程就是机内的读写文件过程。
如下就是读写过程为什么会卡并且慢的原因,OneDrive统一显示为更新文件。


===============如果“传输”指一台机内拷贝、读写文件==============
机械硬盘对盘面一段连续区间的读写速度非常高,但如果在一个地方读写完后又换去别的地方读写就会造成寻道:磁头移动到下一个读写位置。
系统读写单个文件一般都可以连续读写,而访问大量文件就需要频繁寻道,因为不同文件在硬盘上一般会放在一起的。
单次寻道的时间很短,大约是10毫秒级别,人一般不会察觉,但如果太频繁了就非常明显。
例如一个1G大小的文件,现代硬盘可以在20秒内完成访问,但如果将1G分成10万个10k的文件,那就造成至少10万次寻道,每次寻道10毫秒,那就消耗了1000秒时间来寻道。实际应用中还复杂得多,寻道次数可能是2倍以上。
即使固态硬盘没有寻道过程,对大量文件的访问仍然有一定的性能影响。例如对1G的文件读入内存,只需要简单一组CPU指令就可以让硬盘连续工作并把数据直接写入内存,而如果访问大量文件,操作系统发送一条传送指令后等待硬盘完成,再根据结果又执行下一条指令,大部分时间都浪费在指令延上。如果用网络传输的文件非常多,或者网络的速度非常快,寻道延时造成的影响也会很显著。


读写完成后他就要开始上传文件了。


===============如果“传输”指网络传输===============无论采用FTP协议、HTTP协议或是软件自定义协议传输文件,都是基于TCP,TCP协议可以用一条……
咳咳,两条水管来比喻,其中一条水管一面只管灌水,一面接收水。水的流量可以很大,但水在管里流动有一定的速度,所以水从一边传到另一边有时间差。
而传送大量小文件时的情况就比较复杂,要看传输文件的协议是怎么规定的,对于常见的FTP和HTTP传送大量文件时都很低效,这就像用水管每次只传一杯水,接水的一方确认收到后,再给出指令传送下一杯水,刚才说了水传输是有延时的,于是大部分时间都浪费在这种延时上,水管的流量没被充分利用。
要解决这样的问题很简单,将大量文件打包成一个文件一起发送,这也是下载服务常规做法,你下载的软件安装包都是一个文件,双击运行后才解包成多个文件。


如果如下这两个问题叠加在一起。那么可能会导致OneDrive卡死等情况。OneDrive会一直显示在更新的情况。

如果我是超级好的配置,能够快速的写入内存,快速完成发送指令,并且网络环境非常的好,就可以达到快速跳过这个过程的目的。但是既然很多人都遇到了这个情况,那么我就把这个事情说清楚。


还请记住:先森科技。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

 

精彩评论4

正序浏览
无眠 发表于 2018-11-17 08:45:37 | 显示全部楼层
 
如果上传文件夹时间过长,关机后重新启动onedrive是否能接续上次未完成的继续传输?
回复

使用道具 举报

 
简写 发表于 2018-11-17 16:11:47 | 显示全部楼层
 
无眠 发表于 2018-11-17 08:45
如果上传文件夹时间过长,关机后重新启动onedrive是否能接续上次未完成的继续传输? ...

可以
回复

使用道具 举报

 
 楼主| 萌音520 发表于 2019-1-18 08:59:52 | 显示全部楼层
 
支持一下,点赞
回复

使用道具 举报

 
1501984833 发表于 2019-1-18 16:34:49 | 显示全部楼层
 
谢谢大佬,知道了
回复

使用道具 举报

 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


0关注

14粉丝

30帖子

排行榜

关注我们:QQ交流群

官方微信

APP下载

全国服务热线:

4000-888-888

公司地址:上海市嘉定区

运营中心:上海市嘉定区百达国际大厦25楼

邮编:200000 Email:admin@mr-techno.com

Copyright   ©2015-2018  先森科技Powered by©Discuz!技术支持:先森科技    ( 浙ICP备18046157号-1 )|网站地图