全部產品
Search
文件中心

Object Storage Service:資料緩衝

更新時間:Sep 10, 2024

ossfs資料緩衝適用於小資料量頻繁讀取的情境,開啟ossfs資料緩衝後,能夠有效降低讀取延遲,提升檔案操作效率。本文將為您介紹如何更好地使用和配置ossfs資料緩衝。

重要

在使用快取資料時,需要留意資料的一致性和時效性問題。因此,在對資料即時性要求較高的情境中,不建議開啟ossfs緩衝模式。

功能背景

使用ossfs進行檔案訪問時,ossfs會預設在/tmp目錄下建立一個臨時檔案tmpfile作為磁碟緩衝,該檔案對使用者不可見。當所有開啟的檔案控制代碼均被關閉後,系統會自動清理這些臨時檔案。但對於頻繁載入相同資料的業務情境,這種機制可能會導致每次開啟、讀取和關閉同一檔案時都需要重新從OSS下載資料,佔用了大量OSS吞吐能力。

通過開啟ossfs本機快取模式可以有效降低頻繁讀取熱資料對遠程儲存的吞吐壓力,降低讀取延遲,減少對遠程儲存的訪問次數。

適用情境

適用於資料量較小且需頻繁讀取的情境。需確保本地磁碟空間足夠儲存熱點資料。

模式對比

ossfs在預設(無資料緩衝)以及開啟資料緩衝這兩種模式下,其功能差異如下表所示。在預設模式下建議通過tmpdir選項將臨時檔案從/tmp目錄調整到資料盤目錄,避免佔用系統硬碟空間。

模式

讀操作

寫操作

效能

預設(無資料緩衝)

每次均從OSS Bucket讀取,下載的資料會寫到臨時檔案,再從臨時檔案中讀取。所有控制代碼關閉時清理該檔案。

會產生臨時檔案,只有在所有控制代碼都關閉時才會將其刪除。在寫入大量檔案的過程中,容易佔用大量的磁碟空間。

如果本地磁碟空間不足,會提前上傳分區資料並清理緩衝。在這種情況下,寫入速度會受到OSS上傳速度的制約。

效能取決於磁碟效能和OSS的延遲。

資料緩衝

首次從OSS Bucket讀取後在緩衝路徑建立檔案,重複讀取從本地擷取。

先將資料寫入本機快取,當檔案觸發重新整理和關閉操作時,會統一將資料上傳至OSS Bucket。如果本機快取空間不足,會提前上傳分區資料並清理緩衝。在這種情況下,寫入速度會受到OSS上傳速度的制約。

如果本地有緩衝,效能則取決於磁碟效能。如果沒有緩衝,則和預設模式一樣。

配置選項

ossfs緩衝配置選項如下:

選項名稱

描述

預設值

use_cache

啟用資料緩衝並指定資料緩衝路徑。預設不啟用。您可以通過指定該選項來配置緩衝路徑。

例如,您可以在掛載時添加-ouse_cache=path,則表示使用資料緩衝且指定資料緩衝路徑為path。其中path請根據實際路徑設定,例如/tmp/your_foldername。

ensure_diskfree

控制預留磁碟空間大小。預設不預留。您可以通過該選項設定保留的可用硬碟空間大小,避免磁碟寫滿影響其他應用寫入,單位為MB。

例如,您需要設定ossfs保留1024 MB的可用磁碟空間,則可以在掛載時添加-oensure_diskfree=1024

del_cache

控制刪除本機快取。預設不刪除。您可以通過設定該選項來配置ossfs清理本機資料緩衝。

例如,您可以在掛載時添加-odel_cache選項,ossfs會在mount和umount時清理use_cache指定的檔案夾下的快取檔案。

max_dirty_data

當寫檔案大小超過這個值時,不用關閉檔案就會提前上傳。預設值為5120 MB。

例如,您需要設定寫檔案超過2000 MB就提前上傳,則可以在掛載時添加-omax_dirty_data=2000

5120 單位:MB

資料緩衝管理機制

  • 緩衝模式下,關閉檔案時不會對磁碟上的快取檔案進行清理,以便在未來再次讀取時可以直接使用。

  • 緩衝空間不足時,緩衝會對快取資料進行淘汰。

    在進行讀寫操作時,系統會檢查磁碟空間的使用方式,一旦磁碟空間不足,就會觸發回收操作。回收操作以單個快取檔案為最小單位進行。

使用建議

  • 如果您有頻繁訪問的熱檔案,建議開啟資料緩衝並配置緩衝路徑。這樣在重複讀取時能夠直接從本地擷取檔案,從而減少訪問延遲,有助於頻繁訪問的檔案實現快速載入。與此同時,還能減少對OSS的請求量。

  • 如果您的緩衝空間所在磁碟還有其他應用在使用,那麼建議在使用時添加掛載選項ensure_diskfree。這樣可以預留一定的空間,以保證系統的正常運行。

  • 不建議在多寫多讀,或者一寫多讀且要求多用戶端資料保持一致性的情境下使用。

  • 寫情境下ossfs緩衝必須存在,若您不想浪費磁碟空間,建議使用ossutil

  • 在大檔案一次性讀取的情境中,緩衝的作用較為有限。因此,建議使用直讀模式以降低磁碟空間的佔用。

  • 資料緩衝的效能與快取資料所在磁碟的效能密切相關。建議選擇效能較好的磁碟,例如:ESSD AutoPL開啟效能突發、彈性臨時盤或本地碟。具體詳情,請參見ESSD AutoPL雲端硬碟