我正在編寫一個應用程序,需要存儲大量文件大約1000萬。在Linux中存儲和訪問多達1000萬個文件
它們目前以UUID命名,每個大小約爲4MB,但大小始終相同。從這些文件讀取和寫入將始終是順序的。
兩個主要問題,我尋求答案爲:
1)文件系統將是最適合這個。 XFS或ext4? 2)是否有必要將文件存儲在子目錄下,以減少單個目錄中文件的數量?
對於問題2,我注意到人們試圖發現XFS可以存儲在單個目錄中的文件數量限制,但沒有發現超過數百萬的限制。他們注意到沒有性能問題。那麼在ext4下呢?
搜索人員做類似的事情時,有人建議將索引節點編號存儲爲文件的鏈接,而不是文件名以獲得性能(這是在我正在使用的數據庫索引中)。但是,我沒有看到一個可用的API來通過inode編號打開文件。這似乎更多的是改善ext3下的性能的建議,我不打算按照這種方式使用它。
什麼是ext4和XFS限制?從一個開始就有什麼性能優勢,並且您可以看到在我的情況下使用ext4超過XFS的原因?
參見例如http://lwn.net/Articles/400629/ – nos