Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro: ✔️ Virtuální počítače s Linuxem ✔️ Virtuální počítače s Windows ✔️ Flexibilní škálovací sady ✔️ Uniformní škálovací sady
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.
Přidělování disků a výkon
Existují tři cesty, kterými mohou šířka pásma a vstupně-výstupní operace za sekundu (IOPS) směřovat k diskům připojeným k virtuálnímu počítači v Azure. Následující diagram znázorňuje přidělování těchto cest v reálném čase.
Následující diagram znázorňuje přidělení šířky pásma a vstupně-výstupních operací za sekundu (IOPS) v reálném čase pro disky, přičemž jsou zobrazeny tři cesty, kterými mohou vstupně-výstupní operace probíhat.
První vstupně-výstupní cesta je cesta ke spravovanému disku bez mezipaměti. Vstupně-výstupní operace používají tuto cestu, když máte spravovaný disk a nastavíte mezipaměť hostitele na none
. Vstupně-výstupní operace, které používají tuto cestu, probíhají na základě zřizování na úrovni disku a poté zřizování na úrovni sítě VM pro IOPS a propustnost.
Druhou vstupně-výstupní cestou je cesta spravovaného disku uložená v mezipaměti. Vstupně-výstupní operace spravovaného disku v mezipaměti využívají disk SSD, který je poblíž virtuálního počítače. Tento SSD má zřízený vlastní IOPS a propustnost a v diagramu se zobrazuje jako zřizování na úrovni SSD.
Když spravovaný disk uložený v mezipaměti zahájí čtení, požadavek nejprve zkontroluje, jestli jsou data na disku SSD serveru. Pokud data nejsou k dispozici, dojde k chybě uložené v mezipaměti. Poté se I/O operace spustí na základě alokace na úrovni SSD, na úrovni disku a na úrovni sítí virtuálních počítačů pro IOPS a datový tok.
Když SSD serveru zahájí čtení operací vstupně-výstupních uložených v mezipaměti a které jsou přítomné na SSD serveru, dojde k úspěšnému zásahu do mezipaměti. I/O operace se pak spustí na základě nastavení na úrovni SSD. Píše, že spravovaný disk uložený v mezipaměti vždy sleduje cestu průběhu cache miss. Procházejí zřizováním na úrovni SSD, na úrovni disku a na úrovni sítě VM.
Třetí cesta je určená pro místní nebo dočasný disk. Je k dispozici pouze na virtuálních počítačích, které podporují místní nebo dočasné disky. Vstupně-výstupní operace, která používá tuto cestu, probíhá na základě přidělení kapacit na úrovni SSD pro IOPS a propustnost.
Následující diagram znázorňuje příklad těchto omezení. Systém brání Standard_D2s_v3 virtuálnímu počítači v dosažení 5 000 IOPS disku P30 bez ohledu na to, jestli je uložený v mezipaměti nebo ne, kvůli omezením na úrovni SSD a sítě.
Azure používá pro diskový provoz upřednostňovaný síťový kanál. Diskový provoz má přednost před síťovým provozem s nízkou prioritou. Toto stanovení priority pomáhá diskům udržovat očekávaný výkon, pokud dojde k kolizím sítě.
Podobně Azure Storage zpracovává konflikty prostředků a další problémy na pozadí pomocí automatického vyrovnávání zatížení. Azure Storage při vytváření disku přiděluje požadované prostředky a používá proaktivní a reaktivní vyrovnávání prostředků pro zpracování úrovně provozu. Toto chování dále zajišťuje, aby disky mohly udržovat očekávané cíle IOPS a propustnosti. Pomocí metrik na úrovni virtuálního počítače a disku můžete sledovat výkon a podle potřeby nastavit upozornění.
Omezování vstupně-výstupních operací disku
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. Aplikace při omezení vykazuje 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.
Nastavení:
- 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 tyto operace jsou povoleny, protože virtuální počítač Standard_D8s_v3 může vykonat 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. Každý z nich tedy reaguje 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
Nastavení:
- 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í neukládané a ukládané mezipaměti virtuálních počítačů
Virtuální počítače, které jsou povolené pro úložiště úrovně Premium a mezipaměť pro úložiště úrovně Premium, 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 na disku v mezipaměti v záložce Místní úložiště jsou samostatná omezení, když umožníte ukládání do mezipaměti hostitele.
Ukládání do mezipaměti hostitele funguje tak, že přiblíží úložiště k virtuálnímu počítači, což umožňuje rychlejší čtení a zápis. 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í datové disky podporující mezipaměť nemají povolené ukládání do mezipaměti. 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:
- Pouze pro čtení: Pro úlohy, které provádějí pouze 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í.
Nastavení:
- 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 zpřístupní data do mezipaměti i virtuálního počítače. Toto čtení se započítává jak do limitu pro neuloženou mezipaměť virtuálního počítače, tak do limitu pro uloženou mezipaměť virtuálního počítače.
Diagram znázorňující neúspěch při čtení z mezipaměti hostitele.
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 neuloženého limitu virtuálního počítače a do limitu uloženého v 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.
Nastavení:
- 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ým způsobem jako režim pouze ke č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í příkazem f/sync
nebo fua
. To znamená, že zápis se počítá jako operace I/O v mezipaměti, když je zapsán 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ě toho tentokrát povolíme ukládání do hostitelské 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.
Nastavení:
- 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á virtuální počítač Standard_D8s_v3 s povoleným ukládáním do mezipaměti. Vyžádá 16 000 IOPS. Požadavky se dokončí hned po přečtení nebo zápisu do mezipaměti. Zápisy jsou poté se zpožděním zapisovány 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ý objem vstupně-výstupních operací do úložiště, které zahrnuje limit uložený v mezipaměti a limit neuložený v 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 virtuálního počítače Standard_D8s_v3 s připojenými disky úrovně Premium.
Nastavení:
- 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 rámci neukládaných limitů 12 800, tyto požadavky jsou také úspěšně dokončeny. Nedojde k žádnému omezování.