性能:大量图像与Web服务器中的大量目录

时间:2015-07-11 09:52:40

标签: php linux image performance server

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

  1. 将所有配置文件的所有图像都放在一个文件夹中(单个文件夹有10,000个图像)

  2. 为所有配置文件分别创建10个图像的目录(1,000个文件夹各有10个图像。)

  3. 那么在运行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 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

在查看了许多基准测试之后(尝试谷歌,有许多基于不同的场景),我发现以下内容对于非常拥挤的文件夹中的大多数情况都有效:

  1. 添加新文件/文件夹通常很慢
  2. 删除文件/文件夹通常很慢
  3. 检索文件夹列表肯定很慢
  4. 按名称访问特定文件没有太多基准。
  5. 实际结果可能会根据文件系统,硬件,文件系统参数等改变,但上面的列表应该为您提供线索:

    至少对于维护,聪明人应该遵循多文件夹结构。