快取使用模型讓你自訂 Azure HPC 快取如何儲存檔案,以加快工作流程。
基本檔案快取概念
檔案快取是 Azure HPC 快取加速客戶端請求的方式。 它採用以下基本做法:
讀取快取 - Azure HPC 快取會保留用戶端向儲存系統請求的檔案副本。 下次當用戶端請求相同檔案時,HPC 快取可以直接提供快取版本,而不必再次從後端儲存系統擷取檔案。 寫入請求會傳遞到後端儲存系統。
寫入快取 - Azure HPC 快取可選擇性地儲存客戶端機器傳送的任何變更檔案副本。 若多個用戶端在短時間內對同一檔案進行變更,快取可以收集快取中的所有變更,而不必逐一寫入後端儲存系統。 在指定時間內無變動後,快取會將檔案移至長期儲存系統。
驗證計時器 - 驗證計時器的設定決定快取將本地檔案副本與後端儲存系統遠端版本比較的頻率。 如果後端副本比快取副本更新,快取會擷取遠端副本並儲存以供未來請求使用。
驗證計時器設定顯示快取 何時會自動 將檔案與遠端儲存中的原始檔案進行比較。 不過,你可以透過執行包含 readdirplus 請求的目錄操作,強制 Azure HPC 快取比較檔案。 Readdirplus 是一種標準的 NFS API(也稱為擴展讀取功能),它會傳回目錄中繼資料,使得快取能比較及更新檔案。
寫回計時器 - 對於具備讀寫快取功能的快取,寫回計時器是快取在將變更檔案複製到後端儲存系統前等待的最大秒數。
Azure HPC 快取內建的使用模型對這些設定有不同的數值,讓你能根據自己的情況選擇最佳組合。
選擇適合您工作流程的使用模式
你必須為每個 NFS 協定儲存目標選擇使用模式。 Azure Blob 儲存目標有內建的使用模式,無法自訂。
HPC 快取使用模型讓你能選擇如何在快速回應與過時資料風險之間取得平衡。 如果您想要最佳化讀取檔案的速度,您可能不會在意快取中的檔案是否與後端檔案進行比對。 另一方面,如果你想確保檔案在遠端儲存時始終是最新的,可以選擇一個型號,並將驗證計時器設為低值以便經常檢查。
以下是使用模式的選項:
唯讀快取 - 如果你想加快檔案的讀取存取,可以使用此選項。 當你的工作流程涉及最小寫入操作,如 0% 到 5%時,請選擇此選項。
這個選項會快取用戶端的讀取,但不會快取寫入。 寫入會直接傳送到後端儲存。
儲存在快取中的檔案不會自動與 NFS 儲存體磁碟區上的檔案比較。 (請閱讀上述驗證計時器的說明,了解如何手動比較它們。)
選擇 唯讀快取 選項時,你可以更改驗證計時器。 預設值為 30 秒。 該數值必須為整數(不含小數),介於1至31536000秒(含1年)。
讀寫快取 - 此選項同時快取讀寫操作。 使用此選項時,大多數用戶端預期會透過 Azure HPC 快取存取檔案,而非直接掛載後端儲存裝置。 快取的檔案會包含尚未複製到後端的最新變更。
在此使用模式下,快取中的檔案預設每八小時才會與後端儲存空間的檔案進行一次檢查。 快取版本的檔案假設較為最新。 快取中修改的檔案預設在快取中放置一小時後,會寫入後端儲存系統。
選擇 讀寫快取 選項時,你可以同時更改驗證計時器和寫回計時器。 驗證計時器的預設值為 28,800 秒(8 小時)。 該數值必須為整數(不含小數),介於1至31536000(含)之間。 寫回計時器的預設值為 3600 秒(1 小時)。 該數值必須為整數(不含小數),介於1至31536000秒(含1年)。
下表總結了使用模型的差異:
| 使用量模型 | 快取模式 | 驗證計時器 | 回寫計時器 |
|---|---|---|---|
| 唯讀快取 | 參閱 | 30 秒 | 沒有 |
| 讀寫快取 | 讀取/寫入 | 8 小時 | 1 小時 |
Warning
使用模式的改變會導致服務中斷。 在使用模式轉換期間,HPC 快取用戶端不會收到回應。 若必須更改使用模式,建議在預定維護期間進行變更,以避免客戶中斷。
如果你對 Azure HPC 快取工作流程的最佳使用模式有疑問,請與你的 Azure 代表聯繫或提出支援請求。
Tip
有工具可以將特定檔案寫回儲存目標,而不必寫入全部快取內容。 在 Azure HPC 快取中自訂檔案回寫,了解更多關於 flush_file.py 腳本的資訊。