一个目录中的最大文件数?

时间:2012-06-05 13:25:12

标签: performance file filesystems operating-system

一个目录(在任何主机中)的文件数量是否有限制?
如果我有一个30k(命名为1到3ok)文件的目录和另一个只有10的文件,那么获取特定文件的性能有很大差异吗?
thanx

2 个答案:

答案 0 :(得分:3)

取决于您的文件系统类型。关于这个问题的答案将在您当前的文件系统类型规范中找到。

Archlinux Wiki perfomance optimizing page

  

要点:

  • XFS:大文件的出色表现。低速文件小文件。 / home的不错选择。 -Reiserfs:小文件的出色性能。 / var。
  • 的不错选择
  • Ext3:平均表现,可靠。
  • Ext4:整体性能出色,可靠,与sqlite和其他一些数据库存在性能问题。
  • JFS:整体性能良好,CPU使用率极低,断电后恢复极快。
  • Btrfs:可能是最好的整体性能(带压缩)和许多功能。仍在大力发展并得到全力支持,但被视为不稳定。除非您知道自己在做什么并为潜在的数据丢失做好准备,否则请不要使用此文件系统。

fsck time vs Inode Count

答案 1 :(得分:2)

我想说文件的最大数量是特定于操作系统和特定于文件系统的。但是,在访问文件时,在一个目录中拥有大量的ob文件会严重影响您的性能。

我不能为任何特定的操作系统提供任何数字,但如果您遇到性能问题,可能是一个解决方案:

在mediawiki软件(即运行软件维基百科)中,他们使用子目录来解决这个问题。这是他们存储媒体文件的方式:

  1. md5-hash文件名
  2. 将md5hash的第一个数字作为文件dir的子目录
  3. 将md5hash的前2位数字作为子目录的名称添加到该子目录
  4. 将文件存储在那里
  5. 这样他们只能通过名称找到文件,但不需要依靠好的os / fs来处理数以万亿的文件。结果是这样的:

    http://upload.wikimedia.org/wikipedia/commons/7/74/Flag_of_Hamburg.svgFlag_of_Hamburg.svg

    的路径