本文將為您詳細介紹在唯讀情境中,如何藉助參數選項有效提升ossfs的讀取效能。
以下內容適用於ossfs 1.91.3及以上版本。最新版ossfs的下載安裝,請參見安裝ossfs。
模式策略
ossfs提供了三種適用於不同情境下的模式策略。
預設模式
適合小檔案(指page cache能夠快取檔案)和大檔案隨機唯讀情境。如:AI 訓練中大量原始圖片素材檔案。使用純直讀模式,即使開啟了部分亂序仍然讀取效能很差時,建議嘗試使用預設模式。
ossfs讀檔案時,核心會緩衝一份ossfs掛載點檔案的資料在記憶體中,另外ossfs會將資料寫在磁碟快取檔案上,因此記憶體還有一份快取檔案的資料,即一個檔案會在記憶體中有雙倍緩衝。
如果您的作業系統page cache最多緩衝6 GB的髒資料,那麼理論上預設模式適合大小為3 GB以下的檔案讀。
您可以設定
parallel_count參數調節下載資料的並發數量,設定multipart_size參數調節單個任務下載資料量。
純直讀模式
適合順序唯讀大檔案的情境,支援一定亂序(如跳躍範圍為少量chunk)。如:AI推理載入大型safetensors模型檔案。
您需要開啟
-odirect_read。直讀模式的資料保留視窗為
[-direct_read_backward_chunks * direct_read_chunk_size, +direct_read_prefetch_chunks * direct_read_chunk_size],其中direct_read_chunk_size預設為4 MB,direct_read_prefetch_chunks預設為32,direct_read_backward_chunks預設為1,即預設資料保留視窗為[-4 MB, +128 MB]。如果讀取亂序確定在小範圍內(例如:部分safetensors模型檔案,連續兩次讀的位置跳躍範圍在[-32 MB, +32 MB]之間),則可以設定-odirect_read_backward_chunks=8,保留當前位移量之前32 MB的資料。您還可以適當調整
direct_read_prefetch_chunks、direct_read_chunk_size參數,提升並行預取的資料量,充分利用網路頻寬。
混合直讀模式
適合小檔案(指page cache能夠快取檔案)和大檔案混雜唯讀情境,支援一定亂序(如跳躍範圍為數個chunk)。如:AI推理載入大型safetensors模型檔案。如果大檔案讀取中出現大幅隨機跳躍,此模式效能會低於預設模式。
您需要開啟
-odirect_read。您需要設定
direct_read_local_file_cache_size_mb參數來控制下載落盤的資料大小。如機器page cache最多為6 GB時,可以設定-odirect_read_local_file_cache_size_mb=3072,當下載資料到達3 GB時,切換到直讀模式。直讀模式的資料保留視窗為
[-direct_read_backward_chunks * direct_read_chunk_size, +direct_read_prefetch_chunks * direct_read_chunk_size],direct_read_chunk_size預設為4 MB,direct_read_prefetch_chunks預設為32,direct_read_backward_chunks預設為1,則預設資料保留視窗為[-4 MB, +128 MB]。如果讀取亂序確定在少量範圍內(如:部分safetensors模型檔案,連續兩次讀的位置跳躍範圍在[-32 MB, +32 MB]之間),則可以設定-odirect_read_backward_chunks=8,保留當前位移量之前32 MB的資料。您還可以適當調整
direct_read_prefetch_chunks、direct_read_chunk_size參數,提升並行預取的資料量,充分利用網路頻寬。
使用建議
如果您的檔案是在通過ossfs寫入時進行讀取,請直接使用預設模式。
如果您的ossfs只會對檔案進行讀取,或通過ossfs寫入和讀取的是不同檔案。
情境
說明
只有小檔案
請使用預設模式。
只有大檔案
順序讀取或小幅跳躍(部分safetensors模型檔案),請使用純直讀模式。
大幅跳躍隨機讀取,請使用預設模式。
無法確認讀模數式,或使用純直讀模式並調整了direct_read_backward_chunks後,效能仍然差時,請使用預設模式。
小檔案和大檔案混雜
大檔案為順序讀取或小幅跳躍(部分safetensors模型檔案),請使用混合直讀。
大檔案會大幅隨機跳躍讀取、無法確認讀模數式或使用混合直讀模式並調整了direct_read_backward_chunks後,效能仍然差時,請使用預設模式。
說明當嘗試純直讀模式和混合直讀模式發現效能較差時,建議使用預設模式,將檔案快取至本地磁碟。使用預設模式時,磁碟效能容易成為ossfs的瓶頸,建議提高ossfs使用的磁碟配置。例如:使用ESSD AutoPL,並配置適當的預配置效能或使用效能突發。