Prémium Szintű Azure-tároló: Tervezés a nagy teljesítmény érdekében

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 útmutatást nyújt a nagy teljesítményű alkalmazások Azure Premium Storage használatával történő létrehozásához. A dokumentumban szereplő utasításokat az alkalmazás által használt technológiákra vonatkozó ajánlott teljesítménnyel kombinálva használhatja. Az irányelvek szemléltetéséhez a prémium szintű tárterületen futó SQL Servert használjuk példaként ebben a dokumentumban.

Bár ebben a cikkben foglalkozunk a tárolási réteg teljesítményforgatókönyvével, optimalizálnia kell az alkalmazásréteget. Ha például prémium szintű tárterületen üzemeltet SharePoint-farmot, a cikkben szereplő SQL Server-példák segítségével optimalizálhatja az adatbázis-kiszolgálót. A SharePoint Farm webkiszolgálóját és alkalmazáskiszolgálóját is optimalizálhatja a lehető legnagyobb teljesítmény eléréséhez.

Ez a cikk az alábbi gyakori kérdésekre nyújt választ az alkalmazás teljesítményének prémium szintű tárterületen való optimalizálásával kapcsolatban:

  • Hogyan mérheti az alkalmazás teljesítményét?
  • Miért nem látja a várt nagy teljesítményt?
  • Mely tényezők befolyásolják az alkalmazás teljesítményét a prémium szintű tárterületen?
  • Hogyan befolyásolják ezek a tényezők az alkalmazás teljesítményét a prémium szintű tárterületen?
  • Hogyan optimalizálható a másodpercenkénti bemeneti/kimeneti műveletek (IOPS), a sávszélesség és a késés?

Ezeket az irányelveket kifejezetten a prémium szintű tároláshoz biztosítjuk, mivel a prémium szintű tárterületen futó számítási feladatok rendkívül érzékenyek a teljesítményre. Adott esetben példákat adunk meg. Ezen irányelvek némelyikét az infrastruktúra szolgáltatásként (IaaS) működő, standard tárolólemezekkel rendelkező virtuális gépekre is alkalmazhatja.

Megjegyzés:

Néha a lemezteljesítmény-probléma valójában hálózati szűk keresztmetszetnek tűnik. Ilyen esetekben optimalizálnia kell a hálózati teljesítményt.

Ha a lemez teljesítményértékelését szeretné megtekinteni, tekintse meg az alábbi cikkeket:

Ha a virtuális gép támogatja a gyorsított hálózatkezelést, győződjön meg arról, hogy engedélyezve van. Ha nincs engedélyezve, windowsos és Linux rendszeren is engedélyezheti a már üzembe helyezett virtuális gépeken.

Mielőtt hozzákezdene, ha még csak most ismerkedik a prémium szintű tárterületekkel, először olvassa el az Azure-lemeztípus kiválasztása IaaS virtuális gépekhez és a prémium szintű blobtároló-fiókok méretezhetőségi céljainak kiválasztását.

Alkalmazásteljesítmény-mutatók

Az alábbiakhoz hasonló teljesítménymutatók használatával értékeljük, hogy egy alkalmazás jól teljesít-e vagy sem:

  • Milyen gyorsan dolgoz fel egy alkalmazás egy felhasználói kérést.
  • Egy alkalmazás mennyi adatot dolgoz fel kérésenként.
  • Egy alkalmazás egy adott időszakban feldolgozott kérelmeinek száma.
  • Mennyi ideig kell várnia a felhasználónak, hogy választ kapjon a kérés elküldése után.

Ezeknek a teljesítménymutatóknak a technikai feltételei az IOPS, az átviteli sebesség vagy a sávszélesség, valamint a késés.

Ebben a szakaszban a prémium szintű tárolással kapcsolatos gyakori teljesítménymutatókat ismertetjük. A lemezek teljesítményalkalmazás-ellenőrzőlistájában megtudhatja, hogyan mérheti az alkalmazás teljesítménymutatóit. Az alkalmazás teljesítményének optimalizálása későbbi részében megismerheti azokat a tényezőket, amelyek befolyásolják ezeket a teljesítménymutatókat és javaslatokat az optimalizálásukhoz.

IOPS

Az IOPS azoknak a kéréseknek a száma, amelyeket az alkalmazás egy másodperc alatt küld a tárolólemezekre. A bemeneti/kimeneti művelet lehet olvasási vagy írási, szekvenciális vagy véletlenszerű. Az online tranzakciófeldolgozási (OLTP-) alkalmazásoknak, például egy online kiskereskedelmi webhelynek, azonnal számos egyidejű felhasználói kérést kell feldolgoznia. A felhasználói kérések beszúrási és frissítésigényes adatbázis-tranzakciók, amelyeket az alkalmazásnak gyorsan fel kell dolgoznia. Ezért az OLTP-alkalmazások nagyon magas IOPS-t igényelnek.

Az OLTP-alkalmazások több millió kis és véletlenszerű I/O-kérést kezelnek. Ha rendelkezik ilyen alkalmazásokkal, az IOPS-ra optimalizálandó alkalmazásinfrastruktúrát kell megterveznie. A magas IOPS-érték eléréséhez megfontolandó tényezőkről további információt az alkalmazás teljesítményének optimalizálása című témakörben talál.

Amikor 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. Például egy P50-lemez 7500 IOPS-t helyez üzembe. Minden nagy méretű virtuálisgép-méretnek van egy meghatározott IOPS-korlátja is, amelyet képes fenntartani. A Standard GS5 virtuális gép korlátja például 80 000 IOPS.

Átfutás

Az átviteli sebesség vagy sávszélesség az az adatmennyiség, amelyet az alkalmazás adott időközönként küld a tárolólemezekre. Ha az alkalmazás nagy I/O-egységmérettel végez bemeneti/kimeneti műveleteket, nagy átviteli sebességet igényel. Az adattárház-alkalmazások általában olyan vizsgálatigényes műveleteket bocsátanak ki, amelyek egyszerre nagy mennyiségű adathoz férnek hozzá, és gyakran tömeges műveleteket hajtanak végre. Más szóval az ilyen alkalmazások nagyobb átviteli sebességet igényelnek. Ha rendelkezik ilyen alkalmazással, az infrastruktúráját úgy kell megterveznie, hogy optimalizálja az átviteli sebességet. A következő szakaszban bemutatjuk azokat a tényezőket, amelyeket az optimalizálás eléréséhez hangolnia kell.

Ha prémium szintű tárolólemezt csatol egy nagy méretű virtuális géphez, az Azure az adott lemez specifikációja szerint állítja ki az átviteli sebességet. Egy P50-lemez például 250 MB/s lemezteljesítményt biztosít. Minden nagy méretű virtuálisgép-méretnek van egy meghatározott átviteli sebességkorlátja is, amelyet képes fenntartani. A standard GS5 virtuális gép maximális átviteli sebessége például 2000 MB/s.

Az átviteli sebesség és az IOPS közötti kapcsolat az alábbi képletben látható.

Diagram that shows the relation of IOPS and throughput.

Fontos meghatározni az alkalmazás által igényelt optimális átviteli sebességet és IOPS-értékeket. Az egyik optimalizálása során a másikra is hatással van. Az IOPS és az átviteli sebesség optimalizálásáról további információt az alkalmazás teljesítményének optimalizálása című témakörben talál.

Latency

A késés az az idő, amíg egy alkalmazás egyetlen kérést kap, elküldi azt a tárolólemezekre, és elküldi a választ az ügyfélnek. A késés az alkalmazás teljesítményének kritikus mértéke az IOPS és az átviteli sebesség mellett. A prémium szintű tárolólemez késése az az idő, amíg lekéri egy kérés adatait, és visszaküldi azokat az alkalmazásnak. A prémium szintű tárolás folyamatosan alacsony késést biztosít. A prémium lemezek úgy vannak kialakítva, hogy egyjegyű ezredmásodperc késést biztosítsanak a legtöbb I/O-művelethez. Ha engedélyezi a ReadOnly gazdagép gyorsítótárazását prémium szintű tárolólemezeken, sokkal alacsonyabb olvasási késést érhet el. A lemez gyorsítótárazásával kapcsolatos további információkért lásd : Lemez gyorsítótárazása.

Ha az alkalmazást úgy optimalizálja, hogy nagyobb IOPS-t és átviteli sebességet kapjon, az hatással van az alkalmazás késésére. Az alkalmazás teljesítményének finomhangolása után mindig értékelje ki az alkalmazás késését, hogy elkerülje a váratlanul nagy késést.

A felügyelt lemezeken a következő vezérlősík-műveletek magukban foglalhatják a lemez egyik tárolóhelyről a másikra való áthelyezését. Ez az áthelyezés az adatok háttérpéldányán keresztül történik, ami több órát is igénybe vehet. Az idő általában kevesebb, mint 24 óra a lemezeken lévő adatok mennyiségétől függően. Ez idő alatt az alkalmazás a szokásosnál nagyobb olvasási késést tapasztalhat, mivel egyes olvasások átirányíthatók az eredeti helyre, és hosszabb ideig tarthat.

Ebben az időszakban nincs hatása az írási késésre. Prémium SSD v2 és Ultra Lemezek esetén, ha a lemez 4K szektorméretű, nagyobb olvasási késést tapasztal. Ha a lemez szektormérete 512e, nagyobb olvasási és írási késést tapasztal.

A vezérlősík műveletei a következőkre használhatók:

  • Frissítse a tárolási típust.
  • Lemez leválasztása és csatolása egyik virtuális gépről a másikra.
  • Felügyelt lemez létrehozása VHD-ből.
  • Felügyelt lemez létrehozása pillanatképből.
  • Nem felügyelt lemezek konvertálása felügyelt lemezekké.

Lemezek teljesítményalkalmazás-ellenőrzőlistája

A prémium szintű tárterületen futó nagy teljesítményű alkalmazások tervezésének első lépése az alkalmazás teljesítménykövetelményeinek megértése. A teljesítménykövetelmények összegyűjtése után optimalizálhatja az alkalmazást a legoptimálisabb teljesítmény eléréséhez.

Az előző szakaszban ismertettük a gyakori teljesítménymutatókat: IOPS, átviteli sebesség és késés. Meg kell határoznia, hogy ezek közül a teljesítménymutatók közül melyik kritikus fontosságú az alkalmazás számára a kívánt felhasználói élmény biztosításához. A magas IOPS például a legfontosabb az OLTP-alkalmazások számára, amelyek másodpercenként több millió tranzakciót dolgoznak fel. A nagy átviteli sebesség kritikus fontosságú a nagy mennyiségű adatot másodpercenként feldolgozó adattárház-alkalmazások esetében. A rendkívül alacsony késés elengedhetetlen a valós idejű alkalmazások, például az élő videóstreamelési webhelyek esetében.

Ezután mérje meg az alkalmazás teljes élettartamára vonatkozó maximális teljesítménykövetelményeket. Első lépésként használja az alábbi minta ellenőrzőlistát. Jegyezze fel a maximális teljesítménykövetelményeket a normál, a csúcs- és az óránkénti számítási feladatok időszakában. Az összes számítási feladatszint követelményeinek azonosításával meghatározhatja az alkalmazás általános teljesítménykövetelményét.

Az e-kereskedelmi webhelyek normál számítási feladatai például azokat a tranzakciókat jelzik, amelyet az év legtöbb napján kiszolgál. A webhely legnagyobb számítási feladatai az ünnepek vagy különleges értékesítési események során kiszolgált tranzakciók. A csúcsterhelés általában korlátozott ideig tapasztalható, de előfordulhat, hogy az alkalmazásnak a normál működés két vagy többszeresére kell skáláznia. Ismerje meg az 50 percentilis, a 90 percentilis és a 99 percentilis követelményeket. Ezek az információk segítenek kiszűrni a teljesítménykövetelményekben szereplő kiugró értékeket, és a megfelelő értékek optimalizálására összpontosíthat.

Alkalmazásteljesítmény-követelmények ellenőrzőlistája

Teljesítmény-követelmények 50 percentilis 90 percentilis 99 percentilis
Másodpercenkénti tranzakciók maximális száma
Olvasási műveletek százalékos aránya
Írási műveletek százalékos aránya
Véletlenszerű műveletek %-a
% szekvenciális műveletek
I/O-kérés mérete
Átlagos átviteli sebesség
Maximális átviteli sebesség
Minimális késés
Átlagos késés
Maximális processzorhasználat
Average CPU
Maximális memória
Átlagos memória
Üzenetsor mélysége

Megjegyzés:

Fontolja meg ezeknek a számoknak a skálázását az alkalmazás várható jövőbeli növekedése alapján. Érdemes előre tervezni a növekedést, mert később nehezebb lehet módosítani az infrastruktúrát a teljesítmény javítása érdekében.

Ha már rendelkezik egy meglévő alkalmazással, és prémium szintű tárterületre szeretne váltani, először hozza létre a meglévő alkalmazás előző ellenőrzőlistát. Ezután készítse el az alkalmazás prototípusát prémium szintű tárolóra, és tervezzen meg egy alkalmazást az alkalmazás teljesítményének optimalizálása című szakaszban leírt irányelvek alapján. A következő cikk a teljesítménymérések gyűjtéséhez használható eszközöket ismerteti.

Számlálók az alkalmazás teljesítménykövetelményeinek méréséhez

Az alkalmazás teljesítménykövetelményeinek mérésére a legjobb módszer a kiszolgáló operációs rendszere által biztosított monitorozási eszközök használata PerfMon. Windowshoz és iostat Linuxhoz is használhatóPerfMon. Ezek az eszközök az előző szakaszban ismertetett összes mértéknek megfelelő számlálókat rögzítik. Ezeknek a számlálóknak az értékeit akkor kell rögzítenie, amikor az alkalmazás normál, csúcs- és óránkénti számítási feladatokat futtat.

A PerfMon számlálók a processzorhoz, a memóriához, valamint a kiszolgáló minden logikai lemezéhez és fizikai lemezéhez elérhetők. Ha prémium szintű tárolólemezeket használ virtuális géppel, a fizikai lemezszámlálók minden prémium szintű tárolólemezhez, a logikai lemezszámlálók pedig a prémium szintű tárolólemezeken létrehozott kötetekhez tartoznak. Rögzítenie kell az alkalmazás számítási feladatát futtató lemezek értékeit. Ha a logikai és a fizikai lemezek között egy-az-egyhez megfeleltetés van, akkor a fizikai lemezszámlálókra is hivatkozhat. Ellenkező esetben tekintse meg a logikai lemezszámlálókat.

Linuxon a iostat parancs létrehoz egy PROCESSZOR- és lemezkihasználtsági jelentést. A lemezkihasználtsági jelentés fizikai eszközenként vagy partíciónkénti statisztikákat biztosít. Ha van egy adatbázis-kiszolgálója, amelynek adatai és naplói külön lemezeken vannak tárolva, gyűjtse össze ezeket az adatokat mindkét lemezhez. Az alábbi táblázat a lemezek, processzorok és memória számlálóit ismerteti.

Számláló Leírás Perfmon iostat
IOPS vagy tranzakciók/mp A tárolólemezre kibocsátott I/O-kérelmek száma másodpercenként Lemezolvasások másodpercenként
Lemez írása másodpercenként
Tps
r/s
W/s
Lemezolvasások és -írások A lemezen végrehajtott olvasási és írási műveletek %-a Lemez olvasási ideje %
Lemez írási ideje %.
r/s
W/s
Átfutás A lemezről beolvasott vagy a lemezre írt adatok mennyisége másodpercenként Lemez olvasási bájt/mp
Lemez írási bájt/mp
kB_read/s
kB_wrtn/s
Latency Lemez I/O-kérésének teljes időtartama Átlagos lemez mp/olvasás
Átlagos lemez mp/írás
Várja
svctm
I/O-méret A tárolólemezek I/O-kéréseinek mérete Átlagos lemez bájt/olvasás
Átlagos lemez bájt/írás
avgrq-sz
Üzenetsor mélysége A tárolólemezről olvasásra vagy írásra váró függőben lévő I/O-kérelmek száma A lemez üzenetsorának aktuális hossza avgqu-sz
Maximális memória Az alkalmazás zökkenőmentes futtatásához szükséges memória mennyisége Használatban lévő véglegesített bájtok %-a A vmstat használata
Maximális processzorhasználat Az alkalmazás zökkenőmentes futtatásához szükséges processzormennyiség Processzoridő %-a %util

További információ az iostatról és a PerfMonról.

Az alkalmazás teljesítményének optimalizálása

A prémium szintű tárterületen futó alkalmazások teljesítményét befolyásoló fő tényezők az I/O-kérelmek jellege, a virtuális gép mérete, a lemez mérete, a lemezek száma, a lemez gyorsítótárazása, a többszálúság és az üzenetsor mélysége. Ezeket a tényezőket a rendszer által biztosított gombokkal szabályozhatja.

Előfordulhat, hogy a legtöbb alkalmazás nem ad lehetőséget az I/O méretének és az üzenetsor mélységének közvetlen módosítására. Ha például SQL Servert használ, nem választhatja ki az I/O méretét és az üzenetsor mélységét. Az SQL Server az optimális I/O-méret- és üzenetsormélység-értékeket választja ki a legnagyobb teljesítmény eléréséhez. Fontos tisztában lenni azzal, hogy mindkét tényező milyen hatással van az alkalmazás teljesítményére, hogy megfelelő erőforrásokat építhesse ki a teljesítmény igényeinek megfelelően.

Ebben a szakaszban tekintse meg az alkalmazás követelményeinek ellenőrzőlistát, amelyet az alkalmazás teljesítményének optimalizálásához hozott létre. Az ellenőrzőlista alapján meghatározhatja, hogy a szakasz mely tényezőit kell hangolnia.

Az egyes tényezők alkalmazásteljesítményre gyakorolt hatásának szemléltetéséhez futtasson teljesítményértékelési eszközöket az alkalmazás beállításához. A közös teljesítményértékelési eszközök Windows és Linux rendszerű virtuális gépeken való futtatásának lépéseit a dokumentum végén található teljesítményértékelési cikkekben találja.

Az IOPS, az átviteli sebesség és a késés optimalizálása egy pillantással

Az alábbi táblázat az IOPS, az átviteli sebesség és a késés optimalizálásához szükséges teljesítménytényezőket és lépéseket foglalja össze. Az összefoglalót követő szakaszok részletesebben ismertetik az egyes tényezőket.

A virtuális gépek méretéről, valamint az egyes virtuális gépekhez elérhető IOPS-ról, átviteli sebességről és késésről további információt az Azure-beli virtuális gépek méretei című témakörben talál.

Teljesítménytényezők IOPS Throughput Késés
Példaforgatókönyv Nagyvállalati OLTP-alkalmazás, amely nagyon magas tranzakciókat igényel másodpercenként. Nagy mennyiségű adatot feldolgozó vállalati adattárház-alkalmazás. Közel valós idejű alkalmazások, amelyek azonnali választ igényelnek a felhasználói kérésekre, például az online játékra.
Teljesítménytényezők      
I/O-méret A kisebb I/O-méret nagyobb IOPS-t eredményez. A nagyobb I/O-méret nagyobb átviteli sebességet eredményez.  
Virtuális gép mérete Olyan virtuálisgép-méretet használjon, amely az alkalmazáskövetelménynél nagyobb IOPS-t kínál. Használjon olyan virtuálisgép-méretet, amelynek átviteli sebessége meghaladja az alkalmazáskövetelményt. Használjon olyan virtuálisgép-méretet, amely az alkalmazáskövetelménynél nagyobb méretezési korlátokat kínál.
Lemezméret Használjon olyan lemezméretet, amely az alkalmazáskövetelménynél nagyobb IOPS-t kínál. Használjon olyan lemezméretet, amelynek átviteli sebessége meghaladja az alkalmazásra vonatkozó követelményt. Olyan lemezméretet használjon, amely az alkalmazáskövetelménynél nagyobb méretezési korlátokat kínál.
Virtuálisgép- és lemezméretkorlátok A kiválasztott virtuálisgép-méret IOPS-korlátjának nagyobbnak kell lennie, mint a hozzá csatlakoztatott tárolólemezek által hajtott teljes IOPS- érték. A kiválasztott virtuálisgép-méret átviteli sebességkorlátjának nagyobbnak kell lennie, mint a hozzá csatlakoztatott prémium szintű tárolólemezek által hajtott teljes átviteli sebesség. A kiválasztott virtuálisgép-méret skálázási korlátainak nagyobbnak kell lenniük, mint a csatlakoztatott prémium szintű tárolólemezek teljes méretezési korlátja.
Lemez-gyorsítótárazás Engedélyezze a ReadOnly cache-t a prémium szintű tárolólemezeken írásvédett műveletekkel a magasabb olvasási IOPS-érték eléréséhez.   Engedélyezze a ReadOnly cache-t a prémium szintű tárolólemezeken olvasási nehéz műveletekkel, így nagyon alacsony az olvasási késés.
Lemez csíkozása Használjon több lemezt, és csíkozza őket együtt a magasabb IOPS- és átviteli sebességkorlátok együttes eléréséhez. A virtuális gépenkénti kombinált korlátnak magasabbnak kell lennie, mint a csatlakoztatott prémium lemezek összesített korlátja.    
Csíkméret Kisebb csíkméret véletlenszerű kis I/O-mintákhoz, amelyek az OLTP-alkalmazásokban láthatók. Például egy SQL Server OLTP-alkalmazáshoz használjon 64 KB-os csíkméretet. Nagyobb sávméret az adattárház-alkalmazásokban látható szekvenciális nagy I/O-mintához. Használjon például 256 KB-os sávméretet egy SQL Server-adattárház-alkalmazáshoz.  
Többszálúság Többszálú használatával több kérést küldhet le a prémium szintű tárolóba, hogy magasabb IOPS-t és átviteli sebességet eredményezzen. Az SQL Serveren például állítson be egy magas MAXDOP-értéket, hogy több processzort rendeljen az SQL Serverhez.    
Üzenetsor mélysége A nagyobb üzenetsormélység magasabb IOPS-t eredményez. A nagyobb üzenetsormélység nagyobb átviteli sebességet eredményez. A kisebb üzenetsormélység alacsonyabb késést eredményez.

Az I/O-kérelmek jellege

Az I/O-kérések az alkalmazás által végrehajtott bemeneti/kimeneti műveletek egysége. A véletlenszerű vagy szekvenciális, olvasási vagy írási (kis vagy nagy) I/O-kérések jellegének azonosítása segít meghatározni az alkalmazás teljesítménykövetelményeit. Fontos tisztában lenni az alkalmazásinfrastruktúra tervezésekor a megfelelő döntéseket hozó I/O-kérések természetével. Az I/OS-t egyenletesen kell elosztani a lehető legjobb teljesítmény eléréséhez.

Az I/O-méret az egyik legfontosabb tényező. Az I/O-méret az alkalmazás által létrehozott bemeneti/kimeneti műveleti kérelem mérete. Az I/O-méret jelentősen befolyásolja a teljesítményt, különösen az alkalmazás által elérhető IOPS és sávszélesség esetén. Az alábbi képlet az IOPS, az I/O mérete és a sávszélesség/átviteli sebesség közötti kapcsolatot mutatja be.

A diagram that shows the equation I O P S times I O size equals throughput.

Egyes alkalmazások lehetővé teszik az I/O-méret módosítását, míg egyes alkalmazások nem. Az SQL Server például maga határozza meg az optimális I/O-méretet, és nem biztosít a felhasználóknak gombokat a módosításhoz. Az Oracle viszont egy DB_BLOCK_SIZE nevű paramétert biztosít, amellyel konfigurálhatja az adatbázis I/O-kéréseinek méretét.

Ha olyan alkalmazást használ, amely nem teszi lehetővé az I/O méretének módosítását, az ebben a cikkben szereplő irányelvekkel optimalizálhatja az alkalmazás szempontjából legrelevánsabb teljesítmény-KPI-t. Például:

  • Az OLTP-alkalmazások több millió kis és véletlenszerű I/O-kérést generálnak. Az ilyen típusú I/O-kérések kezeléséhez az alkalmazásinfrastruktúrát úgy kell megterveznie, hogy magasabb IOPS-t kapjon.
  • Az adatraktározási alkalmazások nagy és szekvenciális I/O-kéréseket hoznak létre. Az ilyen típusú I/O-kérések kezeléséhez úgy kell megterveznie az alkalmazás-infrastruktúrát, hogy nagyobb sávszélességet vagy átviteli sebességet kapjon.

Ha olyan alkalmazást használ, amely lehetővé teszi az I/O méretének módosítását, használja ezt a hüvelykujjszabályt az I/O-mérethez a teljesítményre vonatkozó egyéb irányelvek mellett:

  • Kisebb I/O-méret a magasabb IOPS eléréséhez. Például 8 KB egy OLTP-alkalmazáshoz.
  • Nagyobb I/O-méret a nagyobb sávszélesség/átviteli sebesség eléréséhez. Egy adattárház-alkalmazás esetében például 1024 KB.

Íme egy példa az alkalmazás IOPS-jának és átviteli sebességének/sávszélességének kiszámítására.

Fontolja meg egy P30-lemezt használó alkalmazást. A P30-lemezek maximális IOPS- és átviteli sebessége/sávszélessége 5000 IOPS, illetve 200 MB/s. Ha az alkalmazásnak a P30-lemez maximális IOPS-ját kell használnia, és kisebb I/O-méretet használ, például 8 KB-ot, az eredményül kapott sávszélesség 40 MB/s. Ha az alkalmazáshoz a maximális átviteli sebesség/sávszélesség szükséges egy P30-lemezről, és nagyobb I/O-méretet használ, például 1024 KB-ot, az eredményül kapott IOPS kisebb, például 200 IOPS.

Állítsa be az I/O-méretet úgy, hogy az megfeleljen az alkalmazás IOPS-jának és átviteli sebességének/sávszélesség-követelményeinek. Az alábbi táblázat összefoglalja a különböző I/O-méreteket és azok megfelelő IOPS-ját és átviteli sebességét egy P30-lemezen.

Alkalmazáskövetelmény I/O-méret IOPS Átviteli sebesség/sávszélesség
Maximális IOPS 8 KB 5000 40 MB/s
Maximális átviteli sebesség 1024 KB 200 200 MB/s
Maximális átviteli sebesség + magas IOPS 64 KB 3,200 200 MB/s
Maximális IOPS + magas átviteli sebesség 32 KB 5000 160 MB/s

Ha egy prémium szintű tárolólemez maximális értékénél magasabb IOPS-t és sávszélességet szeretne elérni, használjon több, egymástól csíkozott prémium lemezt. Például két P30-lemezt csíkozza le, hogy 10 000 IOPS-os kombinált IOPS-t vagy 400 MB/s összesített átviteli sebességet kapjon. A következő szakaszban leírtak szerint olyan virtuálisgép-méretet kell használnia, amely támogatja a kombinált lemez IOPS-t és átviteli sebességet.

Megjegyzés:

Ahogy növeli az IOPS-t vagy az átviteli sebességet, a másik is nő. Ha valamelyiket növeli, győződjön meg arról, hogy nem éri el a lemez vagy a virtuális gép átviteli sebességét vagy IOPS-korlátait.

Az I/O-méret alkalmazásteljesítményre gyakorolt hatásának tanúsága érdekében teljesítményértékelési eszközöket futtathat a virtuális gépen és a lemezeken. Hozzon létre több tesztfuttatást, és használja az egyes futtatások eltérő I/O-méretét az effektus megtekintéséhez. További információkért tekintse meg a dokumentum végén található teljesítményértékelési cikkeket.

Nagy méretű virtuálisgép-méretek

Amikor elkezdi megtervezni az alkalmazást, az egyik első teendő egy virtuális gép kiválasztása az alkalmazás üzemeltetéséhez. A prémium szintű tároló nagy méretű virtuálisgép-méretekkel rendelkezik, amelyek nagyobb számítási teljesítményt és magas helyi lemez I/O-teljesítményt igénylő alkalmazásokat futtathatnak. Ezek a virtuális gépek gyorsabb processzorokat, nagyobb memória-mag arányt és SSD-t biztosítanak a helyi lemezhez. A prémium szintű tárolást támogató nagy méretű virtuális gépek például a DS- és GS-sorozatú virtuális gépek.

A nagy méretű virtuális gépek különböző méretekben érhetők el, különböző processzormagokkal, memóriával, operációs rendszerrel és ideiglenes lemezmérettel. Az egyes virtuális gépek méreteihez a virtuális géphez csatolható adatlemezek száma is maximális. A kiválasztott virtuálisgép-méret befolyásolja, hogy mennyi feldolgozási, memória- és tárkapacitás áll rendelkezésre az alkalmazás számára. Emellett hatással van a számítási és tárolási költségekre is. Az alábbi specifikációk például egy DS-sorozat és egy GS-sorozat legnagyobb virtuálisgép-méretére vonatkozóak.

Virtuális gép mérete CPU cores Memory Virtuálisgép-lemezméretek Adatlemezek maximális száma Gyorsítótár mérete IOPS Sávszélesség-gyorsítótár I/O-korlátai
Standard_DS14 16 112 GB OPERÁCIÓS RENDSZER = 1023 GB
Helyi SSD = 224 GB
32 576 GB 50 000 IOPS
512 MB/s
4000 IOPS és 33 MB/s
Standard_GS5 32 448 GB OPERÁCIÓS RENDSZER = 1023 GB
Helyi SSD = 896 GB
64 4224 GB 80 000 IOPS
2000 MB/s
5000 IOPS és 50 MB/s

Az összes elérhető Azure-beli virtuálisgép-méret teljes listájának megtekintéséhez tekintse meg az Azure-beli virtuális gépek méreteit. Válasszon ki egy virtuálisgép-méretet, amely megfelelhet a kívánt alkalmazásteljesítmény-követelményeknek, és skálázható. A virtuálisgép-méretek kiválasztásakor vegye figyelembe az alábbi fontos szempontokat is.

Méretezési korlátok

A virtuális gépekre és lemezekre vonatkozó maximális IOPS-korlátok eltérőek és függetlenek egymástól. Győződjön meg arról, hogy az alkalmazás az IOPS-t a virtuális gép és a hozzá csatlakoztatott prémium lemezek korlátain belül vezeti. Ellenkező esetben az alkalmazásteljesítmény szabályozása.

Tegyük fel például, hogy egy alkalmazáskövetelmény legfeljebb 4000 IOPS lehet. Ennek a szintnek a eléréséhez egy P30-lemezt kell kiépítenie egy DS1 virtuális gépen. A P30 lemez akár 5000 IOPS-t is képes szállítani. A DS1 virtuális gép azonban legfeljebb 3200 IOPS-ra korlátozódik. Így az alkalmazás teljesítményét a virtuálisgép-korlát 3200 IOPS-ra korlátozza, és a teljesítmény csökken. A helyzet elkerülése érdekében válasszon ki egy olyan virtuális gépet és lemezméretet, amely megfelel az alkalmazás követelményeinek.

A művelet költsége

Sok esetben előfordulhat, hogy a prémium szintű tárterülettel végzett üzemeltetés általános költsége alacsonyabb, mint a standard tárterület használata.

Vegyük például egy 16 000 IOPS-t igénylő alkalmazást. A teljesítmény eléréséhez egy Standard_D14 Azure IaaS virtuális gépre van szüksége, amely 32 szabványos 1 TB-os tárolólemez használatával maximálisan 16 000 IOPS-t adhat. Minden 1 TB-os standard tárolólemez legfeljebb 500 IOPS-t érhet el.

  • A virtuális gép becsült költsége havonta 1570 usd.
  • A 32 standard tárolólemez havi költsége 1638 dollár.
  • A becsült teljes havi költség 3208 USD.

Ha ugyanazt az alkalmazást prémium szintű tárolón üzemeltette, kisebb virtuálisgép-méretre és kevesebb prémium szintű tárolólemezre van szüksége, ami csökkenti a teljes költséget. A Standard_DS13 virtuális gépek négy P30 lemez használatával képesek megfelelni a 16 000 IOPS-követelménynek. A DS13 virtuális gép maximális IOPS-száma 25 600, és minden P30 lemezen legfeljebb 5000 IOPS található. Ez a konfiguráció összességében 5000 x 4 = 20 000 IOPS-t képes elérni.

  • A virtuális gép becsült költsége havonta 1003 usd.
  • Négy prémium P30-tárolólemez havi költsége 544,34 dollár.
  • A becsült teljes havi költség 1544 USD.

Az alábbi táblázat a standard és prémium szintű tárolás esetében összefoglalja ennek a forgatókönyvnek a költséglebontását.

Havi díj Standard Prémium
A virtuális gép költsége havonta 1570,58 USD (Standard_D14) 1003,66 USD (Standard_DS13)
Lemezköltségek havonta 1638,40 USD (32 x 1 TB lemez) 544,34 USD (4 x P30 lemez)
Havi teljes költség 3 208,98 USD 1 544,34 USD

Linux-disztribúciók

A prémium szintű tárolással ugyanazt a teljesítményt érheti el a Windowst és Linuxot futtató virtuális gépek esetében. A Linux disztribúciók számos ízét támogatjuk. További információ: Az Azure-ban támogatott Linux-disztribúciók.

A különböző disztribúciók jobban megfelelnek a különböző típusú számítási feladatoknak. A számítási feladat futtatásának disztribúciójától függően különböző teljesítményszintek láthatók. Tesztelje a Linux-disztribúciókat az alkalmazással, és válassza ki a legjobban működőt.

Ha prémium szintű tárolóval futtat Linuxot, ellenőrizze a szükséges illesztőprogramok legújabb frissítéseit a magas teljesítmény biztosítása érdekében.

Prémium szintű tárolólemezméretek

A Premium Storage különböző méreteket kínál, így kiválaszthatja az igényeinek leginkább megfelelőt. Minden lemezméretnek eltérő méretezési korlátja van az IOPS, a sávszélesség és a tárterület számára. Válassza ki a megfelelő prémium szintű tárolólemez méretet az alkalmazáskövetelményektől és a nagy méretű virtuális gép méretétől függően. Az alábbi táblázat a lemezek méretét és képességeit mutatja be. A P4, P6, P15, P60, P70 és P80 méretek jelenleg csak felügyelt lemezek esetén támogatottak.

Prémium SSD-méretek P1 P2 P3 P4 P6 P10 P15 P20 P30 P40 P50 P60 P70 P80
Lemezméret a GiB-ben 4 8 16 32 64 128 256 512 1,024 2048 4,096 8,192 16,384 32 767
Alapkiosztott IOPS lemezenként 120 120 120 120 240 500 1100 2300 5000 7500 7500 16,000 18000 20 000
**Kibontott kiosztott IOPS lemezenként N.A. N/A N/A N/A N/A N/A N/A N.A. 8,000 16,000 20 000 20 000 20 000 20 000
Alapkiosztott átviteli sebesség lemezenként 25 MB/s 25 MB/s 25 MB/s 25 MB/s 50 MB/s 100 MB/s 125 MB/s 150 MB/s 200 MB/s 250 MB/s 250 MB/s 500 MB/s 750 MB/s 900 MB/s
**Bővített kiosztott átviteli sebesség lemezenként N.A. N/A N/A N/A N/A N/A N/A N.A. 300 MB/s 600 MB/s 900 MB/s 900 MB/s 900 MB/s 900 MB/s
Lemezenkénti maximális kipukkadásos IOPS 3 500 3 500 3 500 3 500 3 500 3 500 3 500 3 500 30,000* 30,000* 30,000* 30,000* 30,000* 30,000*
Lemezenkénti maximális átviteli sebesség 170 MB/s 170 MB/s 170 MB/s 170 MB/s 170 MB/s 170 MB/s 170 MB/s 170 MB/s 1000 MB/s* 1000 MB/s* 1000 MB/s* 1000 MB/s* 1000 MB/s* 1000 MB/s*
Maximális kipukkadás időtartama 30 perc 30 perc 30 perc 30 perc 30 perc 30 perc 30 perc 30 perc Korlátlan* Korlátlan* Korlátlan* Korlátlan* Korlátlan* Korlátlan*
Foglalásra jogosult Nem Nem Nem Nem Nem Nem Nem Nem Igen, legfeljebb egy év Igen, legfeljebb egy év Igen, legfeljebb egy év Igen, legfeljebb egy év Igen, legfeljebb egy év Igen, legfeljebb egy év

*Csak olyan lemezekre vonatkozik, amelyeken engedélyezve van az igény szerinti kipukkadás.
** Csak azokra a lemezekre vonatkozik, amelyeken engedélyezve van a teljesítmény plusz (előzetes verzió) funkció.

A választott lemezmérettől függ, hogy hány lemezt választ. Egyetlen P50-lemezt vagy több P10-lemezt használhat az alkalmazáskövetelmény teljesítéséhez. A választás során vegye figyelembe az itt felsorolt szempontokat.

Méretezési korlátok (IOPS és átviteli sebesség)

Az egyes prémium lemezméretek IOPS- és átviteli sebességkorlátjai eltérnek a virtuálisgép-méretezési korlátoktól. Győződjön meg arról, hogy a lemezek teljes IOPS- és átviteli sebessége a kiválasztott virtuálisgép-méret méretkorlátán belül van.

Ha például egy alkalmazásra vonatkozó követelmény legfeljebb 250 MB/s átviteli sebesség, és egyetlen P30 lemezzel rendelkező DS4 virtuális gépet használ, a DS4 virtuális gép akár 256 MB/s átviteli sebességet is adhat. Egyetlen P30-lemez átviteli sebességkorlátja azonban 200 MB/s. Így az alkalmazás a lemezkorlát miatt 200 MB/s-nál van korlátozva. A korlát áthidalásához helyezzen üzembe több adatlemezt a virtuális gépre, vagy méretezze át a lemezeket P40-re vagy P50-re.

Megjegyzés:

A gyorsítótár által kiszolgált olvasások nem szerepelnek a lemez IOPS-jában és átviteli sebességében, így nem vonatkoznak rájuk a lemezkorlátok. A gyorsítótár virtuális gépenként külön IOPS- és átviteli sebességkorlátokkal rendelkezik.

Az olvasások és írások például kezdetben 60 MB/s, illetve 40 MB/s méretűek. Idővel a gyorsítótár felmelegedik, és egyre több olvasást szolgál ki a gyorsítótárból. Ezután magasabb írási átviteli sebességet kaphat a lemezről.

Lemezek száma

Az alkalmazáskövetelmények felmérésével meghatározhatja a szükséges lemezek számát. Az egyes virtuális gépek méreteinek korlátja a virtuális géphez csatolható lemezek száma. Ez az összeg általában a magok számának kétszerese. Győződjön meg arról, hogy a kiválasztott virtuálisgép-méret támogatja a szükséges lemezek számát.

Ne feledje, hogy a prémium szintű tárolólemezek nagyobb teljesítményűek a standard tárolólemezekhez képest. Ha az alkalmazást egy Azure IaaS virtuális gépről migrálja standard tárterületről prémium szintű tárolóra, valószínűleg kevesebb prémium lemezre van szüksége az alkalmazás azonos vagy magasabb teljesítményének eléréséhez.

Lemez-gyorsítótárazás

A prémium szintű tárolót használó nagy méretű virtuális gépek többhelyes gyorsítótárazási technológiával rendelkeznek, amelyet BlobCache-nek hívnak. A BlobCache a gazda RAM és a helyi SSD kombinációját használja a gyorsítótárazáshoz. Ez a gyorsítótár a prémium szintű tároló állandó lemezeihez és a virtuális gép helyi lemezeihez érhető el. Ez a gyorsítótár-beállítás alapértelmezés szerint ReadWrite az operációsrendszer-lemezekhez, a ReadOnly pedig a prémium szintű tárolón üzemeltetett adatlemezekhez van beállítva. Ha a prémium szintű tárolólemezeken engedélyezve van a lemez gyorsítótárazása, a nagy méretű virtuális gépek rendkívül magas teljesítményt érhetnek el, ami meghaladja a mögöttes lemez teljesítményét.

Figyelmeztetés

A lemez gyorsítótárazása nem támogatott a 4 TiB-os és nagyobb lemezeken. Ha több lemez van csatlakoztatva a virtuális géphez, minden 4 TiB-nál kisebb lemez támogatja a gyorsítótárazást.

Egy Azure-beli lemez gyorsítótár-beállításainak módosításakor a céllemez le lesz választva, és újra lesz csatlakoztatva. Ha ez az operációsrendszer-lemez, akkor a virtuális gép újraindul. A lemezgyorsítótár-beállítás módosítása előtt állítsa le azokat az alkalmazásokat és szolgáltatásokat, amelyeket érinthet ez a zavar. Ha nem követi ezeket a javaslatokat, az adatsérüléshez vezethet.

A BlobCache működésével kapcsolatos további információkért tekintse meg az Inside Azure Premium Storage blogbejegyzést.

Fontos engedélyezni a gyorsítótárazást a megfelelő lemezkészleten. Az, hogy engedélyeznie kell-e a lemez gyorsítótárazását egy prémium szintű lemezen, attól függ, hogy milyen számítási feladatot használ a lemez. Az alábbi táblázat az operációs rendszer és az adatlemezek alapértelmezett gyorsítótárbeállításait mutatja be.

Disk type Alapértelmezett gyorsítótár-beállítás
OS disk ReadWrite
Data disk Olvasás

Az adatlemezekhez az alábbi lemezgyorsítótár-beállításokat javasoljuk.

Lemez gyorsítótárazási beállítása Javaslat a beállítás használatának időpontjára
None Konfigurálja a gazdagép-gyorsítótárat Nincsként írási és írási nehéz lemezekhez.
Olvasás Konfigurálja a gazdagép-gyorsítótárat Írásvédettként írásvédett és írásvédett lemezekhez.
ReadWrite Csak akkor konfigurálja a gazdagép-gyorsítótárat ReadWrite-ként, ha az alkalmazás megfelelően kezeli a gyorsítótárazott adatok állandó lemezekre való írását, ha szükséges.

Olvasás

A ReadOnly gyorsítótárazásának prémium szintű tárolólemezeken való konfigurálásával alacsony olvasási késést érhet el, és két okból nagyon magas olvasási IOPS-t és átviteli sebességet érhet el az alkalmazás számára:

  1. A gyorsítótárból , amely a virtuális gép memóriájában és a helyi SSD-ben történik, gyorsabb, mint az Azure Blob Storage-on található adatlemezről történő olvasás.
  2. A prémium szintű tároló nem számítja meg a gyorsítótárból a lemez IOPS-jának és átviteli sebességének felé irányuló olvasásokat. Ezért az alkalmazás nagyobb teljes IOPS-t és átviteli sebességet érhet el.

ReadWrite

Alapértelmezés szerint az operációsrendszer-lemezeken engedélyezve van a ReadWrite gyorsítótárazása. Nemrég hozzáadtuk a ReadWrite gyorsítótárazásának támogatását az adatlemezeken is. Ha ReadWrite-gyorsítótárazást használ, megfelelő módon kell írnia az adatokat a gyorsítótárból az állandó lemezekre. Az SQL Server például önállóan kezeli a gyorsítótárazott adatok írását az állandó tárolólemezekre. A ReadWrite-gyorsítótár olyan alkalmazással való használata, amely nem kezeli a szükséges adatok megőrzését, adatvesztéshez vezethet, ha a virtuális gép összeomlik.

None

Jelenleg a None csak adatlemezeken támogatott. Operációsrendszer-lemezeken nem támogatott. Ha a Nincs beállítást egy operációsrendszer-lemezen állítja be, az belsőleg felülbírálja ezt a beállítást, és readOnly értékre állítja.

Ezeket az irányelveket például a prémium szintű tárterületen futó SQL Serverre az alábbi lépések végrehajtásával alkalmazhatja:

  1. Konfigurálja a ReadOnly cache-t az adatfájlokat tároló prémium szintű tárolólemezeken.
    1. A gyorsítótárból érkező gyors olvasások csökkentik az SQL Server lekérdezési idejét, mivel az adatoldalak gyorsabban lekérhetők a gyorsítótárból, mint közvetlenül az adatlemezekről.
    2. Az olvasások gyorsítótárból való kiszolgálása azt jelenti, hogy több átviteli sebesség érhető el a prémium szintű adatlemezekről. Az SQL Server ezt az extra átviteli sebességet további adatlapok és egyéb műveletek, például biztonsági mentés/visszaállítás, kötegbetöltések és index-újraépítések lekérésére használhatja.
  2. Konfigurálja a Nincs gyorsítótárat a naplófájlokat tároló prémium szintű tárolólemezeken.
    1. A naplófájlok elsősorban írási műveleteket végeznek, így nem élvezik a ReadOnly cache előnyeit.

Teljesítmény optimalizálása Linux rendszerű virtuális gépeken

Az összes Prémium SSD vagy Ultra Disk esetében letilthatja a lemez fájlrendszereinek akadályait a teljesítmény javítása érdekében, ha ismert, hogy nincsenek olyan gyorsítótárak, amelyek adatvesztést okozhatnak. Ha az Azure-lemez gyorsítótárazása ReadOnly vagy None értékre van állítva, letilthatja a korlátokat. Ha azonban a gyorsítótárazás ReadWrite értékre van állítva, az írási tartósság biztosítása érdekében a korlátoknak továbbra is engedélyezettnek kell lenniük. A korlátok általában alapértelmezés szerint engedélyezve vannak, de a fájlrendszer típusától függően az alábbi módszerek egyikével tilthatja le a korlátokat:

  • reiserFS: A korlátok letiltásához használja a barrier=none csatlakoztatási lehetőséget. A korlátok explicit engedélyezéséhez használja a barrier=flush parancsot.
  • ext3/ext4: A sorompó=0 csatlakoztatási lehetőséggel tiltsa le a korlátokat. Az akadályok explicit engedélyezéséhez használja a barrier=1 paramétert.
  • XFS: A nobarrier csatlakoztatási lehetőséggel tiltsa le a korlátokat. A korlátok explicit engedélyezéséhez használjon akadályt. A linuxos fő kernel 4.10-es verziójától az XFS fájlrendszer kialakítása mindig biztosítja a tartósságot. A korlátok letiltása nincs hatással, és a nobarrier lehetőség elavult. Előfordulhat azonban, hogy egyes Linux-disztribúciók visszaküldték a korábbi kernelverzióval rendelkező disztribúciós kiadás módosításait. Kérdezze meg a terjesztési szállítót a futtatott disztribúció és verzió állapotáról.

Lemez csíkozása

Ha egy nagy méretű virtuális géphez több prémium szintű állandó tárolólemez csatlakozik, a lemezek együtt csíkozhatók az IOP-k, a sávszélesség és a tárolási kapacitás összesítése érdekében.

Windows rendszeren a Tárolóhelyek használatával együtt csíkozza a lemezeket. A készlet minden lemezéhez konfigurálnia kell egy oszlopot. Ellenkező esetben a csíkos kötet általános teljesítménye a vártnál alacsonyabb lehet, mert a lemezek közötti forgalom egyenetlen eloszlása miatt.

A Kiszolgálókezelő felhasználói felület használatával beállíthatja az oszlopok 8 teljes számát csíkos kötetre. Ha nyolcnál több lemezt csatlakoztat, a PowerShell használatával hozza létre a kötetet. A PowerShell használatával beállíthatja, hogy hány oszlop legyen egyenlő a lemezek számával. Ha például egy sávkészletben 16 lemez található, adjon meg 16 oszlopokat a NumberOfColumnsNew-VirtualDisk PowerShell-parancsmag paraméterében.

Linuxon az MDADM segédprogrammal sztriptízelje együtt a lemezeket. A lemezek Linuxon való leválasztására vonatkozó lépésekért tekintse meg a Szoftveres RAID konfigurálása Linuxon című témakört.

Csíkméret

A lemezcsíkolás fontos konfigurációja a csíkméret. A csíkméret vagy a blokkméret a legkisebb adattömb, amelyet egy alkalmazás képes kezelni egy csíkos köteten. A konfigurált csíkméret az alkalmazás típusától és a kérelem mintájától függ. Ha nem a megfelelő csíkméretet választja, az I/O-eltéréshez vezethet, ami az alkalmazás teljesítménycsökkenéséhez vezethet.

Ha például az alkalmazás által generált I/O-kérés nagyobb, mint a lemezcsík mérete, a tárolórendszer több lemezen is megírja a csíkos egységhatárok között. Ha ideje hozzáférni az adatokhoz, több csíkos egységben kell keresnie a kérés teljesítéséhez. Az ilyen viselkedés kumulatív hatása jelentős teljesítménycsökkenéshez vezethet. Ha azonban az I/O-kérés mérete kisebb a csíkméretnél, és véletlenszerűen történik, az I/O-kérések ugyanazon a lemezen is megjelenhetnek, ami szűk keresztmetszetet okoz, és végső soron rontja az I/O-teljesítményt.

Az alkalmazás által futtatott számítási feladat típusától függően válasszon egy megfelelő csíkméretet. Kisebb I/O-kérelmek esetén használjon kisebb csíkméretet. Nagy szekvenciális I/O-kérések esetén használjon nagyobb csíkméretet. Ismerje meg a prémium szintű tárolón futó alkalmazás csíkméretére vonatkozó javaslatokat. SQL Server esetén konfiguráljon egy 64 KB-os sávméretet az OLTP számítási feladatokhoz, és 256 KB-ot az adattárház-számítási feladatokhoz. További információkért tekintse meg az Azure-beli virtuális gépeken futó SQL Server teljesítményével kapcsolatos ajánlott eljárásokat.

Megjegyzés:

A DS-sorozatú virtuális gépeken legfeljebb 32 prémium szintű, GS-sorozatú virtuális gépen pedig 64 prémium szintű tárolólemezt vetíthet le.

Többszálúság

Az Azure úgy tervezte meg a prémium szintű tárolási platformot, hogy nagy mértékben párhuzamos legyen. Ezért a többszálas alkalmazások nagyobb teljesítményt érnek el, mint egy szálas alkalmazások. A többszálas alkalmazások több szálra osztják fel a feladataikat, és a virtuális gép és a lemez erőforrásainak maximális kihasználásával növelik a végrehajtás hatékonyságát.

Ha például az alkalmazás egy magos virtuális gépen fut két szál használatával, a cpu a hatékonyság érdekében válthat a két szál között. Amíg az egyik szál a lemez I/O-ján vár a befejezésre, a processzor átválthat a másik szálra. Ily módon két szál többre képes, mint egyetlen szál. Ha a virtuális gép egynél több maggal rendelkezik, tovább csökkenti a futási időt, mivel minden mag párhuzamosan futtathat feladatokat.

Előfordulhat, hogy nem tudja módosítani, hogy egy polcon kívüli alkalmazás hogyan valósítja meg az egyszálas vagy többszálas műveletet. Az SQL Server például képes több processzoros és többmagos kezelésre. Az SQL Server azonban eldönti, hogy milyen feltételek mellett használ egy vagy több szálat egy lekérdezés feldolgozásához. Többszálú használatával lekérdezéseket futtathat és indexeket hozhat létre. Olyan lekérdezések esetében, amelyek nagy táblákhoz való csatlakozást és adatok rendezését foglalják magukban, mielőtt visszatérnek a felhasználóhoz, az SQL Server valószínűleg több szálat használ. A felhasználó nem tudja szabályozni, hogy az SQL Server egyetlen szál vagy több szál használatával futtat-e lekérdezést.

Vannak olyan konfigurációs beállítások, amelyeket módosíthatja az alkalmazások többszálú vagy párhuzamos feldolgozásának befolyásolásához. Az SQL Server esetében például ez a max degree of parallelism konfiguráció. Ez a MAXDOP nevű beállítás lehetővé teszi az SQL Server által a párhuzamos feldolgozás során használható processzorok maximális számának konfigurálását. A MAXDOP egyéni lekérdezésekhez vagy indexműveletekhez konfigurálható. Ez a képesség akkor hasznos, ha a rendszer erőforrásait egy teljesítmény szempontjából kritikus fontosságú alkalmazáshoz szeretné egyensúlyba helyezni.

Tegyük fel például, hogy az SQL Servert használó alkalmazás nagy lekérdezést és indexelési műveletet futtat egyszerre. Tegyük fel, hogy azt akarta, hogy az indexművelet teljesíthetőbb legyen a nagy lekérdezéshez képest. Ilyen esetben beállíthatja, hogy az indexművelet MAXDOP értéke magasabb legyen, mint a lekérdezés MAXDOP értéke. Így az SQL Server több processzorral rendelkezik, mint amennyit az indexművelethez használhat a nagy lekérdezésre fordítható processzorok számához képest. Ne feledje, hogy az SQL Server által az egyes műveletekhez használt szálak száma nem szabályozható. Szabályozhatja a többszálas használatra dedikált processzorok maximális számát.

További információ az SQL Server párhuzamossági fokairól. Megtudhatja, hogy ezek a beállítások hogyan befolyásolják az alkalmazás többszálú használatát és azok konfigurációit a teljesítmény optimalizálása érdekében.

Üzenetsor mélysége

Az üzenetsor mélysége, az üzenetsor hossza vagy az üzenetsor mérete a rendszerben függőben lévő I/O-kérések száma. Az üzenetsor mélységének értéke határozza meg, hogy az alkalmazás hány I/O-műveletet tud sorba állítani, és melyik tárolólemezek dolgozzanak fel. Ez az ebben a cikkben tárgyalt mindhárom alkalmazásteljesítmény-mutatót érinti: IOPS, átviteli sebesség és késés.

Az üzenetsorok mélysége és a többszálúság szorosan összefügg. Az üzenetsor mélységi értéke azt jelzi, hogy az alkalmazás mennyi többszálú elemet képes elérni. Ha az üzenetsor mélysége nagy, az alkalmazás több műveletet is futtathat egyidejűleg, vagyis többszálúbbá. Ha az üzenetsor mélysége kicsi, annak ellenére, hogy az alkalmazás többszálú, az egyidejű végrehajtáshoz nem lesz elegendő sorba rendezett kérés.

A polcon kívüli alkalmazások általában nem teszik lehetővé a várólista mélységének módosítását, mert ha helytelenül van beállítva, az több kárt okoz, mint jó. Az alkalmazások a várólista mélységének megfelelő értéket állítják be az optimális teljesítmény eléréséhez. Fontos megérteni ezt a koncepciót, hogy elháríthassa az alkalmazás teljesítményproblémáinak elhárítását. A várólista mélységének hatásait a rendszer teljesítményértékelési eszközeinek futtatásával is megfigyelheti.

Egyes alkalmazások olyan beállításokat biztosítanak, amelyek befolyásolják az üzenetsor mélységét. Az SQL Server MAXDOP-beállítását például az előző szakaszban ismertette. A MAXDOP az üzenetsorok mélységének és a többszálúságnak a befolyásolására szolgál, bár közvetlenül nem módosítja az SQL Server üzenetsormélység-értékét.

Magas várólista mélysége

A magas várólista-mélység további műveleteket is felsorakozza a lemezen. A lemez előre ismeri az üzenetsor következő kérését. A lemez tehát előre ütemezheti a műveleteket, és optimális sorrendben feldolgozhatja őket. Mivel az alkalmazás több kérelmet küld a lemezre, a lemez több párhuzamos I/OS-t képes feldolgozni. Végső soron az alkalmazás magasabb IOPS-t érhet el. Mivel az alkalmazás több kérést dolgoz fel, az alkalmazás teljes átviteli sebessége is nő.

Az alkalmazások általában maximális átviteli sebességet érhetnek el, a csatlakoztatott lemezenként 8–16+ kiemelkedő I/OS-vel. Ha az üzenetsor mélysége egy, az alkalmazás nem küld elég I/OS-t a rendszerbe, és egy adott időszakban kisebb mennyiséget dolgoz fel. Más szóval, kevesebb átviteli sebesség.

Az SQL Serverben például egy lekérdezés 4 MAXDOP-értékének beállítása tájékoztatja az SQL Servert, hogy legfeljebb négy magot használhat a lekérdezés futtatásához. Az SQL Server meghatározza a legjobb üzenetsormélység-értéket és a lekérdezés végrehajtásához szükséges magok számát.

Az üzenetsor optimális mélysége

A nagyon magas üzenetsormélység-érték hátrányai is vannak. Ha az üzenetsor mélységi értéke túl magas, az alkalmazás nagyon magas IOPS-t próbál vezetni. Ha az alkalmazás nem rendelkezik elegendő kiosztott IOPS-val rendelkező állandó lemezekkel, a nagyon magas üzenetsor-mélységi érték negatívan befolyásolhatja az alkalmazás késését. Az alábbi képlet az IOPS, a késés és az üzenetsor mélysége közötti kapcsolatot mutatja be.

A diagram that shows the equation I O P S times latency equals queue depth.

Az üzenetsorok mélységét nem nagy értékre, hanem optimális értékre kell konfigurálnia, amely elegendő IOPS-t képes biztosítani az alkalmazás számára a késések befolyásolása nélkül. Ha például az alkalmazás késésének 1 ezredmásodpercnek kell lennie, az 5000 IOPS eléréséhez szükséges üzenetsormélység QD = 5000 x 0,001 = 5.

Üzenetsor mélysége csíkos kötethez

Csíkos kötet esetén elég nagy üzenetsor-mélységet kell fenntartania, hogy minden lemeznek külön-külön legyen a várólisták csúcsmélysége. Vegyük például azt az alkalmazást, amely leküldi az üzenetsor mélységét 2 , és négy lemez van a csíkban. A két I/O-kérés két lemezre kerül, a fennmaradó két lemez pedig tétlen. Ezért konfigurálja az üzenetsor mélységét, hogy az összes lemez foglalt legyen. Az alábbi képlet bemutatja, hogyan határozható meg a csíkos kötetek várólistamélysége.

A diagram that shows the equation Q D per disk times number of columns per volume equals Q D of striped volume.

Throttling

A prémium szintű tárolás meghatározott számú IOPS-t és átviteli sebességet biztosít a kiválasztott virtuálisgép-méretektől és lemezmérettől függően. Amikor az alkalmazás megpróbálja az IOPS-t vagy az átviteli sebességet a virtuális gép vagy lemez ezen korlátai fölé vezetni, a prémium szintű tárolás szabályozza azt. Az eredmény csökkentett teljesítmény az alkalmazásban, ami nagyobb késést, alacsonyabb átviteli sebességet vagy alacsonyabb IOPS-t jelenthet.

Ha a prémium szintű tárolás nem oldja meg a szabályozást, az alkalmazás teljes mértékben meghiúsulhat, ha túllépi az erőforrásai által elérhető teljesítményt. A szabályozás miatti teljesítményproblémák elkerülése érdekében mindig elegendő erőforrást kell kiépítenie az alkalmazás számára. Vegye figyelembe az előző virtuálisgép-méretekkel és lemezméretekkel kapcsolatos szakaszokban tárgyaltakat. A teljesítménymérés a legjobb módszer annak megállapítására, hogy milyen erőforrásokra van szüksége az alkalmazás üzemeltetéséhez.

További lépések

Ha a lemez teljesítményértékelését szeretné megtekinteni, tekintse meg az alábbi cikkeket:

További információ az elérhető lemeztípusokról:

Sql Server-felhasználók esetén tekintse meg az SQL Server teljesítményével kapcsolatos ajánlott eljárásokat ismertető cikkeket: