A gyorsítótárazás hatása a lemezteljesítményre az Azure-ban

Befejeződött

A helyi számítógépekhez hasonlóan a virtuális gépek teljesítménye gyakran közvetlenül is kötődik ahhoz, hogy a virtuális gép milyen gyorsan tud adatokat olvasni és írni. A teljesítmény javításának megértéséhez először meg kell értenünk a teljesítmény mérésének módját. Emellett meg kell ismernünk azokat a beállításokat és választási lehetőségeket is, amelyek befolyásolják ezt a mérést.

Kifejezetten a virtuális gépekhez használt mögöttes lemezeket és tárolókat vizsgáljuk. Ha a teljesítményt tekinti, vegye figyelembe, hogy az alkalmazásréteget is figyelembe kell vennie. Ha például egy virtuális gépen futtat adatbázist, meg szeretné tekinteni az adatbázisra vonatkozó teljesítménybeállításokat, hogy az adatbázis optimalizálva legyen ahhoz a virtuális géphez és tárolóhoz, amelyen futtatja.

Először definiáljunk néhány kifejezést, és nézzük meg, milyen garanciákat kínál ezekre az Azure.

Másodpercenkénti I/O-műveletek

A választott tárolási típus (Standard vagy Premium) határozza meg, hogy milyen gyorsan vannak a lemezek. Ezt a teljesítményt másodpercenkénti I/O-műveletekben mérjük, amelyre IOPS (azaz I/O per second) rövidítéssel is hivatkozhatunk (angol kiejtése „ájopsz”).

Az IOPS a lemezek által egy másodperc alatt feldolgozható kérelmek száma. Egy kérelemnek számít egy olvasási vagy írási művelet. Ez a mérés közvetlenül a tárhelyre irányul. Ha például egy lemez 5000 IOPS-t képes elvégezni, az azt jelenti, hogy elméletileg képes másodpercenként 5000 olvasási és írási művelet feldolgozására.

Megjegyzés:

A külső tényezők, beleértve a késést, hatással lehetnek az IOPS-ra.

Az IOPS közvetlenül befolyásolja az alkalmazás teljesítményét. Egyes alkalmazásoknál (például kereskedelmi webhelyeknél) magas IOPS-re van szükség ahhoz, hogy az összes kis és véletlenszerű I/O-kérelmet kezelni lehessen, mert ezeket gyorsan kell feldolgozni ahhoz, hogy a webhely megfelelően működjön.

IOPS az Azure-ban

Ha prémium szintű tárolólemezt csatol a nagy méretű virtuális géphez, az Azure garantált számú IOPS-t biztosít a lemez specifikációjának megfelelően. A P50-es lemeznél például 7500 IOPS lesz kiosztva. Minden nagy méretű virtuális gép rendelkezik egy IOPS-korláttal is, amelyet még fenn tud tartani. A Standard GS5 virtuális gép korlátja például 80 000 IOPS.

Az IOPS a lemezek teljesítménymérése; azonban ez egy elméleti korlát. Két további tényező befolyásolhatja az alkalmazás tényleges teljesítményét: az átviteli sebességet és a késést.

Mit jelent az átviteli sebesség?

Az átviteli sebesség az az adatmennyiség, amelyet az alkalmazás adott időközönként (általában másodpercenként) küld a tárolólemezekre. Ha az alkalmazás nagy adatblokkokat használ az I/O-műveleteknél, akkor nagy átviteli sebességre van szüksége.

Az Azure az adott lemez specifikációja alapján biztosítja a prémium szintű tárolólemezek átviteli sebességét. A P50-es lemeznél például a lemez átviteli sebessége 250 MB másodpercenként. Minden nagy méretű virtuális gép rendelkezik egy átviteli sebessége vonatkozó korláttal, amelyet még fenn tud tartani. A Standard GS5 virtuális gép maximális átviteli sebessége például 2000 MB másodpercenként.

Az IOPS és az átviteli sebesség összehasonlítása

Az átviteli sebesség és az IOPS közvetlen kapcsolatban áll, az egyik módosítása pedig közvetlen hatással van a másikra. Az átviteli sebesség elméleti korlátjának lekéréséhez használja a következő képletet: IOPS x I/O size = throughput. Az alkalmazás tervezésénél fontos figyelembe venni mindkét értéket.

Mit jelent a késés?

Az adatok olvasása és írása időt vesz igénybe. A késés az az idő, amíg az alkalmazás kérést küld a lemezre, és választ kap. A késés gyakorlatilag azt mutatja, hogy mennyi ideig tart egyetlen olvasási vagy írási I/O-művelet feldolgozása.

A késés korlátokat szab az IOPS számára is. Ha például a lemez 5000 IOPS-t képes kezelni, de minden művelet feldolgozása 10 ms-ot vesz igénybe, akkor az alkalmazás a feldolgozási idő miatt másodpercenként 500 művelettel van leképezve. Ez a példa egy egyszerű illusztráció; az idő nagy részében a késés jelentősen alacsonyabb. Végső soron a késés és az átviteli sebesség határozza meg, hogy az alkalmazás milyen gyorsan tudja feldolgozni az adatokat a tárolóból.

A prémium szintű tárolás konzisztens, alacsony késést biztosít, és szükség esetén még jobb késést érhet el gyorsítótárazással.

A lemez teljesítményének tesztelése

A virtuális lemezek IOPS-át, átviteli sebességét és késését úgy állíthatja be, ha a megfelelő méretű virtuális gépet és a megfelelő tárolótípust választja. A nagyobb vagy drágább virtuálisgép-méretek általában nagyobb garanciát jelentenek a maximális IOPS-ra és az átviteli sebességre. Adja hozzá az egyenlethez a Standard és a Prémium szintű tárolás és a HDD és az SSD lehetőségeket, és több paraméterrel is játszhat.

A megfelelő kombináció kiválasztásához ismerni kell az alkalmazás követelményeit. A magas I/O-alkalmazások, például az adatbázis-kiszolgálók vagy az online tranzakciófeldolgozó rendszerek magasabb IOPS-t igényelnek, míg a számítási alapú alkalmazások alacsonyabb követelményekkel járhatnak. Emellett az alkalmazások által végrehajtott műveletek típusai hatással lesznek az átviteli sebességre. A véletlen hozzáférésű magas I/O-művelet általában lassabb, mint a hosszú és szekvenciális típusú olvasás.

A konfiguráció kiválasztása után az Iometer vagy más eszközök használatával tesztelheti a lemezteljesítményt linuxos és windowsos virtuális gépeken. Ez a teszt valósabb képet ad arról, hogy milyen teljesítmény várható. A segítségével az alkalmazás tárhasználatának javítási módjait is azonosíthatja. Például egy egyszálas I/O-műveleteket végző alkalmazásnál a késés miatt nagyobb valószínűséggel alacsonyabb lesz az I/O-teljesítmény.

A következő leckében néhány egyéb dolgot is megvizsgálunk a lemez teljesítményének javítása érdekében.