我正在通过USB 2.0将一堆(20+)个大(1GB +)的文件传输到我的外部闪存驱动器。一次将它们全部吊起来(一次一次但不等待上一个传输完成)是否更快,以便正在进行多个传输,或者传输一个,等待它完成,然后传输下一个。这些文件来自不同的位置,因此我无法进行一次大传输。
一种或另一种方式是否还有其他值得考虑的优势?
我正在通过USB 2.0将一堆(20+)个大(1GB +)的文件传输到我的外部闪存驱动器。一次将它们全部吊起来(一次一次但不等待上一个传输完成)是否更快,以便正在进行多个传输,或者传输一个,等待它完成,然后传输下一个。这些文件来自不同的位置,因此我无法进行一次大传输。
一种或另一种方式是否还有其他值得考虑的优势?
Answers:
如果它们全部来自不同的物理磁盘,但被写入固态驱动器(闪存,SSD),则可以同时复制它们。
物理磁头的移动(等待时间)会减慢从旋转的磁盘盘的传输。如果要从单个HDD复制,则将开始一个大传输而不是很多小传输。在两个或多个要复制的文件之间来回移动会降低传输速度。当然,如果HDD碎片太多,即使复制单个文件,也会获得相同的效果。
如果它在固态驱动器之间,那么没关系。
如果您不想等待每次传输完成,请使用Teracopy之类的复制队列应用程序。
当然,闪存驱动器的写入速度将成为此处的瓶颈,因此采用哪种方式可能并不重要。:)
如果目标磁盘是SSD,则请记住,对于此处所关心的问题,SSD 速度很快。(*)
如果目的地速度较慢(从写入速率不太高的闪存到SATA3 HDD到磁带,再到磁带),则应将传输排队一次,一次。
您的瓶颈肯定会在目标磁盘上
在当今,建议使用HDD,因为即使一个圆柱体中有多个磁头,也不允许它们同时读取或写入(由于我们可能会遇到随机数据,因此在现实世界中未显示任何性能影响)。其中一个磁头在大多数情况下不允许我们在该磁头中读/写,并且如果磁头未完全居中,则可能导致磁盘损坏)。
常识(以及数学也是如此!)说,如果我们有非常多的源,但是我们可以并行传输文件,则寻头(尽管在很多情况下)可能比任务的序列化要快。
(*)如nnewton所述,因为没有头部运动。但是我们不应该使用延迟一词:延迟是磁头移动+磁盘旋转延迟+读取时间,而在SSD中,它只是随机读取时间,并不像磁盘驱动器那样依赖于先前的读取位置
最好一次写入一个文件。
您可能会发现闪存驱动器的带宽很容易饱和。(源驱动器不太可能成为瓶颈。)虽然USB 2.0最多可以传输480MB,但您的闪存驱动器可能仅限于约20MB。这意味着,当您从硬盘驱动器传输几个文件时,它将最大程度地提高闪存驱动器的写入速度,并且每个文件的写入速度都会变慢,因为它们必须共享。
另外,通过同时写入多个文件,会增加碎片,因为除非在传输开始后立即完全分配文件空间,否则文件最终会在传输文件时被分成大块。
(幸运的是,由于闪存驱动器是固态驱动器,因此没有头需要像将多个文件传输到硬盘一样来回移动。)
同时写入多个文件的另一个缺点是,文件复制对话框仅指示该单个文件的进度和剩余时间,并且由于它不是线性的,因此几乎无法估计总时间(您不能简单地添加他们)。将它们一起转移将为您提供整个转移的更准确的反馈。
如果源文件来自不同的源(您是指不同的硬盘驱动器,CD / DVD,网络驱动器还是文件夹?),那么您可以使用的是专用的文件复制工具,而不是Windows的内置文件复制工具。在功能上。某些选项包括Microsoft TechNet工具Robocopy(也具有GUI前端),RichCopy(也来自TecNet),它是基于Robocopy的增强工具,而Teracopy则专门致力于使传输尽可能高效(并且具有免费版本)。