Files

上傳、儲存和瀏覽數百萬個小文件 - 最佳實踐

  • March 11, 2022

我正在處理一個每天生成數千個小文件的應用程序。然後,這些文件應該上傳到 NAS 並從 Windows 機器的網路共享中瀏覽。

雖然該過程在技術上有效,但上傳和瀏覽文件都非常非常慢 - 從 Windows 機器上,瀏覽速度太慢而沒有挫敗感。

這些文件的大小非常小——數以百萬計的文件大小遠低於 100MB。

我已經想到了幾種可能的選擇來解決這個問題:

  • 壓縮文件gz(嘗試,沒有顯著幫助)
  • .tar根據年齡將文件收集到幾個檔案中(這會將它們分成大約 10 個檔案)
  • 使用 ZFS 將它們上傳到不同的 NAS(目前沒有)。

執行此應用程序的伺服器在 XFS 上執行,我無法重新格式化它以使用其他任何東西。

雖然我不確定這些是否會有所幫助,但根據您的經驗,我很好奇處理這種情況的最佳方法是什麼。

處理許多小文件時有哪些最佳實踐?

任何回饋表示讚賞。

謝謝!

更新:謝謝大家的建議。我將文件分組到 tar 存檔並用 NFS 替換共享,現在事情變得更加順利。謝謝!

不要將所有文件儲存在一個目錄中。無論您使用哪個文件系統,瀏覽都會非常非常慢。創建子目錄或可能的兩個或三個級別的子目錄。這取決於對您的特定情況有意義的內容。

引用自:https://unix.stackexchange.com/questions/693899