2015-07-11 43 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. 訪問某個名字的文件沒有什麼太大的標杆。

實際結果可能會更改基於文件系統,硬件,文件系統參數等,但上面的列表應該給你一個線索:

至少進行維護,一個聰明的人應該遵循一個多文件夾結構。