Skip to main content
 首页 » 编程设计

performance之为什么多线程文件传输可以提高性能

2025年05月04日126cyq1162

RichCopy 是 Microsoft 的一个优于 robocopy-with-GUI 的工具,似乎是当前复制文件的首选工具。它的主要功能之一,在 TechNet article presenting the tool 中突出显示。 , 是它并行复制多个文件。在默认设置下,同时复制三个文件,您可以在 GUI 中很好地看到:[进度:文件 A 的 xx%,文件 B 的 yy%,...]。有很多blog entries周围称赞这个工具并声称这加快了复制过程。

我的问题是:为什么这种技术可以提高性能?据我所知,在现代计算机系统上复制文件时,HDD是瓶颈,而不是CPU或网络。我的假设是一次复制多个文件会使整个过程变慢,因为 HDD 需要在不同的文件之间来回跳转,而不仅仅是按顺序流式传输一个文件。由于 RichCopy 速度更快,所以我的假设肯定有一些错误......

请您参考如下方法:

该工具正在利用硬件改进,可以更好地优化多个读取和写入请求。

当一次复制一个文件时,硬件不会知道当前正在读取头(或附近)下传递的数据块将需要后续读取,因为软件尚未将该请求排队.

如今,对于现代磁盘子系统而言,单个文件副本并不是一项繁重的任务。通过立即为这些硬件系统提供更多工作,该工具正在利用其改进的优化功能。