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? li>
以下是我的一些想法:
- 递归列表WorkingDir在2个版本之间可能没有变化。但是当使用HashedDir时文件访问延迟会减少,即使WorkingDir非常大,有很多已删除的inode
- 我应该关注打开的文件时间分布,因为影响性能的最重要的事情是dentry cache missing missing。
我是对的吗?还有什么我需要关注的吗?
抱歉我的游泳池英语。谢谢大家。