Server 2016: Geschwindigkeitsvergleich zwischen ReFS und NTFS (Teil 1)

Einen Geschwindigkeitsvergleich zwischen ReFS und NTFS hatte ich bereits schon einmal durchgeführt.

Den Test habe ich allerdings im Jahr 2015 mit Windows Server 2012 R2 durchgeführt. Daher ist ein Update nötig…

Vorwort

Nun ist es an der Zeit den Test mit Windows Server 2016 zu wiederholen. Das Testsetup hat sich gegenüber 2015 etwas geändert. Für den Vergleich zwischen ReFS und NTFS habe ich eine Windows Server 2016 VM auf ESXi 6.0 U2 Server installiert.

Der ESXi Server verfügt über 2 x Xeon E5-2690v4 CPUs und 256 GB RAM. Die Windows Server 2016 VM bekommt davon 32 GB RAM, 8 vCPUs und 2 x 200 GB Storage für die Tests. Der ESXi Server greift via 2 x 16 GBit FibreChannel auf ein DellEMC XtremIO AllFlash Array (1 X-Brick) zu. Die beiden 200 GB Disks der VM liegen auf der gleichen XtremIO LUN.

ESXi ist auf die XtremIO optimiert worden und verfügt über die aktuelle PowerPath Version. Alle aktuellen Firmwares, Treiber und Patches aller beteiligten Systeme sind installiert.

Da es sich in diesem Fall um ein neu implementiertes System handelt, muss das Setup eh getestet werden, daher kann ich in diesem Fall auch direkt den aktuellen Vergleich zwischen ReFS und NTFS durchführen. Eine jungfräuliche Umgebung, auf der noch keine anderen Workloads rumorgeln, hat man ja nicht alle Tage.

In diesem Fall heißt es also: Eine VM, ein Array, zwei Dateisysteme, zeigt was ihr könnt!

Vergleich mit IOMeter

Zunächst einmal ein Test mit IOMeter gegen eine Disk die kein Dateisystem enthält, die Disk von der XtremIO LUN ist also nur an die Windows VM angehangen, aber nicht formatiert. Dies gilt als Referenzwert für den Geschwindigkeitsvergleich zwischen ReFS und NTFS.

Disk ohne Dateisystem

IOMeter meldet etwas über 140.000 IOPS gegen die unformatierte Disk:

Geschwindigkeitsvergleich ReFS NTFS

Die XtremIO GUI liefert ähnliche Werte:

ReFS NTFS

Getestet wurde mit 4K Blöcken, 75 % Lesen und 25 % Schreiben.

NTFS

Die gleiche IOMeter Konfiguration nun gegen eine mit dem NTFS Dateisystem formatierte Disk. Hier sind es 127.000 IOPS:

ReFS NTFS

Die XtremIO GUI meldet wieder ähnliche Werte. Hier sieht man ganz gut die IOMeter Konfiguration, exakt 25 % Schreiben und 75 % Lesen:

ReFS NTFS

ReFS (Ohne FileIntegrity)

Wieder die gleiche IOMeter Konfiguration gegen eine mit ReFS formatierte Disk. Das ReFS Feature “FileIntegrity” ist nicht aktiv. IOMeter meldet 116.000 IOPS:

ReFS NTFS

Zum Vergleich wieder die XtremIO GUI mit ähnlichen Werten:

ReFS NTFS

ReFS (Mit FileIntegrity)

Wieder die gleiche Konfiguration, aber diesmal mit ReFS und FileIntegrity. IOMeter meldet 45.000 IOPS:

ReFS NTFS

Hier passiert jetzt etwas interessantes aus Storage Sicht:

ReFS NTFS

Es kommen am Storage keine 4K IOs mehr an, sondern 16K und 64K IOs. Ohne FileIntegrity waren hier nur 4K IOs zu sehen. IOMeter ist unverändert auf 75% Lesen und 25 % Schreiben eingestellt, am Storage sind nun aber bei den 64K IOs 50% Write IOs sichtbar.

Die Ergebnisse als Tabelle

Zur besseren Übersicht hier noch einmal die Ergebnisse als Tabelle:

ohne Dateisystem NTFS ReFS (Ohne FileIntegrity) ReFS (Mit FileIntegrity)
IOMeter 142420 127818 116540 45503
XtremIO 144674 129144 118184 59526

Fazit

Mit NTFS als Dateisystem können pro Sekunde etwas über 127000 IOs durch das Storage verarbeitet werden. Mit ReFS ohne FileIntegrity Feature sind es gut 10000 IOs weniger. NTFS hat also im reinen Durchsatzvergleich die Nase vorn. Bitter wird es mit eingeschaltetem FileIntegrity Feature, dann werden nur noch 45000 IOs verarbeitet. Dass in diesem Fall der IO Durchsatz so massiv reduziert wird, liegt an der Größe der IOs die zum Storage gesendet werden, anstatt 4K sind die IOs nun 16K und 64K groß.

Im zweiten Teil teste ich die beiden Dateisysteme dann noch einmal mit Jetstress. Mal sehen ob sich die Werte dort widerspiegeln. Das NTFS und das ReFS Laufwerk waren übrigens in Hinblick auf Jetstress bereits mit 64K Zuordnungseinheiten (Block Size) formatiert, ich werde den Test noch einmal mit 4K Zuordnungseinheiten wiederholen und diese Tabelle dann ergänzen.

5 Gedanken zu „Server 2016: Geschwindigkeitsvergleich zwischen ReFS und NTFS (Teil 1)“

  1. Hi Franky,

    mich würde die Raidconfig im Testscenario noch interessieren. Die Hardwarekonfiguration kann ja schon einen erheblichen Teil ausmachen.

    Gruß
    Carsten

    Antworten
  2. Hallo!
    Müsste man beim letzten Test nicht die 16k Blöcke durch4 teilen und die 64k durch 16, damit man auf die gleiche Datenmenge wie bei 4k Blöcken kommt?
    35556 16k Blöcke pro Sekunde sollten doch der Datenmenge von 142224 4k Blöcken entsprechen, oder habe ich da etwas komplett falsch verstanden?

    Antworten

Schreibe einen Kommentar