Sdílet prostřednictvím


Srovnávací test disku

Platí pro: ✔️ Virtuální počítače s Windows s Linuxem ✔️ ✔️ – Flexibilní škálovací sady Uniform Scale Sets ✔️

Srovnávací test je proces simulace různých úloh v aplikaci a měření výkonu aplikace pro každou úlohu. Pomocí kroků popsaných v návrhu článku s vysokým výkonem jste shromáždili požadavky na výkon aplikace. Spuštěním nástrojů pro srovnávací testy na virtuálních počítačích hostujících aplikaci můžete určit úrovně výkonu, které může vaše aplikace dosáhnout s disky SSD úrovně Premium. V tomto článku vám poskytneme příklady srovnávacího testování virtuálního počítače Standard_D8ds_v4 zřízeného pomocí disků SSD úrovně Azure Premium.

Použili jsme běžné srovnávací nástroje DiskSpd a FIO pro Windows a Linux. Tyto nástroje vytváří několik vláken simulujících produkční prostředí, jako je zatížení, a měří výkon systému. Pomocí nástrojů můžete také nakonfigurovat parametry, jako je velikost bloku a hloubka fronty, které se obvykle pro aplikaci nedají změnit. Díky tomu získáte větší flexibilitu pro zajištění maximálního výkonu na virtuálním počítači s vysokým škálováním zřízeným s disky SSD úrovně Premium pro různé typy aplikačních úloh. Další informace o každém nástroji pro srovnávací testy najdete v nástroji DiskSpd a FIO.

Pokud chcete postupovat podle následujících příkladů, vytvořte Standard_D8ds_v4 a připojte k virtuálnímu počítači čtyři disky SSD úrovně Premium. Ze čtyř disků nakonfigurujte tři s ukládáním do mezipaměti hostitele jako None a odstraňte je do svazku s názvem NoCacheWrites. Na zbývajícím disku nakonfigurujte ukládání do mezipaměti hostitele jako ReadOnly a vytvořte svazek s názvem CacheReads s tímto diskem. Pomocí tohoto nastavení můžete zobrazit maximální výkon čtení a zápisu z virtuálního počítače Standard_D8ds_v4. Podrobný postup vytvoření Standard_D8ds_v4 s disky SSD úrovně Premium najdete v tématu Návrh pro zajištění vysokého výkonu.

Zahřátí mezipaměti

Disk s ukládáním do mezipaměti hostitele jen pro čtení dokáže poskytnout vyšší počet vstupně-výstupních operací za sekundu než limit disku. Pokud chcete získat tento maximální výkon čtení z mezipaměti hostitele, musíte nejprve zahřát mezipaměť tohoto disku. Tím se zajistí, že vstupně-výstupní operace čtení, které bude nástroj srovnávacích testů řídit na svazku CacheReads, skutečně dojde k mezipaměti, a ne přímo na disku. Výsledkem přístupů do mezipaměti je více vstupně-výstupních operací za sekundu z jednoho disku s povolenou mezipamětí.

Důležité

Před spuštěním srovnávacích testů je nutné zahřát mezipaměť při každém restartování virtuálního počítače.

DISKSPD

Stáhněte nástroj DISKSP na virtuálním počítači. DISKSPD je nástroj, který si můžete přizpůsobit a vytvořit vlastní syntetické úlohy. Ke spuštění srovnávacích testů použijeme stejné nastavení popsané výše. Specifikace můžete změnit tak, aby testovat různé úlohy.

V tomto příkladu použijeme následující sadu parametrů směrného plánu:

  • -c200G: Vytvoří (nebo znovu vytvoří) ukázkový soubor použitý v testu. Dá se nastavit v bajtech, KiB, MiB, GiB nebo blocích. V tomto případě se k minimalizaci ukládání paměti do mezipaměti používá velký soubor cílového souboru 200 GiB.
  • -w100: Určuje procento operací, které jsou požadavky na zápis (-w0 odpovídá 100% čtení).
  • -b4K: Označuje velikost bloku v bajtech, KiB, MiB nebo GiB. V tomto případě se k simulaci náhodného vstupně-výstupního testu používá velikost bloku 4K.
  • -F4: Nastaví celkem čtyři vlákna.
  • -r: Označuje náhodný vstupně-výstupní test (přepíše parametr -s).
  • -o128: Označuje počet nevyřízených vstupně-výstupních požadavků na cíl na vlákno. To se také označuje jako hloubka fronty. V tomto případě se 128 používá ke zdůraznění procesoru.
  • -W7200: Určuje dobu trvání doby zahřívání před zahájením měření.
  • -d30: Určuje dobu trvání testu, nikoli včetně zahřátí.
  • -Sh: Zakažte ukládání do mezipaměti softwarového a hardwarového zápisu (ekvivalentní příkazu -Suw).

