Web-Server
一個目錄中有 50,000 個文件,我最好的選擇是什麼?
我被迫有這個目錄結構 /var/www/ $ WEBSITE/ $ 目錄1 / $ DIR2/ $ 文件
對於每個 $FILES,大約有 50,000 個 XHTML 頁面。
我正在執行 Cherokee,它具有新的前端記憶體支持。但是我的記憶體有點有限,所以我無法記憶體整個內容。我相信我可以只記憶體列表,這是最糟糕的部分。
我可以在文件系統方面做什麼?我通常使用 ext4(我的伺服器使用的是 ext3),但我知道 ReiserFS 更適合這種情況。我可以在 ReiserFS 中掛載那個 $WEBSITE。我真的不期待重新分區,並且很想解決這個問題。
我可以在文件系統的某個地方做一個交錯的子目錄,然後將它們全部符號連結到 $DIR2 嗎?這是否有助於讓這種令人討厭的情況表現得更好,減少 ext3 帶來的痛苦?
我真的不想要任何 RDB,我會考慮一個 NOSQL 選項如果我能以某種方式從中創建一個人造文件系統。那將是一個很酷的選擇,只是不確定它是否存在。可能存在與 FUSE 相關的東西嗎?
整個站點已經存在,它基本上只是一個花哨的目錄列表。文件被寫入一次,然後從那裡讀取。從這一點開始,每個目錄的文件數不可能增加。
50,000 個文件不足以在 Linux 上引起嚴重的速度問題。您提到記憶體列表,所以我認為您正在對文件進行某種處理而不是普通服務。我會尋找有關您如何處理文件的問題。
我推薦 XFS,但可能有一個例外:如果您經常需要從該目錄樹中刪除大量文件,那麼 XFS 中的刪除性能並不出色。不過,這已經通過新的延遲日誌掛載參數得到了一些改進。
除此之外,XFS 甚至不會在目錄中包含 50 000 個文件。