Linux
如何用大量文件對 XFS 的性能進行基準測試?
我有一個伺服器執行一些程式碼,這些程式碼在一個目錄中創建了數百萬個小文件。起初,程式碼執行得非常快。大約一天后,它開始放緩很多。我試圖弄清楚這是否是程式碼問題,或者這是否是目錄中文件數量的問題。
如果文件不存在,程式碼本身會創建一個文件,然後打開該文件並向其中寫入一行。如果該文件確實存在,它將打開該文件並在其上附加一行。
話雖如此,我一直在對我的程式碼進行基準測試並根據需要進行更改,但我也想對 XFS 進行基準測試,看看這是否是瓶頸。我的問題是,我如何對 XFS 的讀/寫性能進行基準測試?
從您的應用程序開始,了解它的性能。
- 將檢測添加到您的程式碼中,以便您可以測量任務需要多長時間。
- 監控主機作業系統指標,例如 CPU 和儲存 IOPS。
- 具有動態跟踪的文件系統和塊設備響應時間,例如
xfsslower
和bioslower
- 使用類似工具擷取配置文件,
perf record
這樣您就可以通過火焰圖視覺化查看 CPU 上的熱點。嘗試使用核心和使用者程序的調試符號。一個目錄中的數百萬個文件通常不是一個好主意。即使它受支持,您也會獲得需要很長時間才能列出的巨大目錄元數據。考慮您的應用程序創建一個目錄結構,將每個目錄的文件限制為幾千個。