一次复制所有内容或一次复制所有内容,哪个更快?


17

我正在通过USB 2.0将一堆(20+)个大(1GB +)的文件传输到我的外部闪存驱动器。一次将它们全部吊起来(一次一次但不等待上一个传输完成)是否更快,以便正在进行多个传输,或者传输一个,等待它完成,然后传输下一个。这些文件来自不同的位置,因此我无法进行一次大传输。

一种或另一种方式是否还有其他值得考虑的优势?


多少钱?
摩押

20+,问题已更新。
弗雷德里(Fredley)2011年

6
这里有一些非常有趣的理论答案,但是我很想看到一些真实的数据。我们如何建立可靠的测试?
2012年

Answers:


19

如果它们全部来自不同的物理磁盘,但被写入固态驱动器(闪存,SSD),则可以同时复制它们。

物理磁头的移动(等待时间)会减慢从旋转的磁盘盘的传输。如果要从单个HDD复制,则将开始一个大传输而不是很多小传输。在两个或多个要复制的文件之间来回移动会降低传输速度。当然,如果HDD碎片太多,即使复制单个文件,也会获得相同的效果。

如果它在固态驱动器之间,那么没关系。

如果您不想等待每次传输完成,请使用Teracopy之类的复制队列应用程序。

当然,闪存驱动器的写入速度将成为此处的瓶颈,因此采用哪种方式可能并不重要。:)


1
很好的答案,尽管我自己更喜欢FastCopy。:-)
Afrazier 2011年

Teracopy很棒!我喜欢它自动替换Windows文件复制系统的方式。极大的提速,谢谢!
弗雷德里(Fredley)2011年

即使听起来很合逻辑,这也是我个人的想法。但是实践证明,我有一个USB闪存,可以30 MB / s的速度复制单个文件(从SSD),但是当我尝试在同一环境中同时复制三个文件时,速度下降到2.5 MB / s每个副本线程。因此,速度从30 MB / s降至7.5 MB / s。
西西弗斯

2

如果目标磁盘是SSD,则请记住,对于此处所关心的问题,SSD 速度很快。(*)

如果目的地速度较慢(从写入速率不太高的闪存到SATA3 HDD到磁带,再到磁带),则应将传输排队一次,一次。

您的瓶颈肯定会在目标磁盘上

在当今,建议使用HDD,因为即使一个圆柱体中有多个磁头,也不允许它们同时读取或写入(由于我们可能会遇到随机数据,因此在现实世界中未显示任何性能影响)。其中一个磁头在大多数情况下不允许我们在该磁头中读/写,并且如果磁头未完全居中,则可能导致磁盘损坏)。

常识(以及数学也是如此!)说,如果我们有非常多的源,但是我们可以并行传输文件,则寻头(尽管在很多情况下)可能比任务的序列化要快。

(*)如nnewton所述,因为没有头部运动。但是我们不应该使用延迟一词:延迟是磁头移动+磁盘旋转延迟+读取时间,而在SSD中,它只是随机读取时间,并不像磁盘驱动器那样依赖于先前的读取位置



1

如果您通过IP协议(FTP / SCP / Samba / etc)复制,则复制一个文件的开销会更少,因为每个文件之间存在多次握手。

在这种情况下,由于文件很大而数量很少,因此与您执行的I / O总线不会有多大区别,并且可以照原样复制它们。


0

最好一次写入一个文件。

您可能会发现闪存驱动器的带宽很容易饱和。(源驱动器不太可能成为瓶颈。)虽然USB 2.0最多可以传输480MB,但您的闪存驱动器可能仅限于约20MB。这意味着,当您从硬盘驱动器传输几个文件时,它将最大程度地提高闪存驱动器的写入速度,并且每个文件的写入速度都会变慢,因为它们必须共享。

另外,通过同时写入多个文件,会增加碎片,因为除非在传输开始后立即完全分配文件空间,否则文件最终会在传输文件时被分成大块。

(幸运的是,由于闪存驱动器是固态驱动器,因此没有头需要像将多个文件传输到硬盘一样来回移动。)

同时写入多个文件的另一个缺点是,文件复制对话框仅指示该单个文件的进度和剩余时间,并且由于它不是线性的,因此几乎无法估计总时间(您不能简单地添加他们)。将它们一起转移将为您提供整个转移的更准确的反馈。

如果源文件来自不同的源(您是指不同的硬盘驱动器,CD / DVD,网络驱动器还是文件夹?),那么您可以使用的是专用的文件复制工具,而不是Windows的内置文件复制工具。在功能上。某些选项包括Microsoft TechNet工具Robocopy(也具有GUI前端),RichCopy(也来自TecNet),它是基于Robocopy的增强工具,而Teracopy则专门致力于使传输尽可能高效(并且具有免费版本)。


0

可以,因为OP明确表示他是通过USB 2.0将它们复制到一个目标的,无论来源如何,我都必须一次说一个目标。

S =串行。多个文件流=开销。

但是实际上

从多个来源进行复制时,由于不必手动建立复制“队列”,浪费在多个流上的时间将远远超过弥补。而且更容易。;)

另外,如果您要复制多个流,但其中一个失败,则其余部分可能会完成。


0

通过单独加载它们节省的电子处理时间必须是可观的,以弥补似乎在等待每个文件完成加载然后单独移动下一个文件的物理行为之间的时间损失。


在撰写新答案之前,请先阅读其他答案
yass
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.