Vysvětlení charakteristik výkonu disku
Výkon aplikace často závisí na tom, jak rychle může aplikace číst a zapisovat data. Pokud chcete zvýšit výkon aplikace, musíte nejprve pochopit, jak se měří výkon. Pak porozumíte nastavením a možnostem, které to ovlivní.
Charakteristiky výkonu disku
Pokud chcete zvolit správný typ disku, je důležité pochopit indikátory výkonu. Výkon vyjadřují následující indikátory:
- IOPS (vstupně-výstupní operace za sekundu):: Počet požadavků, které vaše aplikace odesílá na disky během jedné sekundy, má přímý vliv na výkon vaší aplikace. Některé aplikace, jako jsou maloobchodní weby, potřebují vysoké IOPS ke správě všech malých a náhodných požadavků na vstupně-výstupní (V/V), které musí být rychle zpracovány, aby byl web responzivní. Disky s vyšším výkonem mají vyšší hodnoty IOPS.
- Propustnost: Propustnost je množství dat, která vaše aplikace odesílá na disky v zadaném intervalu. Propustnost se také označuje jako rychlost přenosu dat a měří se v MB/s. Pokud aplikace provádí vstupně-výstupní operace s velkými bloky dat, vyžaduje vysokou propustnost. Disky s vyšším výkonem mají vyšší propustnost.
- Latence: Latence vyjadřuje čas potřebný k odeslání požadavku na disk a přijetí odpovědi vaší aplikace. Latence omezuje efektivní počet vstupně-výstupních operací za sekundu. Pokud například váš disk dokáže zpracovat 5 000 IOPS, ale zpracování každé operace trvá 10 ms, je vaše aplikace kvůli době zpracování omezena na 100 operací za sekundu. Pokud povolíte ukládání hostitelů do mezipaměti jen pro čtení, je latence výrazně vylepšená.
IOPS versus propustnost
Propustnost a IOPS mají přímý vztah. Změna jedné přímo ovlivňuje druhou. K získání teoretického limitu propustnosti můžete použít následující vzorec: vstupně-výstupní operace za sekundu × IOPS = propustnost. Při plánování aplikace je důležité vzít v úvahu obě tyto hodnoty.
U disků Úrovně Ultra a spravovaných disků SSD úrovně Premium v2 funguje trochu jinak, protože můžete nezávisle upravit velikost disku, vstupně-výstupní operace za sekundu a propustnost. Úpravy IOPS nebo propustnosti disků Úrovně Ultra a spravovaných disků SSD úrovně Premium v2 je možné provádět za běhu bez odpojení disku od virtuálního počítače.
IOPS disku úrovně Ultra
Disky Úrovně Ultra podporují omezení IOPS 300 IOPS/GiB až do maximálního počtu 160 000 IOPS na disk. Pokud chcete dosáhnout cílového IOPS disku, ujistěte se, že počet IOPS vybraného disku je menší než limit IOPS virtuálního počítače.
Aktuální maximální limit IOPS pro jeden virtuální počítač obecně dostupných velikostí je 160 000. Disky Úrovně Ultra s větším IOPS je možné použít jako sdílené disky pro podporu více virtuálních počítačů.
Minimální zaručené vstupně-výstupní operace za sekundu na disk jsou 1 IOPS/GiB s celkovým základním minimem 100 IOPS. Pokud jste například zřídili disk úrovně Ultra 4 GiB, je minimální počet IOPS pro tento disk 100 místo čtyř.
Propustnost disku úrovně Ultra
Limit propustnosti jednoho disku úrovně Ultra je 256 KiB/s pro každý zřízený počet IOPS, maximálně 4000 MB/s na disk (kde MB/s = 10^6 bajtů za sekundu). Minimální zaručená propustnost na disk je 4KiB/s pro každý zřízený počet IOPS s celkovým základním plánem minimálně 1 MB/s.
Premium SSD v2 IOPS
Všechny disky SSD úrovně Premium v2 mají základní počet IOPS 3000, který je bezplatný. Po 6 GiB se maximální počet IOPS disku může zvýšit rychlostí 500 na GiB, až 80 000 IOPS. Takže 8 giB disk může mít až 4 000 IOPS a 10 GiB může mít až 5 000 IOPS. Aby bylo možné nastavit 80 000 IOPS na disku, musí mít tento disk alespoň 160 GiB. Zvýšení počtu IOPS nad 3 000 zvyšuje cenu disku.
Propustnost SSD úrovně Premium v2
Všechny disky SSD úrovně Premium v2 mají standardní propustnost 125 MB/s, která je bezplatná. Po 6 GiB se maximální propustnost, kterou je možné nastavit, zvýší o 0,25 MB/s na nastavené IOPS. Pokud má disk 3 000 IOPS, maximální propustnost, která může být nastavená, je 750 MB/s. Pokud chcete zvýšit propustnost tohoto disku nad 750 MB/s, musí se zvýšit počet IOPS. Pokud jste například zvýšili počet IOPS na 4 000, maximální propustnost, kterou je možné nastavit, je 1 000. 1 200 MB/s je maximální podporovaná propustnost disků s 5 000 IOPS nebo více. Zvýšení propustnosti nad 125 MB/s zvyšuje cenu disku.
Omezování vstupně-výstupních operací virtuálního počítače
Teď, když víte, které disky jsou dostupné v Azure, je potřeba, aby odpovídaly jednotlivým virtuálním počítačům se správným typem disku. Virtuální počítače mají vlastní limity IOPS úložiště, které můžou ovlivnit celkový výkon aplikace v kombinaci s IOPS disku.
Pokud virtuální počítač nezvýšíte správně pro výkon úložiště, který aplikace vyžaduje, stane se samotný virtuální počítač kritickým bodem.
Předpokládejme například, že vaše aplikace vytvoří požadavek, který vyžaduje 15 000 IOPS. Zřídili jste Standard_D8s_v3 virtuální počítač s jedním diskem s operačním systémem P30 a dvěma datovými disky SSD úrovně Premium s skladovou jednotkou P40. Každý datový disk dokáže zpracovat 7 500 IOPS a nakonec může splnit poptávku aplikací. Samotný virtuální počítač ale má maximální limit 12 800 IOPS, což je skutečný počet IOPS, který aplikace získá. Následující obrázek znázorňuje tento příklad.
Scénář znázorněný v předchozím příkladu se označuje jako omezování vstupně-výstupních operací virtuálního počítače. V tomto scénáři aplikace požaduje množství propustnosti a IOPS, které může disk spravovat, ale virtuální počítač nemůže tyto požadavky vyhovět.
Problémy s výkonem způsobené omezováním vstupně-výstupních operací virtuálního počítače můžete diagnostikovat pomocí následujících metrik:
- Procento spotřebovaného počtu vstupně-výstupních operací za sekundu v mezipaměti virtuálního počítače
- Procento spotřebované šířky pásma v mezipaměti virtuálního počítače
- Procento spotřebovaného počtu vstupně-výstupních operací za sekundu v mezipaměti virtuálního počítače
- Procento spotřebované šířky pásma bez mezipaměti virtuálního počítače
Omezování vstupně-výstupních operací disku
Můžete se setkat s jinými situacemi, kdy řešení úložiště nesplňuje požadavky aplikace. Kritický bod ale může být způsobený tím, že pro disky vyberete nesprávnou úroveň výkonu.
Představte si stejný příklad, ve kterém aplikace vyžaduje 15 000 IOPS z virtuálního počítače, a vy zvolíte následující nastavení:
- Standardní D16s_v4 s 25 600 IOPS
- Disk s operačním systémem P20 s 2 300 IOPS
- Dva datové disky P30 s podporou 5 000 IOPS
V tomto scénáři je poptávka aplikace rozdělená do tří různých požadavků:
- Z disku s operačním systémem se požaduje 2 300 IOPS.
- Z každého datového disku se vyžaduje 5 000 IOPS.
Celkový počet IOPS, který se virtuální počítač vrátí do aplikace, je 12 300 jako součet každého IOPS poskytnutého disky s operačním systémem a datovými disky.
Tento scénář se označuje jako omezování vstupně-výstupních operací disku, když samotný disk nesplňuje požadavky aplikace.
Pokud chcete diagnostikovat omezování vstupně-výstupních operací disku, použijte následující metriky:
- Procento spotřebovaného počtu vstupně-výstupních operací datového disku
- Procento spotřebované šířky pásma datového disku
- Procento spotřebovaného počtu vstupně-výstupních operací disku s operačním systémem
- Procento spotřebované šířky pásma disku s operačním systémem
Mezipaměť disku
Mezipaměť je specializovaná komponenta, která ukládá data, obvykle v paměti, aby aplikace k datům přistupovala rychleji. Data v mezipaměti často jsou data, která byla načtena dříve, nebo data, která byla výsledkem předchozího výpočtu. Cílem je, aby aplikace přistupovaly k datům rychleji z mezipaměti než z disku. Ukládání do mezipaměti disku není k dispozici na discích Ultra a SSD úrovně Premium v2.
Ukládání do mezipaměti používá specializované a někdy nákladné dočasné úložiště s rychlejším výkonem čtení a zápisu v porovnání s trvalým úložištěm. Vzhledem k tomu, že úložiště mezipaměti je často omezené, možná budete muset rozhodnout, které operace s daty mají největší prospěch z ukládání do mezipaměti. I když je ale mezipaměť široce dostupná, například v Azure, je ještě důležité znát vzory úloh jednotlivých disků, než se rozhodnete, jaký typ ukládání do mezipaměti se má použít.
Mezipaměť pro čtení se pokouší urychlit načítání dat. Místo čtení z trvalého úložiště aplikace čte data z rychlejší mezipaměti.
Je důležité si uvědomit, že ukládání do mezipaměti pro čtení pomáhá v případě, že fronta, kterou čtete, je předvídatelná, například sada sekvenčních čtení. Pro náhodné vstupně-výstupní operace, ve kterých jsou data, ke kterým přistupujete, rozptýlená v úložišti, je ukládání do mezipaměti malé nebo žádné výhody a může dokonce snížit výkon disku.
Mezipaměť pro zápis se pokouší zrychlit zápis dat do úložiště. Když používáte mezipaměť pro zápis, může aplikace zvážit data, která by se měla uložit.
Když ve skutečnosti používáte ukládání do mezipaměti zápisu, data se zařadí do fronty v mezipaměti a čekají na zápis na disk. Jistě si dovedete představit, že u tohoto mechanismu může dojít k chybě, například pokud se systém ukončí dříve, než se data v mezipaměti zapíšou. Některé systémy, jako je SQL Server, spravují úlohu zápisu dat uložených v mezipaměti do trvalého úložiště disku.
Limity virtuálních počítačů uložených v mezipaměti a bez mezipaměti
Dozvěděli jsme se, jak může ukládání do mezipaměti zlepšit výkon čtení nebo zápisu dat na disku. Teď se podíváme, jak ukládání do mezipaměti ovlivňuje výkon virtuálního počítače.
Výkon virtuálního počítače závisí na limitech IOPS a propustnosti, které jsou uložené na základě velikosti virtuálního počítače. Všechny virtuální počítače na úrovni Premium mají různá omezení pro vstupně-výstupní operace za sekundu a propustnost v závislosti na konfiguracích uložených v mezipaměti a bez mezipaměti. Výkon virtuálního počítače můžete zlepšit tak, aby splňoval vyšší poptávku po vstupně-výstupních operacích za sekundu a propustnosti tím, že povolíte ukládání do mezipaměti hostitele virtuálního počítače.
Následující tabulka uvádí příklady, které ilustrují rozdíl v výkonu propustnosti a šířky pásma disku uložené v mezipaměti a bez mezipaměti.
Název velikosti virtuálního počítače | Maximální propustnost úložiště uložené v mezipaměti a dočasné úložiště: IOPS/MB/s (velikost mezipaměti v GiB) | Maximální propustnost disku bez mezipaměti IOPS/MB/s |
---|---|---|
Standard_D2s_v3 | 4,000/32 (50) | 3,200/48 |
Standard_D4s_v3 | 8,000/64 (100) | 6,400/96 |
Standard_D8s_v3 | 16,000/128 (200) | 12,800/192 |
Standard_D64s_v3 | 128,000/1,024 (1,600) | 80,000/1,200 |
Ukládání do mezipaměti hostitele vám může pomoct vyhnout se kritickým scénářům virtuálních počítačů.
V předchozím příkladu omezování vstupně-výstupních operací virtuálního počítače vyžadovala aplikace 15 000 IOPS. Obě datové disky můžou tuto poptávku zpracovat, ale Standard_D8s_v3 virtuální počítač může v necached stavu nabídnout pouze 12 800 IOPS.
Pokud nakonfigurujete ukládání hostitele do mezipaměti na virtuálním počítači Standard_D8s_v3, můžete získat 16 000 IOPS uložených v mezipaměti, což je více než požadavky aplikace.