大文件夹大小是否会降低IO性能?

我们有一个Linux服务器进程,将几千个文件写入目录,删除这些文件,然后将数千个文件写入同一目录而不删除目录。 我开始看到写作过程越来越慢。

我的问题是:该文件夹的目录大小已经从4096增长到超过200000,由这个输出的ls -l。

root @ ad57rs0b#ls -l 15000PN5AIA3I6_B共计232 drwxr-xr-x 2厨师厨师233472 May 30 21:35条形码

ext3上,这些大的目录大小是否会降低性能?

谢谢。

亚伦

是的,大的目录大小可能是一个问题。 通常最好通过将文件散列到子目录来避免它们。 如果这不是一个选项,有一个ext3function可以显着提高大型目录中的查找性能:

tune2fs -O dir_index /dev/$DEVICE e2fsck -D /dev/$DEVICE 

这使目录索引数据的B树散列,显着提高查找时间。 当然,你的安装可能已经启用了。 您可以通过运行此命令并在输出中查找dir_index来检查:

 tune2fs -l /dev/$DEVICE | grep 'features:' 

编辑:另外,你可能要考虑设置noatime作为一个安装选项。 这不是一个大型目录的具体调整,但可以提供大量的文件系统活动发生时性能的显着改善。