Výkon disků a virtuálních počítačů

Platí pro: ✔️ Virtuální počítače s Linuxem ✔️ – Flexibilní škálovací sady virtuálních počítačů ✔️ s ✔️ Windows – Jednotné škálovací sady

Tento článek vám pomůže objasnit výkon disku a jeho fungování při kombinování disků Azure Virtual Machines a disků Azure. Popisuje také, jak diagnostikovat kritické body pro vstupně-výstupní operace disku, a změny, které můžete provést pro optimalizaci výkonu.

Jak funguje výkon disku?

Virtuální počítače Azure mají omezení výkonu vstupně-výstupních operací za sekundu (IOPS) a propustnosti na základě 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í vlastní limity IOPS a 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 tyto příklady snadno sledovali, podíváme se jenom na IOPS. Stejná logika se ale vztahuje i na propustnost.

Omezování vstupně-výstupních operací disku

Instalace:

  • Standard_D8s_v3
    • IOPS bez mezipaměti: 12 800
  • Disk s operačním systémem E30
    • IOPS: 500
  • Dva datové disky E30 × 2
    • IOPS: 500

Diagram znázorňující omezení úrovně disku

Aplikace spuštěná na virtuálním počítači vytvoří požadavek, který vyžaduje 10 000 vstupně-výstupních operací za sekundu virtuálního počítače. Všechny z těchto možností virtuální počítač povoluje, protože Standard_D8s_v3 virtuální počítač může spustit až 12 800 IOPS.

10 000 požadavků IOPS je rozděleno do tří různých požadavků na různé disky:

  • Na disk operačního systému se požaduje 1 000 IOPS.
  • Každý datový disk vyžaduje 4 500 IOPS.

Všechny připojené disky jsou disky E30 a dokážou zpracovat pouze 500 IOPS. Takže odpoví zpět s 500 IOPS každý. Výkon aplikace je omezen připojenými disky a může zpracovat pouze 1 500 IOPS. Aplikace může pracovat se špičkovým výkonem při 10 000 IOPS, pokud se používají lépe výkonné disky, jako jsou disky SSD úrovně Premium P30.

Omezení vstupně-výstupních operací virtuálních počítačů

Instalace:

  • Standard_D8s_v3
    • 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

Diagram znázorňující omezení úrovně virtuálního počítače

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ý jen 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.

Těchto 12 800 požadovaných IOPS je rozděleno do tří různých požadavků na různé disky:

  • Na disk operačního systému 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 odpoví zpět se svými požadovanými částkami.

Omezení ukládání virtuálních počítačů do mezipaměti vs. omezení uložených v mezipaměti

Virtuální počítače s povolenou službou Premium Storage i ukládáním do mezipaměti premium mají dvě různá omezení šířky pásma úložiště. Podívejme se jako příklad na virtuální počítač Standard_D8s_v3. Tady je dokumentace k řadě Dsv3-series a Standard_D8s_v3:

Graf zobrazující specifikace D s v 3

  • Maximální propustnost disku bez mezipaměti je výchozí maximální limit úložiště, který virtuální počítač dokáže zpracovat.
  • Limit maximální propustnosti úložiště v mezipaměti je samostatný limit, když povolíte ukládání do mezipaměti hostitele.

Ukládání do mezipaměti hostitele funguje tak, že přibližuje úložiště virtuálnímu počítači, který je možné rychle zapsat nebo číst. Velikost úložiště, které je pro virtuální počítač k dispozici pro ukládání do mezipaměti hostitele, najdete v dokumentaci. Můžete například vidět, že Standard_D8s_v3 se dodává s úložištěm mezipaměti o kapacitě 200 GiB.

Ukládání do mezipaměti hostitele můžete povolit při vytváření virtuálního počítače a připojení disků. Ukládání hostitelů do mezipaměti můžete také zapnout a vypnout na discích na existujícím virtuálním počítači. Ve výchozím nastavení budou mít datové disky s podporou mezipaměti povolené ukládání do mezipaměti jen pro čtení. Disky s operačním systémem s podporou mezipaměti budou mít povolené ukládání do mezipaměti pro čtení a zápis.

Snímek obrazovky znázorňující ukládání do mezipaměti hostitele

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í hostitele do mezipaměti můžete nastavit na:

  • Jen pro čtení: Pro úlohy, které dělají jenom operace čtení
  • Čtení/zápis: Pro úlohy, které mají rovnováhu mezi operacemi čtení a zápisu

Pokud vaše úloha nedodržuje některý 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, abychom zjistili, jak to ovlivní tok dat a výkon. V tomto prvním příkladu se podíváme na to, co se stane s požadavky na vstupně-výstupní operace, když je nastavení ukládání do mezipaměti hostitele nastavené na jen pro čtení.

Instalace:

  • Standard_D8s_v3
    • IOPS v mezipaměti: 16 000
    • IOPS bez mezipaměti: 12 800
  • Datový disk P30
    • IOPS: 5 000
    • Ukládání do mezipaměti hostitele: Jen pro čtení

Když se provede čtení a v mezipaměti jsou k dispozici požadovaná data, vrátí mezipaměť požadovaná data. Není potřeba číst z disku. Toto čtení se započítává do limitů uložených v mezipaměti virtuálního počítače.

Diagram znázorňující přístup ke čtení hostitele pro čtení do mezipaměti

Když se provede čtení a požadovaná data nejsou v mezipaměti k dispozici, požadavek na čtení se předá na disk. Disk se pak zobrazí v mezipaměti i virtuálním počítači. Toto čtení se započítává do limitu neu mezipaměti virtuálního počítače i limitu uloženého v mezipaměti virtuálního počítače.

Diagram znázorňující chybu čtení hostitele pro čtení v mezipaměti

Po provedení zápisu musí být zápis zapsán do mezipaměti i na disk, než se považuje za dokončený. Tento zápis se započítává do limitu neu mezipaměti virtuálního počítače a limitu uloženého v mezipaměti virtuálního počítače.

Diagram znázorňující zápis hostitele pro čtení do mezipaměti

Dále se podíváme na to, co se stane s požadavky na vstupně-výstupní operace, když je nastavení mezipaměti hostitele nastavené na čtení a zápis.

Instalace:

  • Standard_D8s_v3
    • IOPS v mezipaměti: 16 000
    • 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ým způsobem jako jen pro čtení. Zápisy jsou jediná věc, která se u ukládání do mezipaměti pro čtení a zápis liší. Pokud je zápis s ukládáním do mezipaměti hostitele nastavený na čtení/zápis, stačí, když se zápis zapíše do mezipaměti hostitele, aby se považoval za dokončený. Zápis se pak při pravidelném vyprázdnění mezipaměti líně zapíše na disk. Zákazníci mohou navíc vynutit vyprázdnění pomocí příkazu f/sync nebo fua. To znamená, že zápis se při zápisu do mezipaměti započítá do vstupně-výstupních operací mezipaměti. Když je líně zapsán na disk, započítává se do vstupně-výstupních operací bez mezipaměti.

Diagram znázorňující, jak hostitel pro čtení/zápis uloží zápis do mezipaměti

Pokračujme s Standard_D8s_v3 virtuálním počítačem. S výjimkou tentokrát povolíme ukládání hostitelů do mezipaměti na discích. Tím se pro virtuální počítač nastaví limit IOPS na 16 000 IOPS. K virtuálnímu počítači jsou připojené tři základní disky P30, z nichž každý dokáže zpracovat 5 000 IOPS.

Instalace:

  • Standard_D8s_v3
    • IOPS v mezipaměti: 16 000
    • 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í a zápis
  • Dva datové disky P30 × 2
    • IOPS: 5 000
    • Ukládání do mezipaměti hostitele: Čtení a zápis

Diagram znázorňující příklad ukládání hostitelů do mezipaměti

Aplikace používá Standard_D8s_v3 virtuální počítač s povoleným ukládáním do mezipaměti. Vytvoří požadavek na 16 000 IOPS. Požadavky se dokončí, jakmile se načtou nebo zapíšou do mezipaměti. Zápisy se pak líně zapisují na připojené disky.

Kombinované limity pro ukládání do mezipaměti a limity uložené v mezipaměti

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í do mezipaměti hostitele na discích připojených k virtuálnímu počítači, aniž byste povolili ukládání do mezipaměti hostitele na jiných discích. Tato konfigurace umožňuje vašim 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 plus limit neuložených v mezipaměti.

Pojďme si projít příklad, který vám pomůže pochopit, jak tato omezení spolupracují. Budeme pokračovat v konfiguraci Standard_D8s_v3 virtuálních počítačů a připojených disků Premium.

Instalace:

  • Standard_D8s_v3
    • IOPS v mezipaměti: 16 000
    • 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í a zápis
  • Dva datové disky P30 × 2
    • IOPS: 5 000
    • Ukládání do mezipaměti hostitele: Čtení a zápis
  • Dva datové disky P30 × 2
    • IOPS: 5 000
    • Ukládání do mezipaměti hostitele: Zakázáno

Diagram znázorňující příklad ukládání do mezipaměti hostitele se vzdáleným úložištěm

V tomto případě aplikace spuštěná na Standard_D8s_v3 virtuálním počítači vytvoří požadavek na 25 000 IOPS. Požadavek je rozdělený jako 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 ukládání do mezipaměti hostitele nepoužívají.

  • Vzhledem k tomu, že tři disky, které používají ukládání do mezipaměti hostitele, jsou v rámci limitů 16 000 uložených v mezipaměti, jsou tyto požadavky úspěšně dokončeny. Nedochází k 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 rámci limitů 12 800 bez mezipaměti, jsou tyto požadavky také úspěšně dokončeny. K žádnému omezování nedojde.