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 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á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 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 ú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.
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.
Í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.
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.
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
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
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.