Výkon disků a virtuálních počítačů
Platí pro: ✔️ Virtuální počítače s Windows s Linuxem ✔️ ✔️ – Flexibilní škálovací sady Uniform Scale Sets ✔️
Tento článek vám pomůže objasnit výkon disku a jeho fungování při kombinování virtuálních počítačů Azure a disků Azure. Popisuje také, jak můžete diagnostikovat kritické body vstupně-výstupních operací disku a změny, které můžete provést pro optimalizaci výkonu.
Jak funguje výkon disku?
Pro virtuální počítače Azure platí limity výkonu IOPS (vstupně-výstupní operace za sekundu) a propustnosti v závislosti na typu a velikosti virtuálního počítače. Disky s operačním systémem a datové disky je možné připojit k virtuálním počítačům. Disky mají svá vlastní IOPS a omezení propustnosti.
Pokud aplikace vyžaduje více IOPS nebo vyšší propustnost, než je přiděleno pro virtuální počítače nebo připojené disky, dojde k omezení výkonu aplikace. Omezená aplikace má neoptimální výkon. To může vést k nežádoucím důsledkům, jako je zvýšení latence. Pojďme si projít několik příkladů, abychom tento koncept objasnili. Abychom mohli tyto příklady snadno sledovat, podíváme se jenom na IOPS. Stejná logika se ale vztahuje na propustnost.
Omezování vstupně-výstupních operací disku
Sestava:
- Standard_D8s_v3
- Počet IOPS bez mezipaměti: 12 800
- Disk s operačním systémem E30
- IOPS: 500
- Dva datové disky E30 × 2
- IOPS: 500
Aplikace spuštěná na virtuálním počítači vytvoří požadavek, který na virtuálním počítači vyžaduje 10 000 IOPS. Všechny, které virtuální počítač povoluje, protože virtuální počítač Standard_D8s_v3 může spustit až 12 800 IOPS.
Požadavky 10 000 IOPS jsou rozdělené na tři různé požadavky na různé disky:
- Na disk s operačním systémem se vyžaduje 1 000 IOPS.
- Na každý datový disk se vyžaduje 4 500 IOPS.
Všechny připojené disky jsou disky E30 a můžou zpracovávat pouze 500 IOPS. Proto reagují zpět s 500 IOPS. Výkon aplikace je omezený připojenými disky a může zpracovat pouze 1 500 IOPS. Pokud se použijí disky s lepším výkonem, jako jsou disky SSD úrovně Premium P30, může aplikace pracovat ve špičce při 10 000 IOPS.
Omezování vstupně-výstupních operací virtuálního počítače
Sestava:
- Standard_D8s_v3
- Počet IOPS bez mezipaměti: 12 800
- Disk s operačním systémem P30
- IOPS: 5 000
- Dva datové disky P30 × 2
- IOPS: 5 000
Aplikace spuštěná na virtuálním počítači vytvoří požadavek, který vyžaduje 15 000 IOPS. Virtuální počítač Standard_D8s_v3 je bohužel zřízený pouze pro zpracování 12 800 IOPS. Aplikace je omezena limity virtuálních počítačů a musí přidělit přidělených 12 800 IOPS.
Požadované 12 800 IOPS jsou rozdělené do tří různých požadavků na různé disky:
- Na disk s operačním systémem se vyžaduje 4 267 IOPS.
- Na každý datový disk se vyžaduje 4 266 IOPS.
Všechny připojené disky jsou disky P30, které dokážou zpracovat 5 000 IOPS. Takže se vrátí zpět s požadovanými částkami.
Omezení mezipaměti virtuálního počítače v mezipaměti
Virtuální počítače, které jsou povolené pro ukládání do úložiště úrovně Premium a ukládání do mezipaměti premium storage, mají dvě různá omezení šířky pásma úložiště. Podívejme se na příklad Standard_D8s_v3 virtuálního počítače. Tady je dokumentace řady Dsv3 a Standard_D8s_v3:
Data disku "Uncached" v rámci vzdáleného úložiště jsou výchozí maximální limity úložiště, které může virtuální počítač zpracovat.
Data disku uložená v mezipaměti na kartě Místní úložiště jsou samostatná omezení, když povolíte ukládání do mezipaměti hostitele.
Ukládání do mezipaměti hostitele funguje tak, že úložiště přiblížíte virtuálnímu počítači, který se dá rychle zapsat nebo číst. Množství úložiště, které je k dispozici pro virtuální počítač pro ukládání do mezipaměti hostitele, je v dokumentaci. Vidíte například, že Standard_D8s_v3 obsahuje 200 GiB úložiště mezipaměti.
Ukládání hostitelů do mezipaměti můžete povolit při vytváření virtuálního počítače a připojování disků. Můžete také zapnout a vypnout ukládání hostitelů do mezipaměti na discích na existujícím virtuálním počítači. Ve výchozím nastavení mají datové disky podporující mezipaměť povolenou ukládání do mezipaměti jen pro čtení. Disky operačního systému podporující mezipaměť mají povolené ukládání do mezipaměti pro čtení a zápis.
Ukládání do mezipaměti hostitele můžete upravit tak, aby odpovídalo vašim požadavkům na úlohy pro každý disk. Ukládání do mezipaměti hostitele můžete nastavit na:
- Jen pro čtení: Pro úlohy, které dělají jen operace čtení
- Čtení a zápis: Pro úlohy, které dělají rovnováhu operací čtení a zápisu
Pokud vaše úloha nevyhovuje některému z těchto vzorů, nedoporučujeme používat ukládání do mezipaměti hostitele.
Pojďme si projít několik příkladů různých nastavení mezipaměti hostitele a podívat se, jak ovlivňuje tok dat a výkon. V tomto prvním příkladu vidíme, co se stane s požadavky vstupně-výstupních operací, když je nastavení ukládání do mezipaměti hostitele nastavené na jen pro čtení.
Sestava:
- Standard_D8s_v3
- IOPS v mezipaměti: 16 000
- Počet IOPS bez mezipaměti: 12 800
- Datový disk P30
- IOPS: 5 000
- Ukládání do mezipaměti hostitele: Jen pro čtení
Při provedení čtení a požadovaná data jsou k dispozici v mezipaměti, vrátí mezipaměť požadovaná data. Z disku není potřeba číst. Toto čtení se počítá do limitů uložených v mezipaměti virtuálního počítače.
Při provedení čtení a požadovaná data nejsou v mezipaměti k dispozici, požadavek na čtení se předá na disk. Disk pak zobrazí mezipaměť i virtuální počítač. Toto čtení se počítá do limitu bez mezipaměti virtuálního počítače i do limitu mezipaměti virtuálního počítače.
Při provedení zápisu musí být zápis zapsán do mezipaměti i disku, než se považuje za dokončený. Tento zápis se počítá do limitu bez mezipaměti virtuálního počítače a limitu mezipaměti virtuálního počítače.
Teď se podíváme na to, co se stane s vstupně-výstupními požadavky, když je nastavení mezipaměti hostitele nastavené na čtení a zápis.
Sestava:
- Standard_D8s_v3
- IOPS v mezipaměti: 16 000
- Počet IOPS bez mezipaměti: 12 800
- Datový disk P30
- IOPS: 5 000
- Ukládání do mezipaměti hostitele: Čtení/zápis
Čtení se zpracovává stejně jako jen pro čtení. Zápisy jsou jediná věc, která se při ukládání do mezipaměti pro čtení a zápis liší. Při zápisu s ukládáním do mezipaměti hostitele je nastavená možnost Čtení/zápis, zápis je potřeba zapsat pouze do mezipaměti hostitele, aby bylo možné považovat za dokončené. Zápis se pak laziálně zapíše na disk, když se mezipaměť pravidelně vyprázdní. Zákazníci mohou navíc vynutit vyprazdňování vydáním f/sync
příkazu nebo fua
příkazu. To znamená, že zápis se počítá do vstupně-výstupních operací uložených v mezipaměti při zápisu do mezipaměti. Když se na disk líně zapisuje, počítá se do vstupně-výstupních operací v mezipaměti.
Pokračujme s naším Standard_D8s_v3 virtuálním počítačem. Kromě této doby povolíme ukládání hostitelů do mezipaměti na discích. Díky tomu je limit IOPS virtuálního počítače 16 000 IOPS. Připojené k virtuálnímu počítači jsou tři základní disky P30, které můžou zpracovávat 5 000 IOPS.
Sestava:
- Standard_D8s_v3
- IOPS v mezipaměti: 16 000
- Počet IOPS bez mezipaměti: 12 800
- Disk s operačním systémem P30
- IOPS: 5 000
- Ukládání do mezipaměti hostitele: Čtení/zápis
- Dva datové disky P30 × 2
- IOPS: 5 000
- Ukládání do mezipaměti hostitele: Čtení/zápis
Aplikace používá Standard_D8s_v3 virtuální počítač s povolenou ukládáním do mezipaměti. Vytvoří žádost o 16 000 IOPS. Požadavky se dokončí hned po přečtení nebo zápisu do mezipaměti. Zápisy se pak lazily zapisovat na připojené disky.
Kombinované limity bez mezipaměti a mezipamětí
Limity uložené v mezipaměti virtuálního počítače jsou oddělené od limitů, které nejsou uložené v mezipaměti. To znamená, že můžete povolit ukládání hostitelů do mezipaměti na discích připojených k virtuálnímu počítači a zároveň nepovolovat ukládání hostitelů do mezipaměti na jiných discích. Tato konfigurace umožňuje virtuálním počítačům získat celkový počet vstupně-výstupních operací úložiště limitu uloženého v mezipaměti a limit bez mezipaměti.
Pojďme si projít příklad, který vám pomůže pochopit, jak tyto limity fungují společně. Pokračujeme v konfiguraci Standard_D8s_v3 virtuálních počítačů a disků Úrovně Premium.
Sestava:
- Standard_D8s_v3
- IOPS v mezipaměti: 16 000
- Počet IOPS bez mezipaměti: 12 800
- Disk s operačním systémem P30
- IOPS: 5 000
- Ukládání do mezipaměti hostitele: Čtení/zápis
- Dva datové disky P30 × 2
- IOPS: 5 000
- Ukládání do mezipaměti hostitele: Čtení/zápis
- Dva datové disky P30 × 2
- IOPS: 5 000
- Ukládání do mezipaměti hostitele: Zakázáno
V takovém případě aplikace spuštěná na virtuálním počítači Standard_D8s_v3 vytvoří žádost o 25 000 IOPS. Požadavek je rozdělený na 5 000 IOPS na každý z připojených disků. Tři disky používají ukládání do mezipaměti hostitele a dva disky nepoužívají ukládání do mezipaměti hostitele.
- Vzhledem k tomu, že tři disky, které používají ukládání do mezipaměti hostitele, jsou v mezích 16 000, tyto požadavky byly úspěšně dokončeny. Nedojde k žádnému omezování výkonu úložiště.
- Vzhledem k tomu, že dva disky, které nepoužívají ukládání do mezipaměti hostitele, jsou v mezích 12 800, tyto požadavky jsou také úspěšně dokončeny. Nedojde k žádnému omezování.