很多目录对性能不利?

时间:2014-05-09 04:11:28

标签: performance

我听说单个文件夹中的图像太多会导致性能问题,但是很多目录会产生性能问题吗?我正在运行一个网站,为每个上传的图片创建一个文件夹。在路上,我预计会上传100万到几百万张照片,这意味着1-3百万个文件夹。在每个文件夹中,6个图像以各种尺寸存储。

如果这有问题,一个想法是每张专辑有一个文件夹,平均可以存储30-90个文字图像(大小强制数字乘以6)。这只是一个想法,我真正想做的是使用图像存储的最佳实践。

所以我的两个存储选项是:

site / images / folder-id / id-size-file-name.jpg(每个专辑的单个文件夹)

site / images / folder-id / photo-id / size-file-name.jpg(每张图片一个文件夹)

对文件夹性能的任何见解都会受到赞赏。

1 个答案:

答案 0 :(得分:1)

文件系统的性能往往会随着目录中的条目数而降低,无论是文件,目录,符号链接还是其他类型的条目。这是存储条目的大多数方法所固有的;文件系统必须以某种方式搜索它,尽管所使用的搜索算法可能具有O(log n)时间。

处理此问题(通常由MediaWiki使用)的常用方法是使用某种统一分布的标识符(通常是加密哈希)并将图像存储在基于哈希前缀的某种结构中。例如,如果图片的哈希值为0123456789abcdef,则可能会将图片存储在01/0123/image.jpg中。当然,您可以调整它,以便每个级别中有多于或少于256个条目,或者添加更多级别或进行其他调整。