文件复制,串行还是并行?

文件复制,串行还是并行?

我必须手动复制几个文件并备份大量数据。它从 HP 笔记本电脑、7200rpm SATA 硬盘(无 RAID)、Windows 8.1 复制到外部 USB 3.0 7200rpm 硬盘。两者都有 NTFS 文件系统。文件大小各异。

我的问题是,并行复制还是串行复制更快?

从我开发人员的角度来看,序列化会更快,因为我可以避免额外的重新定位和一些开销。但由于我不从事 IT 行业,所以我想听听你对此的看法。对您来说最佳的方法是什么,串行复制还是并行复制?

答案1

您希望逐个复制文件,但所有 I/O 均已完成异步地

这意味着应用程序会同时发出多个读取请求,操作系统会尽可能地完成这些请求,并向应用程序发出一个块已准备就绪的信号。然后,应用程序将发出一个写入请求,同样,操作系统将按照自己的时间表完成该请求,并在完成后通知应用程序。实际上,这意味着应用程序在任何时候都会有多个未完成的读取请求和多个未完成的写入请求。

其次,重要的是读/写请求的大小。最近的 Windows 版本(从 Vista 开始)以较小的块读取数据更快,以较大的块写入数据更快。另一方面,以较大的块从网络位置读取数据更快。

这就是 Windows 自身的robocopy工作方式,而且非常好。

--

还有一个好处——当复制大量小文件时,复制过程最终会花费过长的时间来打开和关闭文件。因此,您需要一款能够提前查看复制队列并预先打开文件的应用程序。这真的将复制速度提升到另一个层次。

答案2

对于您在此处讨论的单驱动器到单驱动器备份方案,您的最大速度将是您从源驱动器提取数据的速度。如果数据碎片化严重,则并行和串行检索之间没有区别。如果数据在文件本身中基本连续,则并行和顺序备份之间会有一些区别。

对于那种情况...

如果你正在寻找最大备份速度并行可能会更快地完成工作。
如果你正在寻找最大恢复速度顺序将是最好的选择。

相关内容