Performance

開發人員建構最快的文件系統是什麼?

  • August 23, 2013

我正在組裝一個 Linux 機器,它將充當持續集成建構伺服器;我們將主要建構 Java 的東西,但我認為這個問題適用於任何編譯語言。

我應該使用哪些文件系統和配置設置?(例如,我知道我不需要時間!)建構伺服器將花費大量時間讀寫小文件,並掃描目錄以查看哪些文件已被修改。

更新:在這種情況下,數據完整性是一個低優先級;它只是一台建構機器……最終的工件將被壓縮並存檔在其他地方。如果建構機器上的文件系統損壞並失去所有數據,我們可以擦除並重新映像;建構將像以前一樣繼續執行。

使用 ext4fs 作為基本文件系統,並帶有一些加速選項,例如

noatime,data=writeback,nobh,barrier=0,commit=300

然後聯合在其上安裝一個 tmpfs ramdisk,以便在建構期間寫入的文件獲得 ramdisk 的好處。更改建構過程以在建構結束時將生成的二進製文件從 tmpfs 中移出,或者在解除安裝之前將 tmpfs 合併回 ext4fs。

最快的文件系統?tmpfs 已安裝在可用 RAM 之外,並noatime設置了。

僅當您有一個檢查建構原始碼樹所需的所有內容的過程(因為重新啟動時 tmpfs 文件系統的內容將消失)並且源和對象適合您可用 RAM 的合理角落時,這才是可行的(有足夠的剩餘來執行你的編譯器和連結器而無需交換)。那就是說你不能為了速度而打敗RAM。

引用自:https://serverfault.com/questions/230925