共用方式為


瞭解 Azure NetApp Files 中的效能測試方法

這些測試中使用的基準檢驗工具稱為彈性 I/O 測試器(FIO)。

測試記憶體效能限制的邊緣時,工作負載產生必須 高度平行處理 ,才能達到可能的最大結果。

這表示:

  • 一個,對許多用戶端
  • 多個 CPU
  • 多個執行緒
  • 對多個檔案執行 I/O
  • 多線程網路連線(例如 nconnect)

最終目標是在作業開始等候其他作業完成之前,盡可能推送記憶體系統。 使用周遊單一網路流程的單一用戶端,或從單一檔案讀取/寫入單一檔案(例如,在單一用戶端上使用 dd 或 diskspd)不會提供指出 Azure NetApp Files 功能的結果。 相反地,這些設定會顯示單一檔案的效能,這通常是線條速度和/或 Azure NetApp 檔案 QoS 設定的趨勢。

此外,快取必須盡可能最小化,才能達到記憶體可完成的精確代表性結果。 不過,快取是一個非常真實的工具,可供新式應用程式以絕對最佳方式執行。 這些涵蓋一些快取的案例,以及透過 FIO 選項隨機處理工作負載而略過快取的案例(特別是 randrepeat=0 ,若要防止記憶體上的快取,以及 防止用戶端快取的 directio )。

關於彈性 I/O 測試人員

彈性 I/O 測試人員 (FIO) 是一種 開放原始碼 工作負載產生工具,通常用於記憶體基準檢驗,因為它在定義工作負載模式時容易使用且彈性。 如需其與 Azure NetApp Files 搭配使用的相關信息,請參閱 Azure NetApp Files 的效能基準檢驗建議。

安裝 FIO

遵循 FIO 讀我檔案中的 [二進位套件] 區段,以在您選擇的平台上進行安裝。

IOPS 的 FIO 範例

本節中的 FIO 範例會使用下列設定:

  • VM 執行個體大小:D32s_v3
  • 容量集區服務等級和大小:進階/50 TiB
  • 磁碟區配額大小:48 TiB

下列範例顯示 FIO 隨機讀取和寫入。

FIO:8k 區塊大小 100% 隨機讀取

fio --name=8krandomreads --rw=randread --direct=1 --ioengine=libaio --bs=8k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting

FIO:8k 區塊大小 100% 隨機寫入

fio --name=8krandomwrites --rw=randwrite --direct=1 --ioengine=libaio --bs=8k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting

基準測試結果

如需 FIO 在 Azure NetApp Files 中執行情況的官方基準測試結果,請參閱適用於 Linux 的 Azure NetApp Files 效能基準測試

頻寬的 FIO 範例

本節中的範例會顯示 FIO 循序讀取和寫入。

FIO:64k 區塊大小 100% 循序讀取

fio --name=64kseqreads --rw=read --direct=1 --ioengine=libaio --bs=64k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting

FIO:64k 區塊大小 100% 循序寫入

fio --name=64kseqwrites --rw=write --direct=1 --ioengine=libaio --bs=64k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting

基準測試結果

如需 FIO 在 Azure NetApp Files 中執行情況的官方基準測試結果,請參閱適用於 Linux 的 Azure NetApp Files 效能基準測試

使用 FIO 快取

FIO 可以使用特定選項來執行,以控制效能效能評定讀取和寫入檔案的方式。 在排除快取的基準檢驗中,FIO 旗標 randrepeat=0 是用來避免透過執行真正的隨機工作負載而不是重複模式來快取。

[randrepeat]https://fio.readthedocs.io/en/latest/fio_doc.html#i-o-type)

根據預設,如果未定義時 randrepeat ,FIO 工具會將值設定為 「true」,這表示檔案中產生的數據不會真正隨機。 因此,文件系統快取不會用來改善工作負載的整體效能。

在先前的 Azure NetApp Files 基準檢驗中並未 randrepeat 定義,因此已實作一些文件系統快取。 在較最新的測試中,此選項會設定為 「0」 (false),以確保數據中有足夠的隨機性,以避免 Azure NetApp Files 服務中的文件系統快取。 這項修改會導致整體數位略低,但更準確地表示記憶體服務在略過快取時能夠執行的功能。

下一步