我有以下设置:
1 个 SSD 磁盘
2 个 HDD 磁盘(RAID 1
Win10),8GB RAM
当我将 1GB 文件从 HDD 复制到 USB 时,速度为 将8MB/s
同一文件从 HDD 复制到 SSD 时,速度为 将20MB/s
同一文件从 SSD 复制到 USB 时,速度为40MB/s
(通过 Windows 资源管理器的复制窗口测量,平均结果没有特定峰值,可重复而无偏差)。
这怎么可能?
--
编辑:
我既理解又不理解这些反对意见 :)
我知道 SSD 比 HDD 快,等等。但让我感到疑惑的是:显然 USB 可以写入40MB/s
,HDD 可以读取20MB/s
,那么为什么 HDD 只能向 USB 写入8MB/s
呢?
答案1
假设您的测量结果代表真实的数据传输速度(不包括缓存和多任务处理工件),一个可能的解释是您的 USB 控制器和 RAID 控制器都位于它们共享的同一总线(例如 PCI-X)上,因此它们不能同时以 100% 的速度运行。
答案2
由于 Windows 的工作方式,您的措施可能是错误的。
有两个因素您可能没有考虑到:
Windows 缓存:Windows 有一个动态缓存,通常至少扩展到 RAM 的一半,用于保存读入内存的文件或程序。除非新文件需要空间,否则文件永远不会从缓存中清除。第二次访问文件非常快,因为它已经在内存中。例如,如果您的计算机有 2GB 的 RAM,那么 1GB 的文件可能完全可以放入 RAM 中。
Windows 复制操作可能已完成,但并非所有数据都一定会刷新到目标介质。要写入的数据可能仍驻留在缓存中,Windows 会自行将其刷新。
对于能够产生真实结果的真实测试,我建议:
使用更大的文件,例如 1GB 文件的多个副本。其大小应至少为 RAM 的 3-4 倍。
测量从复制开始到磁盘指示灯停止疯狂闪烁的时间。这不太精确,但总比没有好。或者你可以让复制的文件更大,这样缓存中留下的最后一部分就不重要了。
每次测试前重新启动并等待所有启动操作终止,以始终测试已知且相同的配置。
答案3
我认为这是因为你正在复制“同一个文件”。尝试生成相同大小的不同文件,然后重试。我确信你正在经历操作系统或控制器的缓存优化。
如果您对相同大小的不同文件遇到相同的行为,那将会很有趣。
您可以使用以下方式生成具有不可压缩内容的随机文件虚拟文件创建器来测试一下。
答案4
这是一个合理的问题。我正在将 SDD 复制到 USB,将 HDD 复制到 USB,将 USB 复制到 USB,但速度很慢。使用 linux pv < /dev/sdb > /dev/sdd 81.1GiB 4:59:40 [11.5MiB/s] [======> ] 69% ETA 2:13:20。但使用 DD linux 117GiB 1:28:51 [23.6MiB/s] 将 USB 复制到硬盘更快,我花了大约一个半小时。比复制到另一个 USB 快两倍多一点。
我还发现,这还取决于所用的总线 2.0 还是 3.0,以及 USB 的品牌。2.0 端口上的廉价 USB 将降至 5MiB/s,而更昂贵的 USB 品牌,在将 USB 复制到 USB 时,速度可高达 10 到 12MiB/s。
结论:取决于几个因素,PC 总线、端口版本、USB 品牌以及所有这些因素的组合。如果将磁盘映像复制到 HD 文件夹,然后尝试复制到 USB,情况可能会变得更糟。我认为这是由于内部总线传输。在我的计算机上,USB 到 USB 的速度更快。这是我的报告。最好的方法是使用不同的 PC 进行测试,然后在运行速度更快的 PC 上进行复制。
回答:是的,从 SSD 到 USB 更快,从 USB 复制到 HDD 或 SSD 也更快。反过来真的很慢。USB 写入速度很慢。
仅供参考:我为活动复制了 100 多个 USB 盘,因此我能够复制精确的测试。啊,忘了说了,还使用了 WIN10 和 RUFUS,写入速度最高只有 5.5MiB/s,所以没有任何改进。