为什么复制多个较小的文件时文件传输速度会降低?

Glo*_*ale 4 speed file-transfer

假设我正在将便携式应用程序目录从 PC 复制到外部硬盘驱动器。一个 application.exe 文件的大小约为 4 兆字节,但大多数其他文件的大小只有几十 KB,而且与具有 4 兆字节的较大文件相比,这些文件中的大多数需要更长的时间来复制/移动。

为什么是这样?

小智 7

如果您传输文件,则在源处有一个打开+读取+关闭,在目标处有一个打开+写入+关闭,所有关联的属性(ctime/atime/mtime 等)都在目标处创建。碎片(更高的寻道时间)也会影响数据速率。例如,sata 通道的拥塞也可能是一个问题(为每个磁盘使用单独的端口,如果用完了,请购买 sata 卡)。较大的文件具有更长的连续读取或写入时间,并且传输速度会更快。我相信还有更多。这对你有帮助吗?


Bla*_*gle 7

传输数据时,如果移动一个大文件,只需写入一次目录项,然后流式传输数据并或多或少地连续写入。当你有很多文件时,你写目录信息,移动到文件区并写入数据,然后返回并写入下一个文件的目录条目,然后返回数据区并来回写入数据. 来回移动的开销加起来。