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 ✔️ csoportjai 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-Virtual Machines és az Azure-lemezek kombinálásakor. Azt is ismerteti, hogyan diagnosztizálhatja a lemez I/O-jának szűk keresztmetszeteit, és hogy milyen módosításokat végezhet a teljesítmény optimalizálásához.

Hogyan működik a lemezteljesítmény?

Az Azure-beli virtuális gépek másodpercenkénti bemeneti/kimeneti műveletekkel (IOPS) és átviteli sebességre vonatkozó teljesítménykorlátokkal rendelkeznek a virtuális gép típusa és mérete alapján. Az operációsrendszer-lemezek és adatlemezek virtuális gépekhez csatolhatók. 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, hogy tisztázzuk ezt a fogalmat. A példák egyszerű követéséhez csak az IOPS-t fogjuk megvizsgálni. Ugyanez a logika azonban az átviteli sebességre is vonatkozik.

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

A virtuális gépen futó alkalmazás 10 000 IOPS-t igénylő kérést küld a virtuális gépnek. Ezek mindegyike engedélyezett a virtuális gép számára, mert a Standard_D8s_v3 virtuális gép legfeljebb 12 800 IOPS-t képes végrehajtani.

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 adatlemezhez 4500 IOPS-t kér a rendszer.

Minden csatolt lemez E30 lemez, és csak 500 IOPS-t képes kezelni. Tehát egyenként 500 IOPS-val válaszolnak vissza. 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ép 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álisgép-szint korlátozását bemutató ábra.

A virtuális gépen futó alkalmazás 15 000 IOPS-t igénylő kérést 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 kötik le, é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.
  • A rendszer 4266 IOPS-t kér minden adatlemezhez.

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ű tároláshoz és a prémium szintű tároló gyorsítótárazáshoz egyaránt engedélyezett virtuális gépeknek két különböző tárolási sávszélesség-korlátjuk van. 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 D s v 3 specifikációkat ábrázoló diagram.

  • A nem gyorsítótárazott lemez maximális átviteli sebessége a virtuális gép által kezelhető alapértelmezett maximális tárterületkorlát.
  • A gyorsítótárazott tár maximális átviteli sebességének korlátja külön korlát, ha engedélyezi a gazdagépek gyorsítótárazását.

A gazdagépek 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ületet tartalmaz.

A virtuális gép létrehozásakor és a 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 adatlemezeken engedélyezve lesz az írásvédett gyorsítótárazás. 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 bemutató képernyőkép.

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: Az olvasási és írási műveleteket egyensúlyba hozó számítási feladatok esetén

Ha a számítási feladat egyik mintát sem követi, nem javasoljuk, hogy gazdagép-gyorsítótárazást használjon.

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, és nézzük meg, 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 I/O-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
    • Gazdagép gyorsítótárazása: Csak olvasható

Amikor olvasás történik, é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árazott korlátaiba.

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

Amikor olvasást végez, és a kívánt adatok nem érhetők el a gyorsítótárban, az olvasási kérelem továbbítódik a lemezre. Ezután a lemez a gyorsítótár és a virtuális gép számára is felfedi azt. Ez az olvasás a virtuális gép gyorsítótárazatlan korlátja és a virtuális gép gyorsítótárazott korlátja felé is beleszámít.

Az olvasási gazdagép olvasási gyorsítótárazását bemutató ábra.

Írás végrehajtásakor az írást a gyorsítótárba és a lemezre is meg kell írni, mielőtt befejezettnek tekintené. Ez az írás beleszámít a virtuális gép gyorsítótárazatlan korlátjához és a virtuális gép gyorsítótárazott korlátjához.

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

Most nézzük meg, mi történik az I/O-kérésekkel, ha a gazdagép gyorsítótára olvasási/írási beállításra 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. Csak az írások különböznek az olvasási/írási gyorsítótárazástól. Ha a gazdagép gyorsítótárazásával történő írás olvasási/írási értékre van állítva, az írást csak a gazdagép-gyorsítótárba kell írni, hogy befejezettnek tekintse. Az írás ezután lazán a lemezre lesz írva, amikor a gyorsítótárat rendszeres időközönként kiürítik. Az ügyfelek egy f/sync vagy fua parancs kiadásával is kényszeríthetik a kiürítést. Ez azt jelenti, hogy a gyorsítótárba írt írások beleszámítanak a gyorsítótárba írt I/O-ba. Ha lazán íródik a lemezre, az beleszámít a nem csatlakoztatott I/O-ba.

A gazdagép írási/olvasási gyorsítótárazását bemutató ábra.

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 tartozik, 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-ra vonatkozó kérést küld. A kérések akkor fejeződnek be, amikor a rendszer beolvassa vagy megírja őket a gyorsítótárba. Az írások ezután lazán a csatolt lemezekre lesznek írva.

Nem gyorsítótárazott és gyorsítótárazott korlátozások 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, hogy a virtuális gépek megkapják a gyorsítótárazott korlát teljes tárolási I/O-ját, valamint a nem gyorsítótárazott korlátot.

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

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

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-ra van lebontva az egyes csatlakoztatott 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árterület teljesítménykorlátja nem lép fel.
  • Mivel a két lemez, amely nem használ gazdagép-gyorsítótárazást, a 12 800 nem gyorsítótárazott korláton belül van, ezek a kérések is sikeresen befejeződnek. Nincs korlátozás.