Za czasów bety Windows 8 oraz Windows Server 2012 miałem okazję napisać dwa porównania o wydajności dysków w Hyper-V. Wpisy są dostępne tutaj i tutaj. W ostatnim tygodniu postanowiłem sprawdzić jak ma się wydajność dysków w Windows Server 2012R2 i dostępnym w nim Hyper-V.

Serwer 2012R2 i Hyper-V od strony obsługi dysków przyniósł trzy nowe funkcjonalności - shared virtual hard disk, online resize virtual hard disk oraz storage QoS. Jak widać po nazwach tylko storage QoS ma jakiś związek z wydajnością :) .

Przejdźmy teraz do platformy testowej. Tak jak w moich poprzednich testach użyłem stacji Dell T5500 o następujących parametrach:

  • Intel Xeon E5645
  • 32GB RAM
  • Kontroler Dell PERC6/i
  • 1x SAS 147GB 15k na system
  • 1x SAS 147GB 15k na maszyny wirtualne
  • 2x SAS 147GB 15k w RAID0 na wolumen testowy
  • Windows Server 2012R2 z Hyper-V z aktualizacjami dostępnymi przez Windows Update na styczeń 2014

Do testów zostały użyte dwie maszyny wirtualne. Jedną z nowości w 2012R2 są maszyny wirtualnej drugiej generacji zrywające z emulowaniem sprzętu. Testy postanowiłem przeprowadzić na obu typach maszyn wirtualnych z tą samą wersją systemu. Obie maszyny wirtualne miały następujące parametry:

  • 4 vCPU
  • 4GB RAM
  • 127GB VHDX dynamiczny na system
  • Dedykowany syntetyczny kontroler SCSI na dyski do testów
  • Windows Server 2012R2 z Hyper-V z aktualizacjami dostępnymi przez Windows Update na styczeń 2014

Programy, które posłużyły do sprawdzenia wydajności to:

  • CrystalDiskMark 3.0.3 – link
  • SQLIO Disk Subsystem Benchmark Tool – link

Testy za pomocą CrystalDiskMark były przeprowadzane z próbką 4000 MB oraz 9 iteracjami.

SQLIO w trakcie testu pojedynczego dysku był uruchamiany 50 razy. 25 razy w trybie random i 25 w sekwencyjnym.

Parametry dla trybu random:

sqlio.exe -s30 -frandom -kR -b8 -t4 -o16 -BN D:\file1.dat

Parametry dla trybu sequential:

sqlio.exe -s30 -fsequential -kR -b512 -t4 -o4 -BN D:\file1.dat

Do wszystkich testów z sqlilo został użyty ten sam cztero-gigabajtowy plik wykreowany wcześniej przy użyciu programu Random Data File Creator.

Przetestowane konfiguracje dysków to:

  • Host – dysk testowany bezpośrednio z serwer Hyper-V
  • Dysk Pass-through w maszynie pierwszej generacji
  • VHD stały w maszynie pierwszej generacji
  • VHD dynamiczny w maszynie pierwszej generacji
  • VHDX stały w maszynie pierwszej generacji
  • VHDX dynamiczny w maszynie pierwszej generacji
  • Dysk Pass-through w maszynie drugiej generacji
  • VHDX stały w maszynie drugiej generacji
  • VHDX dynamiczny w maszynie drugiej generacji

Teraz czas na wykresy z dysków :) .

CrystalDiskMark

CrystalDiskMark-SequentialCrystalDiskMark 512KCrystalDiskMark 4KCrystalDiskMark 4K QD32

SQLIO

SQLIO Random IOPS SQLIO Random MBPS SQLIO Sequential MBPS

Podsumowanie

  • Z wykresów można zauważyć, że wszystkie dyski poza dyskiem vhd dynamicznym oferują taką sama wydajność.
  • Dyski Pass-through nie oferują większej wydajności jak to się przyjęło zwyczajowo.
  • Wydajność dysków w maszynach pierwszej i drugiej generacji jest taka sama.
  • Patrzą na wszystkie zalety i wady dostępnych rozwiązań najlepiej stosować dyski vhdx. Wydajność wszędzie jest taka sama, a nowe funkcjonalności dostępne w tym formacie przemawiają na jego korzyść.