Megosztás:


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 lemezteljesítmény?

Az Azure-beli virtuális gépek (VM-ek) esetében a bemeneti/kimeneti műveletek másodpercenkénti száma (IOPS) és az átviteli teljesítmény kapcsán a virtuális gép típusán és méretén alapuló korlátok vannak érvényben. A virtuális gépekhez operációsrendszer-lemezek és adatlemezek csatlakoztathatók. A lemezekre saját IOPS és átviteli sebességi korlátok vonatkoznak.

Lemezfoglalás és -teljesítmény

A sávszélesség és az I/O-műveletek másodpercenként három útvonalon (IOPS) érhetők el az Azure-beli virtuális géphez csatlakoztatott lemezeken. Az alábbi ábra ezeknek az útvonalaknak a valós idejű lefoglalását mutatja be.

Az alábbi ábra a sávszélesség és az I/O-műveletek másodpercenkénti valós idejű lefoglalását (IOPS) ábrázolja a lemezeken, három elérési úttal, amelyeket az I/O el tud végezni.

A sávszélességet és az IOPS-foglalást megjelenítő háromszintű kiépítési rendszer ábrája.

Az első I/O-elérési út a nem gyorsítótárazott felügyelt lemez elérési útja. Az I/O műveletek ezt az elérési utat használják, amikor felügyelt lemezt használ, és a hoszt gyorsítótárazását none beállítja. Az elérési utat használó I/O-műveletek a lemezszintű kiépítés, majd a virtuális gép hálózati szintű kiépítése alapján futnak az IOPS-hoz és az átviteli sebességhez.

A második I/O-elérési út a gyorsítótárazott felügyelt lemez elérési útja. A gyorsítótárazott felügyelt lemez I/O egy, a virtuális géphez közeli SSD-t használ. Ez az SSD saját IOPS-t és átviteli sebességet tartalmaz, és "SSD-szintű kiépítésként" jelenik meg a diagramon.

Amikor egy gyorsítótárazott felügyelt lemez olvasást kezdeményez, a kérés először ellenőrzi, hogy az adatok a kiszolgáló SSD-jében található-e. Ha az adatok nem szerepelnek, gyorsítótárazott hiba történik. Ezután az I/O az SSD-szintű kiépítés, a lemezszintű kiépítés, majd az IOPS és az átviteli sebesség virtuálisgép-hálózatszintű kiépítése alapján fut.

Amikor a kiszolgáló SSD-je olvasást kezdeményez a kiszolgáló SSD-n található gyorsítótárazott I/O-n, gyorsítótár-találat lép fel. Az I/O ezután az SSD-szintű előkészítés alapján működik. Azt írja, hogy a gyorsítótárazott felügyelt lemezek mindig a gyorsítótárazott hibák elérési útját követik. SSD-szintű, lemezszintű és virtuálisgép-hálózati szintű kiépítésen mennek keresztül.

A harmadik elérési út a Local/Temp lemezhez tartozik. Csak a Helyi/Temp lemezeket támogató virtuális gépeken érhető el. Az a be-/kimeneti művelet, amely ezt az útvonalat használja, az IOPS és az átviteli sebesség SSD-szintű kiépítésén alapul.

Az alábbi ábrán ezekre a korlátozásokra mutatunk be példát. A rendszer megakadályozza, hogy egy Standard_D2s_v3 virtuális gép elérje a P30-lemezek 5000 IOPS-potenciálját, akár gyorsítótárazott, akár nem, az SSD és a hálózati szintek korlátai miatt.

A háromszintű kiépítési rendszer diagramja egy Standard_D2s_v3 példafoglalással.

Az Azure rangsorolja a hálózati csatornát a lemezforgalomhoz. A lemezforgalom elsőbbséget élvez az alacsony prioritású hálózati forgalommal szemben. Ez a rangsorolás segít a lemezeknek fenntartani a várt teljesítményt, ha hálózati versengés történik.

Hasonlóképpen az Azure Storage kezeli az erőforrás-versengéseket és a háttérben felmerülő egyéb problémákat az automatikus terheléselosztással. Az Azure Storage lefoglalja a szükséges erőforrásokat egy lemez létrehozásakor, és proaktív és reaktív erőforráselosztást alkalmaz a forgalomszint kezelésére. Ez a viselkedés tovább biztosítja, hogy a lemezek fenntarthassák a várt IOPS- és átviteli sebességcélokat. A teljesítmény nyomon követéséhez és a riasztások igény szerinti beállításához használjon virtuálisgép-szintű és lemezszintű metrikákat .