Úplný seznam parametrů najdete v úložišti GitHub.

Maximální počet vstupně-výstupních operací zápisu

Pro řízení operací zápisu používáme vysokou hloubku fronty 128, malou velikost bloku 8 kB a čtyři pracovní vlákna. Pracovníci zápisu řídí provoz na svazku NoCacheWrites, který má tři disky s mezipamětí nastavenou na None.

Spusťte následující příkaz po dobu 30 sekund z měření a 30 sekund měření:

diskspd -c200G -w100 -b8K -F4 -r -o128 -W30 -d30 -Sh testfile.dat

Výsledky ukazují, že virtuální počítač Standard_D8ds_v4 poskytuje maximální limit IOPS zápisu 12 800.

Pro 3208642560 celkový počet bajtů, maximální celkový počet vstupně-výstupních operací 391680, celkem 101,97 MiB/s a celkem 13052,65 vstupně-výstupních operací za sekundu.

Maximální počet vstupně-výstupních operací čtení

Pro řízení operací čtení používáme vysokou hloubku fronty 128, malou velikost bloku čtyř kB a čtyři pracovní vlákna. Čtení pracovních procesů řídí provoz na svazku CacheReads, který má jeden disk s mezipamětí nastavenou na ReadOnly.

Spusťte následující příkaz po dobu dvou hodin rozhřátí a 30 sekund měření:

diskspd -c200G -b4K -F4 -r -o128 -W7200 -d30 -Sh testfile.dat

Výsledky ukazují, že virtuální počítač Standard_D8ds_v4 poskytuje maximální limit IOPS pro čtení 77 000.

U 9652785152 celkového počtu bajtů byly 2356637 celkový počet vstupně-výstupních operací, celkem 306,72 MiB/s a celkem 78521,23 vstupně-výstupních operací za sekundu.

Maximální propustnost

Pokud chcete získat maximální propustnost čtení a zápisu, můžete změnit na větší velikost bloku 64 kB.

FIO

FIO je oblíbený nástroj pro srovnávací testy úložiště na virtuálních počítačích s Linuxem. Nabízí flexibilitu výběru různých velikostí vstupně-výstupních operací, sekvenčních nebo náhodných čtení a zápisů. Vytváří pracovní vlákna nebo procesy pro provádění zadaných vstupně-výstupních operací. Můžete zadat typ vstupně-výstupních operací, které musí každé pracovní vlákno provádět pomocí souborů úloh. Pro každý scénář jsme vytvořili jeden soubor úlohy znázorněný v následujících příkladech. Specifikace v těchto souborech úloh můžete změnit tak, aby testovat různé úlohy spuštěné ve službě Premium Storage. V příkladech používáme Standard_D8ds_v4 se systémem Ubuntu. Před spuštěním srovnávacích testů použijte stejné nastavení popsané na začátku oddílu srovnávacího testu a zahřejte mezipaměť.

Než začnete, stáhněte si FIO a nainstalujte ho na virtuální počítač.

Spusťte následující příkaz pro Ubuntu.

apt-get install fio

Pro řízení operací zápisu a čtyř pracovních vláken používáme čtyři pracovní vlákna pro řízení operací čtení na discích. Pracovníci zápisu řídí provoz na svazku "nocache", který má tři disky s mezipamětí nastavenou na Hodnotu Žádné. Pracovníci pro čtení řídí provoz na svazku "readcache", který má jeden disk s mezipamětí nastavenou na "ReadOnly".

Maximální počet vstupně-výstupních operací zápisu

Vytvořte soubor úlohy s následujícími specifikacemi, abyste získali maximální počet vstupně-výstupních operací zápisu za sekundu. Pojmenujte ho "fiowrite.ini".

[global]
size=30g
direct=1
iodepth=256
ioengine=libaio
bs=4k
numjobs=4

[writer1]
rw=randwrite
directory=/mnt/nocache

Všimněte si následujících klíčových věcí, které jsou v souladu s pokyny pro návrh, které jsou popsány v předchozích částech. Tyto specifikacejsouch

  • Vysoká hloubka fronty 256.
  • Malá velikost bloku 4 kB.
  • Více vláken provádějících náhodné zápisy

