1

一个目录(在任何主机中)中的文件数量是否有任何限制?
如果我有一个包含 30k(命名为 1 到 3ok)文件的目录,而另一个只有 10 个文件的目录在获取特定文件的性能上是否存在重大差异?
谢谢

4

2 回答 2

3

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

Archlinux Wiki性能优化页面

概括:

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

fsck 时间与 Inode 计数

于 2012-06-05T13:29:53.697 回答
2

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

我无法为您提供任何特定 os/fs 的任何数字,但如果您遇到性能问题,也许可以提供解决方案:

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

  1. md5-hash 文件名
  2. 将 md5hash 的第一个数字作为文件 dir 的子目录
  3. 将 md5hash 的前 2 位数字作为该子目录的子目录的名称
  4. 将文件存储在那里

这样他们就可以仅通过名称找到文件,但不需要依赖一个好的 os/fs 来获取大量文件。结果是这样的:

http://upload.wikimedia.org/wikipedia/commons/7/74/Flag_of_Hamburg.svg是路径Flag_of_Hamburg.svg

于 2012-06-05T13:34:21.493 回答