Lemez I/O korlátozása

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 ezen fogalom tisztázásához. A példák egyszerűbb követhetősége érdekében csak az IOPS-t fogjuk megvizsgálni. De ugyanez a logika vonatkozik az átviteli sebességre is.

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 lemezszintű korlátot ábrázoló diagram.

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 mindegyikük 500 IOPS-szel válaszol. 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épek szintkorlátját ábrázoló diagram.

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 gyorsítótárazatlan é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 távoli tárterület alatt található "Nem gyorsítótárazott" lemezadatok a virtuális gép által kezelhető alapértelmezett maximális tárterületkorlátok. A Dsv3 távoli specifikációit bemutató diagram.

  • A Helyi tárolás fül alatt található "Gyorsítótárazott" lemezadatok külön korlátozásokat jelentenek, amikor engedélyezi a gazdagép gyorsítótárazását. A Dsv3 helyi specifikációit bemutató diagram.

A gazdagép tárhely gyorsítótárazása úgy működik, hogy közelebb hozza a tárolót a virtuális géphez, így az gyorsan írható vagy olvasható lesz. 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 a lemezek csatolásakor engedélyezheti a gazdagép gyorsítótárazását. A meglévő virtuális gép lemezein bekapcsolhatja és kikapcsolhatja a host gyorsítótárazást. Alapértelmezés szerint a gyorsítótár-kompatibilis adatlemezek gyorsítótárazása nincs engedélyezve. A gyorsítótár-kompatibilis operációsrendszer-lemezek olvasási/írási gyorsítótárazása engedélyezve van.

A gazdagép gyorsítótárazását bemutató képernyőkép.

A társzolgáltatás gyorsítótárazási beállításait úgy módosíthatja, hogy azok megfeleljenek 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 láthatjuk, mi történik az IO-kérésekkel, ha a gazdagép gyorsítótárazási beállítása írásvédett.

Beállít:

  • Standard_D8s_v3
    • Gyorsítótárazott IOPS: 16 000
    • Nem csatlakoztatott IOPS: 12 800
  • P30-adatlemez
    • IOPS: 5000
    • Kiszolgáló 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 a lemezről való olvasásra. Ez az olvasás beleszámít a virtuális gép gyorsítótárazási korlátjaiba.

Az ábra egy olvasó gazdagép gyorsítótárazási találatát mutatja be.

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 mind a gyorsítótárhoz, mind a virtuális géphez továbbítja az adatokat. 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.

Az ábra a gazdagép olvasási gyorsítótárazásának olvasási hiányát mutatja be.

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.

Diagram az olvasási host által végzett gyorsítótárírásról.

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 a csak olvasható. 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ára olvasás/írás módra van állítva, az írást csak a gazdagép-gyorsítótárba kell írni ahhoz, 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 emellett kényszeríthetik a kiürítést egy vagy f/sync több fua parancs kiadásával. Ez azt jelenti, hogy amikor egy adat a gyorsítótárba kerül, az beleszámít a gyorsítótárazott IO-ba. Ha lustán íródik a lemezre, a nem gyorsítótárazott IO felé számít.

Az olvasási/írási gazdagép gyorsítótárazását ábrázoló ábra.

Folytassuk a Standard_D8s_v3 virtuális géppel. Ez idő kivételével 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

Egy gazdagép gyorsítótárazási példáját bemutató ábra.

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 a gyorsítótárba való beolvasásuk vagy írásuk után azonnal befejeződnek. 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

Egy virtuális gép gyorsítótárazott korlátai elkülönülnek 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. Folytatjuk a Standard_D8s_v3 virtuális gép és a prémium lemezek csatlakoztatott konfigurációját.

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

Diagram egy gazdagép gyorsítótárazási példájáról, távoli tárhellyel.

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 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árazás 16 000-es korlátain belül van, a kérések sikeresen teljesülnek. A tárolási teljesítménykorlát nem lép fel.
  • Mivel a gazdai gyorsítótárazást nem használó két lemez a 12 800-as gyorsítótárazási korlátokon belül van, a kérések is sikeresen befejeződnek. Nincs korlátozás.