为什么我通过 SATA 获得的文件传输速度差异很大

为什么我通过 SATA 获得的文件传输速度差异很大

单台 Windows PC,带有 4 个内置硬盘和一个通过 e-SATA 电缆连接的外置硬盘。我的主板是较旧的 SATA 3,而不是 SATA 6。

当我从一个内置硬盘驱动器传输到另一个内置硬盘驱动器,或者从内置 e-SATA 驱动器传输到外部 e-SATA 驱动器时,文件传输速度差别很大。

例如:在备份时,将一个大型单个文件备份到外部硬盘:我的速度非常慢,只有 16 到 24 MB/s。稍后,我将另一个较大的单个文件(Linux ISO)备份到外部硬盘,速度达到 125 MB/s。有时我看到的是 55 MB/s,有时是 90MB/s。

我知道收集许多小文件会降低传输速度,但是什么导致了这些单个大文件的巨大差异(接近 8 倍)?

答案1

这是由物理硬盘的工作方式决定的。当数据写入硬盘时,分区表会存储每个文件的数据存储位置。

它按如下方式执行此操作:查找第一个可用的空闲位置,并开始在那里写入。当文件大于该空间时,它将停止在那里写入,并在分区表中记录该文件的部分存储位置。然后,它会搜索下一个可用的空闲空间并开始在那里写入。由于这种方式,您的硬盘将变得碎片化。NTFS 有技术可以减少碎片化,但它仍然会产生碎片。

因此,查找大文件可能会导致硬盘磁头到处移动,因为它必须到处访问文件,从而减慢读取速度。

编辑:另外,忘了提一下,删除文件时,可用空间不会重新排序,只是标记为可用空间。因此,删除小文件会产生小间隙,大文件将写入其中。NTFS 将尝试尽可能减少这种情况,但特别是对于非常大的文件,它并不总是能做到这一点。

相关内容