Linux
經常訪問的文件和 I/O 使用情況
我很好奇,從性能的角度來看,將所有文件儲存在一個目錄中與將每個文件儲存在一個單獨的目錄中是否有優勢?我不關心組織。
此外,這是假設文件會經常被訪問——所以 I/O 使用率會很高。不涉及目錄列表,文件將通過絕對路徑拉取。
系統環境為Linux,CentOS 5.3。
路徑解析度與目錄中的文件數量成比例(儘管不是線性的)。即使對於解析絕對路徑也是如此,因為文件系統仍然需要掃描每個目錄塊中的文件名來解析路徑。不同的文件系統具有不同的解析度特徵,但一般來說,您會開始注意到大約 10,000 個文件的性能下降。
除非這些目錄位於不同的磁碟或 RAID 上,否則無論它們是否都在一個目錄中,您都不會看到明顯的差異。每個磁碟的 I/O 操作都放在一個隊列中。如果它們在不同的 RAID 上,那麼您將看到您正在尋找的明顯優勢。