Spuštěním následujícího příkazu spusťte test FIO po dobu 30 sekund.

sudo fio --runtime 30 fiowrite.ini

Během testovacího spuštění můžete zjistit počet vstupně-výstupních operací zápisu, které virtuální počítač a disky Premium doručují. Jak je znázorněno v ukázce níže, virtuální počítač Standard_D8ds_v4 poskytuje maximální limit IOPS zápisu 12 800 IOPS.
Počet virtuálních počítačů IOPS zápisu a disků SSD úrovně Premium ukazuje, že zápisy jsou 13,1k IOPS.

Maximální počet vstupně-výstupních operací čtení

Vytvořte soubor úlohy s následujícími specifikacemi, abyste získali maximální počet vstupně-výstupních operací čtení za sekundu. Pojmenujte ho "fioread.ini".

[global]
size=30g
direct=1
iodepth=256
ioengine=libaio
bs=4k
numjobs=4

[reader1]
rw=randread
directory=/mnt/readcache

Všimněte si následujících klíčových věcí, které jsou v souladu s pokyny pro návrh, které jsou popsány v předchozích částech. Tyto specifikacejsouch

  • Vysoká hloubka fronty 256.
  • Malá velikost bloku 4 kB.
  • Více vláken provádějících náhodné zápisy

Spuštěním následujícího příkazu spusťte test FIO po dobu 30 sekund.

sudo fio --runtime 30 fioread.ini

Během testovacího spuštění můžete zjistit počet vstupně-výstupních operací čtení, které virtuální počítač a disky Premium doručují. Jak je znázorněno v ukázce níže, Standard_D8ds_v4 virtuální počítač poskytuje více než 77 000 vstupně-výstupních operací čtení. Jedná se o kombinaci disku a výkonu mezipaměti.
Snímek obrazovky s počtem virtuálních počítačů IOPS za zápisu a disků SSD úrovně Premium ukazuje, že čtení je 78,6k.

Maximální počet vstupně-výstupních operací čtení a zápisu za sekundu

Vytvořte soubor úlohy s následujícími specifikacemi, abyste získali maximální kombinované vstupně-výstupní operace čtení a zápisu za sekundu. Pojmenujte ho "fioreadwrite.ini".

[global]
size=30g
direct=1
iodepth=128
ioengine=libaio
bs=4k
numjobs=4

[reader1]
rw=randread
directory=/mnt/readcache

[writer1]
rw=randwrite
directory=/mnt/nocache
rate_iops=3200

Všimněte si následujících klíčových věcí, které jsou v souladu s pokyny pro návrh, které jsou popsány v předchozích částech. Tyto specifikacejsouch

  • Vysoká hloubka fronty 128.
  • Malá velikost bloku 4 kB.
  • Více vláken provádějících náhodné čtení a zápisy

Spuštěním následujícího příkazu spusťte test FIO po dobu 30 sekund.

sudo fio --runtime 30 fioreadwrite.ini

Během testovacích běhů můžete zobrazit počet kombinovaných vstupně-výstupních operací čtení a zápisu za sekundu, které virtuální počítač a disky Premium poskytují. Jak je znázorněno v ukázce níže, Standard_D8ds_v4 virtuální počítač poskytuje více než 90 000 kombinovaných vstupně-výstupních operací čtení a zápisu za sekundu. Jedná se o kombinaci disku a výkonu mezipaměti.
Kombinované čtení a zápis IOPS ukazuje, že čtení je 78,3k a zápisy jsou 12,6k IOPS.

Maximální kombinovaná propustnost

Pokud chcete získat maximální kombinovanou propustnost čtení a zápisu, použijte větší velikost bloku a velkou hloubku fronty s více vlákny provádějícími čtení a zápisy. Můžete použít velikost bloku 64 kB a hloubku fronty 128.

Další kroky

Pokračujte v našem článku o návrhu pro zajištění vysokého výkonu.

V tomto článku vytvoříte kontrolní seznam podobný existující aplikaci pro prototyp. Pomocí nástrojů srovnávacích testů můžete simulovat úlohy a měřit výkon prototypové aplikace. Tímto způsobem můžete určit, která nabídka disků se může shodovat nebo překročit požadavky na výkon vaší aplikace. Pak můžete implementovat stejné pokyny pro produkční aplikaci.