【问题标题】:Does a large number of directories negatively impact performance?大量目录是否会对性能产生负面影响?
【发布时间】:2012-06-02 20:53:32
【问题描述】:

我打算使用文件来存储数据,作为 PHP 生成文件的一种缓存,以避免每次加载时都必须重新生成它们(它们的内容每天只更改一次)。

我过去注意到的一件事是,如果一个目录中有大量文件,达到数千个,FTP 程序将需要很长时间才能加载其内容,有时甚至会导致正在尝试的计算机崩溃加载它们。所以我正在研究一个基于树的系统,其中每个文件都根据其 ID 存储在一个子文件夹中。例如,ID 为 123456 的文件将存储为 12/34/56.html。这样,每个文件夹最多可以有 100 个项目(除非有数百万个文件,但这种情况极不可能发生)。

这是个好主意,是大材小用,还是没必要?这个问题基本上归结为:“组织大量文件的最佳方式是什么?”

【问题讨论】:

    标签: file directory directory-structure


    【解决方案1】:

    1) 答案取决于

    • 操作系统(例如 Linux 与 Windows)和

    • 文件系统(例如 ext3 与 NTFS)。

    2) 请记住,当您随意创建一个新的子目录时,您会使用更多的 inode

    3) Linux 通常比 Windows 更好地处理“许多文件/目录”

    4) 几个附加链接(假设您使用的是 Linux):

    【讨论】:

    • 嗯,我在 Windows 机器上开发,但网站本身在 Linux 上运行。我经常将服务器的文件备份到我的计算机上,所以无论我采用什么解决方案都必须是多平台的。我想主要问题是 inode,因为我对这些一无所知!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-01
    • 2011-06-11
    • 1970-01-01
    • 2011-03-15
    • 1970-01-01
    • 2017-06-12
    相关资源
    最近更新 更多