实现硬盘的最大写入速度

实现硬盘的最大写入速度

我有 i5 第 6 代处理器、8GB RAM、4TB 辅助硬盘和 500GB 主硬盘。4TB 硬盘采用 ntfs 格式化。我的目标是在磁盘上写入大量文件。磁盘是 SATA 7200RPM,必须在相同的写入文件上测试压缩算法。将写入磁盘的文件如果使用 zlib 压缩的较小尺寸,范围将在 12-20KB 左右。我编写了一个 bash 脚本来制作 500000 份相同的副本用于测试目的,但发现每秒在该目录中写入 7-8 个文件,速度为 100kB/s,而提到的速度要高得多。我想要达到每秒 100 个文件的速度。我不知道该怎么做。请建议我实现最高的写入速度。

答案1

瓶颈在于文件系统,而不是磁盘。文件系统(及其实现)在文件操作(创建/删除/等)上的扩展性差异很大,具体取决于实现和设计。您可能已经通过按顺序写入单个文件而不是将相同数量的数据写入需要大量文件系统操作(打开/创建)的不同文件来显著提高吞吐量。

如果您必须执行大量文件操作,则需要选择一个在 Linux 上比 NTFS 扩展性更好的文件系统。XFS 或 EXT4 是性能良好的可靠选择。

有很多基准比较指出相同点的性能差异。

答案2

如果您写入小文件,则主要测试文件系统打开/关闭文件的速度(可能还有一些磁头移动延迟)。而且,在 Linux 上使用 NTFS 时,您使用的并不是性能最佳的文件系统。如果您想测试算法的速度,请使用本机文件系统(ext4...)和大文件。然后,如果您在 NTFS 上得到较慢的结果,您就会知道它们来自哪里。

相关内容