2015-07-11 41 views
1

因此,我正在为一家公司开发这个网站,它可能有约1,000-5,000个配置文件(供应商和用户),所以我必须存储约10图片每个供应商在网站的服务器上的目录(这将使用PHP检索),所以我想知道哪个将是一个更好的表现方式来做到这一点。我有2种选择:性能:大量的图像与大量的目录在网络服务器

  1. 拥有所有单个文件夹中的所有配置文件的图像(有说10,000张单个文件夹)

  2. 对具有每10张图像的所有配置单独的目录(1000每个文件夹有10个图像。)

那么在运行linux的服务器上,网站的性能应该更好?我知道在这样的规模下,可能无关紧要,但可能会扩大,比这更多的配置文件,我使用的服务器非常慢(您可以看到包含额外功能后对性能的影响PHP文件)。

我会使用类似:

<?php 
    for ($i = 1; file_exists("img/vendors/vendor_id_".$i.".jpg"); $i++) 
    { 
     echo "<img src=\"img/vendors/vendor_id_".$i.".jpg\">"; 
    } 
?> 

<?php 
    for ($i = 1; file_exists("img/vendors/vendor_id/".$i.".jpg"); $i++) 
    { 
     echo "<img src=\"img/vendors/vendor_id/".$i.".jpg\">"; 
    } 
?> 

感谢。

回答

2

最好将它们存储在单独的文件夹中,但我相信这是premature optimization。为了简单起见,我建议将它们放到一个文件夹中,如果以后出现性能问题,则可以迁移文件夹。目前,处理所有文件夹会使其慢于分离的性能收益。

0

寻找许多基准测试后(尝试谷歌,还有很多基于不同的情景),我发现了以下适用于在一个非常拥挤的文件夹,大多数情况下:

  1. 添加新的文件/文件夹,通常是慢
  2. 删除一个文件/文件夹通常是缓慢
  3. 检索文件夹列表,绝对是慢
  4. 访问某个名字的文件没有什么太大的标杆。

实际结果可能会更改基于文件系统,硬件,文件系统参数等,但上面的列表应该给你一个线索:

至少进行维护,一个聪明的人应该遵循一个多文件夹结构。