本頁面提供如何改善 Cloud Storage FUSE 效能的相關指南。
改善讀取和寫入效能
如要改善讀寫效能,建議您採取下列做法:
啟用快取功能:Cloud Storage FUSE 提供四種可選的用戶端快取類型,可在本機儲存特定類型的資料和中繼資料,以利提升效能:
Cloud Storage FUSE 快取可搭配任何使用者指定的目錄使用,且該目錄必須由您選擇的儲存空間支援。Cloud Storage FUSE 快取效能與快取使用的基礎儲存空間相符,且開銷極低。
啟用 gRPC 來提高讀取吞吐量:使用 Cloud Storage FUSE 設定檔或 Cloud Storage FUSE CLI,在
client-protocol
設定選項中指定grpc
。盡可能執行順序讀取工作負載:Cloud Storage FUSE 在順序讀取工作負載的效能,比隨機讀取工作負載更佳。Cloud Storage FUSE 會使用啟發式搜尋功能,偵測檔案的逐筆讀取時間,讓 Cloud Storage FUSE 能夠透過相同的 TCP 連線,向 Cloud Storage 發出較少且較大的讀取要求。
根據讀取類型調整檔案大小:為提升序列讀取效能,建議您上傳及讀取大小介於 5 MB 到 200 MB 的檔案。為提升隨機讀取效能,建議您上傳及讀取大小約 2 MB 的檔案。
啟用階層命名空間後掛載 bucket:為提高讀取和寫入效能速度,並確保每秒初始查詢 (QPS) 作業的不可分割性,建議您啟用階層命名空間後掛載 bucket。如要進一步瞭解啟用階層式命名空間的值區如何改善 Cloud Storage FUSE 效能,請參閱「掛載啟用階層式命名空間的值區」。
預先擷取中繼資料,提升首次讀取效能
在執行工作負載之前,建議您先遞迴式列出已掛載值區中的檔案,以便預先填入統計資料和類型快取,並以更快速的批次方法改善首次執行的效能:
ls -R MOUNT_POINT > /dev/null
使用檔案快取功能提升吞吐量
Cloud Storage FUSE 的延遲時間比本機檔案系統長。一次讀取或寫入一個小檔案時,處理量會降低,因為這會導致多個個別的 API 呼叫。一次讀取或寫入多個大型檔案有助於提高總處理量。使用 Cloud Storage FUSE 檔案快取,改善小型和隨機 I/O 的效能。如要進一步瞭解檔案快取功能,以及如何啟用檔案快取功能,請參閱「使用 Cloud Storage FUSE 檔案快取功能」。
掛載已啟用階層命名空間的值區
為確保每秒初始查詢 (QPS) 作業 (例如檢查點和目錄重新命名或變更) 的不可分割性,建議您在啟用階層命名空間的情況下掛載 bucket。階層命名空間會將資料整理成階層式檔案系統結構,讓 bucket 內的作業更有效率。清單物件呼叫 (BucketHandle.Objects
) 會替換為取得資料夾呼叫,進而縮短回應時間,並減少每項作業的整體清單呼叫次數。
增加預讀大小,提高大量讀取的處理量
如果工作負載主要涉及大型檔案的順序讀取作業 (例如服務和檢查點還原),則增加預讀大小可大幅提升效能。您可以使用本機電腦上的 read_ahead_kb
Linux 核心參數來執行這項操作。建議您將 read_ahead_kb
核心參數增加至 1 MB,而不要使用大多數 Linux 發行版設定的預設值 128 KB。您必須具備 sudo
或 root
權限,才能成功增加核心參數。
如要將特定 Cloud Storage FUSE 掛接目錄的 read_ahead_kb
核心參數增加到 1 MB,請使用下列指令,其中 /path/to/mount/point
是 Cloud Storage FUSE 掛接點。必須先將值區掛載至 Cloud Storage FUSE,才能執行指令,否則核心參數不會增加。
export MOUNT_POINT=/path/to/mount/point
echo 1024 | sudo tee /sys/class/bdi/0:$(stat -c "%d" $MOUNT_POINT)/read_ahead_kb
達到最高總處理量
如要達到最高總處理量,請使用 CPU 資源充足的電腦,以提高總處理量並飽和網路介面卡 (NIC)。CPU 資源不足可能會導致 Cloud Storage FUSE 節流。
如果您使用 Google Kubernetes Engine,且工作負載需要更高的吞吐量,請將 CPU 分配給 Cloud Storage FUSE 附屬容器。您可以增加 sidecar 容器使用的資源,或分配無限的資源。
評估每秒查詢次數的 IOPS 需求
如果工作負載需要每秒極高的輸入/輸出作業數 (IOPS),Filestore 比 Cloud Storage FUSE 更適合。在 Cloud Storage 中,這類工作負載也稱為「每秒查詢次數」。在單一檔案系統上,Filestore 也是低延遲高 IOPS 的最佳選擇。
或者,如果基礎快取媒體提供高 IOPS 和低延遲,您也可以使用 Cloud Storage FUSE 檔案快取,以便建構基礎快取媒體的效能特性。
執行負載測試
如需在 Cloud Storage FUSE 上執行負載測試的操作說明,請參閱 GitHub 說明文件中的效能基準。
使用指標監控成效
您可以使用指標監控 Cloud Storage FUSE 效能,這類指標可提供詳細的設定檢視畫面,協助您找出瓶頸、即時解決問題,以及改善延遲時間和總處理量。如要進一步瞭解 Cloud Storage FUSE 的各種指標,請參閱「Cloud Storage FUSE 指標」。
後續步驟
- 請參閱 Cloud Storage FUSE 快取相關說明。
- 進一步瞭解 GitHub 中的 Cloud Storage FUSE 語意和疑難排解。