关于ext4文件系统上有大量文件的测试和性能的几个问题

时间:2015-12-10 15:27:20

标签: c++ linux filesystems inode ext4

filesystem :ext4(rw,natime,nodiratime,delalloc,ordered)

场合:      我有一台数据服务器,上面可能有10个或更多的磁盘,每个磁盘可以节省超过4百万个文件。在以前版本的数据服务器中,这些文件是 在同一目录下。为了关注性能,我添加了一个新功能 在下一个版本中将这些文件放入 1000 哈希目录。

简单地提出我的问题,让我们说一下名为' WorkingDir '的原始目录, WorkingDir下的新哈希目录称为“ HashedDir '

我的问题如下:

  • 由于WorkingDir下文件的大量删除和创建,WorkingDir可能非常大(因为ext4不会回收那些已删除的节点)。对于这个问题,甚至文件都在HashedDir下,在HashedDir中的RECURSIVE LIST WorkingDir或ACCESS文件或其他一些操作中是否有任何性能损失?
  • 如何对这2个版本之间的性能变化进行基准测试,因为服务器没有特定的访问模式?我该如何测试?我应该关注开放Qps或开放时间分布还是其他一些事情?
  • 有没有办法在大目录下回收那些已删除文件的inode?

以下是我的一些想法:

  • 递归列表WorkingDir在2个版本之间可能没有变化。但是当使用HashedDir时文件访问延迟会减少,即使WorkingDir非常大,有很多已删除的inode
  • 我应该关注打开的文件时间分布,因为影响性能的最重要的事情是dentry cache missing missing。

我是对的吗?还有什么我需要关注的吗?

抱歉我的游泳池英语。谢谢大家。

0 个答案:

没有答案