在日常工作中,我们经常遇到需要传输一些小文件的情况,但是当小文件的数量很多的时候,为什么小文件传输的速度就会变得很慢呢?为什么复制许多较小的文件时,小文件传输效率就会降低呢?针对这些问题,小编为大家整理了一些小文件传输慢的原因以及小文件传输的优化方案。
假如我要把一个便携式软件目录从电脑复制到外置HDD。一个application.exe文件的大小大约是4MB,但是其他大部分文件的大小只有几十KB,并且这些文件相比于4MB的大文件来说,复制/移动的时间更长。
传输数据的时候,如果是移动一个大文件,那么只需要写一次目录项,然后把数据连续地写入就可以了。如果是很多个文件的话,就要写目录信息,再跳到文件区域写数据,然后再回来写下一个文件的目录项,再跳回去写数据,如此反复。
如果是进行小文件传输,那么在源端就有一个open + read + close,在目标端就有一个open + write + close,并且在目标端还要创建所有相关属性(ctime / atime / mtime等)。碎片(需要更多的寻道时间)也会影响数据速率。比如sata通道的堵塞也可能是一个问题。这也是为什么大文件有更长的连续读或写,传输速度更快,而小文件传输却很慢。
这是Windows的工作方式,也是HDD不好的地方。通常来说,SSD在复制小文件方面表现得更好。您可以看一下关于HDD和SSD的文件传输速度的基准测试。但是您也要知道还有其他因素,比如Windows先读取文件,然后由防病毒软件检查它们,然后再把它们写入新的目标文件夹。更别说剪切文件时,还要加上删除过程。所以,文件越多,就需要越多的“实时”时间来复制更多的文件。
由于写入(外部)HDD的数据没有被缓存,而是直接写入HDD,而且USB驱动器还要为每个文件处理索引(FAT, Allocation Table),所以必须把HDD缓存从文件数据切换到文件分配数据。因为如果在缓存时出现故障,则文件会丢失,HDD会损坏等等。内部驱动器可以被缓存。然后它可以把文件快速地写入硬盘。实际上,它们会像整个商业计算机行业那样让您减速。USB硬盘驱动器上的其他驱动程序不是智能驱动器,也不是硬盘驱动器。人们想要便宜的东西。他们不会在硬盘的说明中说出来,不,当然不会。他们只提到大文件传输速率。
您可以这样想象,分配了一个任务,从A点到B点拿走10本书(10个文件),如果它们是分开的,则计算机需要把它拿到B点再回到A点去拿下一本书等等。而如果只需要拿一本和10本书总重量相当的大书,则搬运书的时间会更久,但是由于计算机只要走一趟,所以这会是一个更快的过程。
那么针对小文件传输慢,需要复制较小的文件时候,海量的小文件传输效率低下的情况,镭速(企业、社会组织用户可申请免费试用)提供海量级的小文件传输优化方案,小文件传输每秒5000个以上,百万数量级文件能在5分钟内完成列表,相同文件秒传速度可达每秒20000个,速度比传统的FTP快100倍以上。
跨国传输速度对比
从中国到美国,使用镭速传输海量小文件,比公司同一区域两台机器互传还快。
从上面的分析可以看出,小文件传输慢的原因主要有以下几点:文件系统的结构,硬盘驱动器的性能,操作系统的处理方式,防病毒软件的干扰等。这些因素都会影响小文件传输的效率和速度,导致用户在工作中遇到困难和麻烦。
为了解决这个问题,我们需要采用一些小文件传输的优化方案,比如使用SSD替代HDD,关闭不必要的防病毒软件,使用专业的小文件传输软件等。这些方案都可以提高小文件传输的效率和速度,让用户在工作中更加顺畅和高效。
如果您也经常需要进行小文件传输,镭速软件还是不错的。镭速软件可以在工作中轻松应对海量的小文件传输任务,节省工作时间和精力,提升工作效率和质量。