在 Windows 上将大量小文件存储到较大的文件中

在 Windows 上将大量小文件存储到较大的文件中

假设我有 50 GiB 的文件,每个文件重约 500 KiB。

我猜想,例如,如果存档 5 ​​个大文件,每个文件大小为 10 GiB,内容相同,硬盘性能会更好。我说得对吗?

NTFS 文件系统会带来明显的收益吗?

=====================================================================

最后,我可以使用哪种工具将文件分组在一起,同时保留修改存档内容的能力,且性能损失为零或很小?例如,我喜欢 TrueCrypt 存档,因为在安装存档文件后,它会创建一个驱动器,我可以像使用普通驱动器一样无缝使用它。TrueCrypt 的唯一优点是我不需要加密/压缩,只需要存档。

答案1

在 Windows 7 中,您可以将 .VHD 安装为驱动器。这是虚拟机和 Windows 备份使用的虚拟硬盘格式(仅适用于 Windows 客户端上的 Complete PC 备份,以及 Windows Server 上的所有备份)。无压缩或加密。日常使用期间的性能下降很小。毕竟,人们以这种方式运行整个虚拟机。

NTFS 元数据和磁盘寻道会导致小文件产生大量开销。例如,将 10,000 个小于 10 KB 的文件复制到 USB 硬盘驱动器的速度约为每秒 300 个文件。也就是说,复制单个文件需要 30 秒,而复制一个块则需要 10 秒。(对于内置驱动器或 eSATA 驱动器,这种差异更加明显,因为块吞吐率更高。SSD 的随机访问能力非常出色,因此无论哪种方式可能都无关紧要。)

但 500 KB 文件足够大,影响可能有限。您必须对其进行基准测试才能知道。

答案2

合并文件

我认为,如果您通常读取所有数据、按顺序读取并且大文件相对不碎片化,则单个大文件的性能会更好。

TrueCrypt

使用任何类型的压缩或加密都将更糟糕提高硬盘性能。

更新:

根据对这个问题“性能会有所下降,尽管只是轻微的。”答案指的是Tom 的硬件文章意思是

基准测试显示性能各不相同,并且高度依赖于处理器,其次是您要加密的驱动器:AES 和 Twofish 在我们的 Core 2 Duo 笔记本电脑 Dell Latitude D610 上提供最高吞吐量。一旦您开始组合多种加密算法(例如 Twofish 和 Serpent),性能就会大幅下降。虽然在使用 Windows 和流行应用程序时这种情况并不明显,但增加系统负载(例如在繁重的多任务处理期间或承担视频转码等密集工作负载时)将大大降低系统性能。

维基百科文章

当以“合理方式”使用流行的桌面应用程序,并且只使用一种加密算法时,TrueCrypt 对桌面应用程序的性能影响通常并不明显,尽管这取决于应用程序,而高级用户可能会抱怨。使用快速的多核处理器和快速的系统驱动器(最好是 Flash SSD),可以使 TrueCrypt 几乎透明

我不知道有任何证据表明 Truecrypt 会显著“改善硬盘性能”。

相关内容