繁体   English   中英

ext4和NTFS的性能比较

[英]Comparing performance of ext4 and NTFS

我正在使用ext4和NTFS(分别在RHEL和Windows 7上)的C作为类项目的一部分进行基准测试。

我正在尝试进行基准测试,但是对于应该做什么以及我在想什么有意义(我的教授已经缺课2周,而且班上没有助教),我感到非常困惑。 以下是带有粗体字问题的详细信息:

  • 比较顺序读取速度:我计划有几个不同大小的文件,并对这些文件执行顺序读取,每次读取的大小为一个块(两个文件系统上均为4K)。 我应该在不同大小的文件还是在同一文件上执行此操作? 另外,读取块大小的倍数是否有意义? 当然,对于超出第一次缓存的读取将起作用。

  • 比较随机读取速度:以不同的文件偏移量运行读取(再次为块大小)。 同样,与上述问题相同。

  • 比较写入速度:禁用两者的写入缓存,并以块大小写入。

我主要关心的是关于我运行测试的文件的大小以及用于每个操作(读/写)的大小。

关于我可以在实验中包括的内容以及对我的方法所需的任何其他更改的任何其他指示,将不胜感激。

我还计划比较元数据操作,但是我正在努力进行这些操作,如果需要,稍后可能会发布一个问题。

作为文件系统的基准,它们将无效。 变量太多。 假设您将使用相同的硬件,则您的变量是...

  • 文件系统(ext4与NTFS)
  • 操作系统(Redhat与Windows)
  • C编译器(gcc / clang与Visual C ++(我猜))

您正在对Redhat +他们的C编译器+ ext4Windows +他们的编译器+ NTFS进行基准测试。 仅从组合方面不能得出有关文件系统的一般说明 您可能需要指出家庭作业中的这一缺陷,以获取更多要点,否则可能会使TA烦恼。 您的来电。

Redhat确实具有NTFS实现,因此您可以通过对Redhat上的所有程序进行基准测试来消除变量,但是随后您将对Redhat的NTFS实现与Redhat的ext4实现进行基准测试。 这与Windows的NTFS实现无关。

您有可能进行额外的测试以消除编译器和操作系统变量,但我不知道它们是什么。


撇开这些,因为这是家庭作业,您会询问要运行哪种方案。 答案是所有人 基准应该反映现实世界的使用情况,并且在现实世界中,您读写大小不同和缓存状态不同的文件。 将它们放在一个大矩阵中并运行所有组合。

通常,文件大小范围应从块大小一直到最大4个演出(模拟视频文件)。 增量越大越好。 1024的幂将是一个不错的开始,三个幂则曲线。 所以是4K,4M,4G。

您应该在启用和不启用缓存的情况下进行基准测试,以测试在读取未缓存的文件和读取缓存的文件时文件系统的运行状况。 两者都代表现实情况。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM