Virtuálisgép- és lemezteljesítmény
A következőkre vonatkozik: ✔️ Linux rendszerű virtuális gépek ✔️ Windows rendszerű virtuális gépek Rugalmas méretezési ✔️ csoportok ✔️ Egységes méretezési csoportok
Ez a cikk segít tisztázni a lemez teljesítményét és működését az Azure-beli virtuális gépek és az Azure-lemezek kombinálásakor. Azt is ismerteti, hogyan diagnosztizálhatja a lemez I/O-jának szűk keresztmetszeteit, valamint a teljesítményre optimalizálható módosításokat.
Hogyan működik a lemez teljesítménye?
Az Azure-beli virtuális gépek bemeneti/kimeneti műveletei másodpercenként (IOPS) és átviteli sebességre vonatkozó teljesítménykorlátokkal rendelkeznek a virtuális gép típusa és mérete alapján. Operációsrendszer-lemezek és adatlemezek csatlakoztathatók virtuális gépekhez. A lemezek saját IOPS- és átviteli sebességkorlátokkal rendelkeznek.
Ha az alkalmazás nagyobb IOPS-t vagy átviteli sebességet igényel annál, mint ami a virtuális gépekhez vagy a csatlakoztatott lemezekhez ki van osztva, a teljesítménye korlátozva lesz. Ha az alkalmazás korlátozva van, az optimálisnál rosszabb teljesítménnyel működik. Ez negatív következményekhez, például nagyobb késéshez vezethet. Tekintsünk át néhány példát a fogalom tisztázásához. A példák egyszerű követéséhez csak az IOPS-t fogjuk megvizsgálni. De ugyanez a logika vonatkozik az átviteli sebességre is.
Lemez I/O-korlátja
Beállít:
- Standard_D8s_v3
- Nem csatlakoztatott IOPS: 12 800
- E30 operációsrendszer-lemez
- IOPS: 500
- Két E30-adatlemez × 2
- IOPS: 500
A virtuális gépen futó alkalmazás olyan kérelmet küld, amely 10 000 IOPS-t igényel a virtuális géphez. Mindezt a virtuális gép engedélyezi, mert a Standard_D8s_v3 virtuális gép akár 12 800 IOPS-t is végrehajthat.
A 10 000 IOPS-kérés három különböző kérésre oszlik a különböző lemezekre:
- A rendszer 1000 IOPS-t kér az operációs rendszer lemezére.
- Minden adatlemezre 4500 IOPS-t kérünk.
Minden csatlakoztatott lemez E30 lemez, és csak 500 IOPS-t képes kezelni. Így 500 IOPS-val válaszolnak. Az alkalmazás teljesítményét a csatlakoztatott lemezek leképezik, és csak 1500 IOPS-t képes feldolgozni. Az alkalmazás 10 000 IOPS-os csúcsteljesítményen működhet, ha jobb teljesítményű lemezeket használ, például Prémium SSD P30-lemezeket.
Virtuális gépek I/O-korlátja
Beállít:
- Standard_D8s_v3
- Nem csatlakoztatott IOPS: 12 800
- P30 operációsrendszer-lemez
- IOPS: 5000
- Két P30-adatlemez × 2
- IOPS: 5000
A virtuális gépen futó alkalmazás 15 000 IOPS-t igénylő kérelmet küld. Sajnos a Standard_D8s_v3 virtuális gép csak 12 800 IOPS kezelésére van kiépítve. Az alkalmazást a virtuálisgép-korlátok szabják meg, és a kiosztott 12 800 IOPS-t kell lefoglalnia.
A kért 12 800 IOPS három különböző kérelemre oszlik a különböző lemezekre vonatkozóan:
- A rendszer 4267 IOPS-t kér az operációs rendszer lemezére.
- Minden adatlemezre 4266 IOPS-t kérünk.
Minden csatlakoztatott lemez P30 lemez, amely 5000 IOPS-t képes kezelni. Tehát a kért összegekkel válaszolnak.
A virtuális gép nem gyorsítótárazott és gyorsítótárazott korlátai
A prémium szintű és a prémium szintű tárterület-gyorsítótárazáshoz egyaránt engedélyezett virtuális gépek két különböző tárolási sávszélesség-korlátot használnak. Tekintsük meg példaként a Standard_D8s_v3 virtuális gépet. A Dsv3-sorozat dokumentációja és a Standard_D8s_v3:
- A maximális nem gyorsítótárazott lemez átviteli sebessége a virtuális gép által kezelhető alapértelmezett maximális tárterület-korlát.
- A gyorsítótárazott tároló maximális átviteli sebességkorlátja külön korlát, ha engedélyezi a gazdagépek gyorsítótárazását.
A gazdagép gyorsítótárazása úgy működik, hogy közelebb hozza a tárolót a virtuális géphez, amely gyorsan írható vagy olvasható. A virtuális gép számára a gazdagép gyorsítótárazásához rendelkezésre álló tárterület a dokumentációban található. Láthatja például, hogy a Standard_D8s_v3 200 GiB gyorsítótár-tárterülettel rendelkezik.
A virtuális gép létrehozásakor és lemezek csatolásakor engedélyezheti a gazdagépek gyorsítótárazását. Be- és kikapcsolhatja a gazdagépek gyorsítótárazását egy meglévő virtuális gépen lévő lemezeken. Alapértelmezés szerint a gyorsítótár-kompatibilis adatlemezek írásvédett gyorsítótárazással rendelkeznek. A gyorsítótár-kompatibilis operációsrendszer-lemezeken engedélyezve lesz az olvasási/írási gyorsítótárazás.
A gazdagép gyorsítótárazását úgy módosíthatja, hogy megfeleljen az egyes lemezek számítási feladataira vonatkozó követelményeknek. A gazdagép gyorsítótárazását beállíthatja a következőre:
- Írásvédett: Olyan számítási feladatokhoz, amelyek csak olvasási műveleteket végeznek
- Olvasás/írás: Olvasási és írási műveleteket egyensúlyba hozó számítási feladatok esetén
Ha a számítási feladatok egyike sem követi ezeket a mintákat, nem javasoljuk a gazdagép gyorsítótárazását.
Tekintsünk át néhány példát a gazdagép gyorsítótárának különböző beállításaira, hogy lássuk, hogyan befolyásolja az adatfolyamot és a teljesítményt. Ebben az első példában azt vizsgáljuk meg, hogy mi történik az IO-kérésekkel, ha a gazdagép gyorsítótárazási beállítása írásvédettre van állítva.
Beállít:
- Standard_D8s_v3
- Gyorsítótárazott IOPS: 16 000
- Nem csatlakoztatott IOPS: 12 800
- P30-adatlemez
- IOPS: 5000
- Gazdagép gyorsítótárazása: Írásvédett
Amikor olvasást végez, és a kívánt adatok elérhetők a gyorsítótárban, a gyorsítótár visszaadja a kért adatokat. Nincs szükség olvasásra a lemezről. Ez az olvasás beleszámít a virtuális gép gyorsítótárazott korlátaiba.
Amikor olvasást végez, és a kívánt adatok nem érhetők el a gyorsítótárban, a rendszer továbbítja az olvasási kérést a lemezre. Ezután a lemez a gyorsítótár és a virtuális gép számára is felfedi. Ez az olvasás mind a virtuális gép nem gyorsítótárazott korlátja, mind a virtuális gép gyorsítótárazott korlátja felé számít.
Amikor írást végez, az írást a gyorsítótárba és a lemezre is meg kell írni, mielőtt befejezettnek tekintené. Ez az írás a virtuális gép nem gyorsítótárazott korlátja és a virtuális gép gyorsítótárazott korlátja felé számít.
Most nézzük meg, mi történik az I/O-kérésekkel, ha a gazdagép gyorsítótárának beállítása olvasási/írási értékre van állítva.
Beállít:
- Standard_D8s_v3
- Gyorsítótárazott IOPS: 16 000
- Nem csatlakoztatott IOPS: 12 800
- P30-adatlemez
- IOPS: 5000
- Gazdagép gyorsítótárazása: Olvasás/írás
Az olvasás ugyanúgy történik, mint az írásvédett. Az írás az egyetlen dolog, ami különbözik az olvasási/írási gyorsítótárazástól. Ha a gazdagép gyorsítótárazása olvasási/írási értékre van állítva, az írást csak a gazdagép-gyorsítótárba kell írni, hogy befejezettnek tekinthető legyen. Az írás ezután lazán meg lesz írva a lemezre, amikor a gyorsítótár rendszeres kiürítése történik. Az ügyfelek f/sync vagy fua paranccsal is kényszeríthetik a kiürítést. Ez azt jelenti, hogy az írás a gyorsítótárba írásakor a gyorsítótárba írott I/O-ba kerül. Ha lustán íródik a lemezre, akkor a nem gyorsítótárazott IO felé számít.
Folytassuk a Standard_D8s_v3 virtuális géppel. Kivéve, hogy ezúttal engedélyezzük a gazdagépek gyorsítótárazását a lemezeken. Így a virtuális gép IOPS-korlátja 16 000 IOPS lesz. A virtuális géphez három mögöttes P30-lemez csatlakozik, amelyek mindegyike 5000 IOPS-t képes kezelni.
Beállít:
- Standard_D8s_v3
- Gyorsítótárazott IOPS: 16 000
- Nem csatlakoztatott IOPS: 12 800
- P30 operációsrendszer-lemez
- IOPS: 5000
- Gazdagép gyorsítótárazása: Olvasás/írás
- Két P30-adatlemez × 2
- IOPS: 5000
- Gazdagép gyorsítótárazása: Olvasás/írás
Az alkalmazás egy Standard_D8s_v3 virtuális gépet használ, amelyen engedélyezve van a gyorsítótárazás. 16 000 IOPS-t kér. A kérések azonnal befejeződnek, amint beolvasják vagy megírják őket a gyorsítótárba. Az írások ezután lazán meg vannak írva a csatolt lemezekre.
Nem gyorsítótárazott és gyorsítótárazott korlátok együttes használata
A virtuális gépek gyorsítótárazott korlátai eltérnek a nem gyorsítótárazott korlátoktól. Ez azt jelenti, hogy engedélyezheti a gazdagépek gyorsítótárazását a virtuális géphez csatlakoztatott lemezeken, miközben más lemezeken nem engedélyezi a gazdagépek gyorsítótárazását. Ez a konfiguráció lehetővé teszi a virtuális gépek számára, hogy a gyorsítótárazott korlát teljes tárolási I/O-ját és a nem gyorsítótárazott korlátot megkapják.
Tekintsünk át egy példát, amely segít megérteni, hogyan működnek együtt ezek a korlátok. A továbbiakban a Standard_D8s_v3 virtuális gépet és a prémium lemezeket tartalmazó konfigurációt fogjuk használni.
Beállít:
- Standard_D8s_v3
- Gyorsítótárazott IOPS: 16 000
- Nem csatlakoztatott IOPS: 12 800
- P30 operációsrendszer-lemez
- IOPS: 5000
- Gazdagép gyorsítótárazása: Olvasás/írás
- Két P30-adatlemez × 2
- IOPS: 5000
- Gazdagép gyorsítótárazása: Olvasás/írás
- Két P30-adatlemez × 2
- IOPS: 5000
- Gazdagép gyorsítótárazása: Letiltva
Ebben az esetben a Standard_D8s_v3 virtuális gépen futó alkalmazás 25 000 IOPS-kérést küld. A kérés 5000 IOPS-ként van lebontva az egyes csatolt lemezekre. Három lemez gazdagép-gyorsítótárazást használ, két lemez pedig nem használ gazdagép-gyorsítótárazást.
- Mivel a gazdagép-gyorsítótárazást használó három lemez a gyorsítótárazott 16 000-ben van, a kérések sikeresen befejeződnek. A tárolási teljesítménykorlát nem lép fel.
- Mivel a gazdagép-gyorsítótárazást nem használó két lemez a 12 800-as korláton belül van, a kérések is sikeresen befejeződnek. Nincs korlátozás.