Azure Premium Storage: nagy teljesítményű rendszer tervezése

A következőkre vonatkozik: ✔️ Linux rendszerű virtuális gépek ✔️ Windows virtuális gépek ✔️ Rugalmas méretezési készletek ✔️ Egységes méretezési készletek

Ez a cikk a nagy teljesítményű alkalmazások Azure-beli virtuális Prémium Storage. Az ebben a dokumentumban található utasításokat kombinálhatja az alkalmazás által használt technológiák teljesítményével kapcsolatos ajánlott eljárásokkal. Az irányelvek szemléltetésére a dokumentumban SQL Server a Prémium Storage futtatott alkalmazásokat.

Bár ebben a cikkben a Storage teljesítményforgatókönyvekkel foglalkozunk, optimalizálni kell az alkalmazásréteget. Ha például egy azure SharePoint farmot Prémium Storage, a cikk SQL Server példákkal optimalizálhatja az adatbázis-kiszolgálót. Emellett optimalizálja a SharePoint Farm webkiszolgálóját és alkalmazáskiszolgálóját a legjobb teljesítmény érdekében.

Ez a cikk segítséget nyújt az azure-beli alkalmazások teljesítményének optimalizálásával kapcsolatos gyakori kérdések Prémium Storage.

  • Az alkalmazás teljesítményének mérése
  • 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 Storage?
  • Hogyan befolyásolják ezek a tényezők az alkalmazás teljesítményét a Prémium Storage?
  • Hogyan optimalizálható az IOPS, a sávszélesség és a késés?

Ezeket az irányelveket kifejezetten a teljesítményre Prémium Storage, mivel a Prémium Storage futó számítási feladatok rendkívül érzékenyek a teljesítményre. Ahol lehetséges, példákat is adtunk. Ezen irányelvek némelyikét alkalmazhatja a Standard virtuális gépekkel futó IaaS virtuális gépeken futó Storage is.

Megjegyzés

Olykor, ami lemezteljesítmény-problémának tűnik, valójában hálózati szűk keresztmetszet. Ilyen esetekben optimalizálja a hálózati teljesítményt.

Ha a lemez teljesítménytesztet keres, tekintse meg a lemez teljesítménytesztjére vonatkozó cikkeket:

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

Mielőtt elkezdené, ha még csak most kezdi el Prémium Storage, olvassa el a Select an Azure disk type for IaaS VMs and Scalability targets for premium page blob storage accounts (Azure-lemeztípus kiválasztása IaaS virtuális gépekhez és Skálázhatósági célok prémium szintű lapblob-tárfiókok számára) fejezetet.

Alkalmazásteljesítmény-jelzők

Felmérjük, hogy egy alkalmazás jól teljesít-e vagy sem, olyan teljesítménymutatókat használva, mint például a felhasználói kérések feldolgozásának időtartama, az alkalmazás által kérésenként feldolgozott adatok száma, a kérések száma egy adott időszakban, mennyi ideig kell várnia a felhasználónak, hogy választ kap 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 és a késés.

Ebben a szakaszban a gyakori teljesítménymutatókat tárgyaljuk a teljesítménymutatók Prémium Storage. A következő, Alkalmazáskövetelmények gyűjtése című szakaszban megtudhatja, hogyan mérheti meg ezeket a teljesítménymutatókat az alkalmazásához. Az alkalmazás teljesítményének optimalizálása során később megismeri azokat a tényezőket, amelyek hatással vannak ezekre a teljesítménymutatókra és az optimalizálási javaslatokra.

IOPS

Az IOPS vagy a Másodpercenkénti bemeneti/kimeneti műveletek száma az alkalmazás által a tárolólemezre egy másodperc alatt küldött kérések száma. 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 kereskedelmi webhelynek számos egyidejű felhasználói kérést kell azonnal feldolgoznia. A felhasználói kérések beszúrási és frissítési intenzív adatbázis-tranzakciók, amelyeket az alkalmazásnak gyorsan fel kell dolgoznunk. Ezért az OLTP-alkalmazások nagyon magas IOPS-t igényelnek. Az ilyen alkalmazások több millió kis és véletlenszerű I/O-kérést kezelnek. Ha rendelkezik ilyen alkalmazással, az IOPS-optimalizálás érdekében meg kell terveznie az alkalmazás-infrastruktúrát. Az alkalmazás teljesítményének optimalizálása című későbbi szakaszban részletesen ismertetjük az összes olyan tényezőt, amely magas IOPS-értékhez szükséges.

Ha prémium szintű tárolót csatlakoztat a nagy méretű virtuális gépéhez, az Azure a lemez specifikációinak megfelelően kiosztja a garantált IOPS-t. 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. Például egy Standard GS5 virtuális gép IOPS-korlátja 80 000.

Teljesítmény

Az átviteli sebesség vagy sávszélesség az az adatmennyiség, amit az alkalmazás a tárolólemezre küld a megadott időintervallumban. Ha az alkalmazás nagy I/O-egységméretű bemeneti/kimeneti műveleteket hajt végre, nagy átviteli sebességet igényel. Az adatraktár-alkalmazások általában vizsgálatigényes műveleteket végeznek, amelyek egyszerre nagy mennyiségű adathoz férnek hozzá, és gyakran végeznek tömeges műveleteket. Más szóval az ilyen alkalmazások nagyobb átviteli sebességet igényelnek. Ha rendelkezik ilyen alkalmazással, úgy kell terveznie az infrastruktúráját, hogy optimalizálja az átviteli sebességet. A következő szakaszban részletesen tárgyaljuk az ehhez hangolni kívánt tényezőket.

Amikor prémium szintű tárolólemezt csatlakoztat egy nagy méretű virtuális géphez, az Azure az átviteli sebességet a lemez specifikációja szerint kijavul. 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 átviteli sebesség és az IOPS közötti kapcsolat az alábbi képletben látható.

Az IOPS és az átviteli sebesség relációs viszonya

Ezért fontos meghatározni az optimális átviteli sebességet és IOPS-értékeket, amelyekre az alkalmazásnak szüksége van. Amikor megpróbálja optimalizálni az egyiket, a másik is hatással lesz rá. Egy későbbi, Az alkalmazásteljesítmény optimalizálása című szakaszban az IOPS és az átviteli sebesség optimalizálásával kapcsolatos további részleteket tárgyaljuk.

Késés

A késés az az idő, amely alatt az alkalmazás egyetlen kérést kap, elküldi a tárolólemezre, és elküldi a választ az ügyfélnek. Ez az IOPS és az átviteli sebesség mellett az alkalmazás teljesítményének kritikus mérője. A prémium szintű tárolólemezek késése az az idő, amely alatt lekéri a kéréshez szükséges információkat, és közli azt az alkalmazással. Prémium Storage egységesen alacsony késést biztosít. Prémium A lemezek úgy vannak kialakítva, hogy a legtöbb I/O-művelethez egyszámjegyű ezredmásodperces késést biztosítanak. Ha engedélyezi a ReadOnly gazdagép-gyorsítótárazást a prémium szintű tárolólemezen, sokkal alacsonyabb olvasási késést kaphat. A lemezteljesítményt Caching az alkalmazás teljesítményének optimalizálását tárgyaljuk egy későbbi szakaszban.

Ha úgy optimalizálja az alkalmazást, hogy magasabb IOPS-t és átviteli sebességet kap, az hatással lesz 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áratlan nagy késési viselkedést.

A következő vezérlősíkműveleteket Managed Disks lemez egyik helyről a másikra Storage át. A vezénylést az adatok háttérmásolata veszi igénybe, amely több órát is igénybe vehet, általában kevesebb mint 24 órát 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óak az eredeti helyre, és hosszabb ideig is tarthat. Ebben az időszakban nincs hatással az írási késésre.

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

Teljesítményalkalmazások ellenőrzőlistája lemezekhez

Az Azure-on futó nagy teljesítményű alkalmazások tervezésének első Prémium Storage az alkalmazás teljesítménykövetelményeinek megértése. Miután összegyűjtötte a teljesítménybeli követelményeket, optimalizálhatja az alkalmazást a legjobb teljesítmény elérése érdekében.

Az előző szakaszban ismertettünk néhány gyakori teljesítménymutatót, az IOPS-t, az átviteli sebességet és a késést. Meg kell határoznia, hogy mely teljesítménymutatók kritikus fontosságúak az alkalmazás számára a kívánt felhasználói élmény eléréséhez. A magas IOPS-érték például a legnagyobb fontos az OLTP-alkalmazások számára, amelyek több millió tranzakciót feldolgoznak egy másodperc alatt. Míg a nagy átviteli sebesség kritikus fontosságú Data Warehouse nagy mennyiségű adatot feldolgozó alkalmazások számára. A rendkívül alacsony késés elengedhetetlen az olyan valós idejű alkalmazásokhoz, mint az élő videóstreamelési webhelyek.

Ezután mérje meg az alkalmazás maximális teljesítménykövetelményét az élettartama során. Kezdésként használja az alábbi ellenőrzőlistát. Rögzítse a maximális teljesítménykövetelményeket normál, csúcs- és munkaidőn kívüli számítási időszakokban. Az összes számítási feladatszint követelményeinek meghatározásával meghatározhatja az alkalmazás általános teljesítménykövetelményét. Egy e-kereskedelmi webhely normál munkaterhelése például az egy év legtöbb napjára vonatkozó tranzakciók lesznek. A webhely csúcsterhelése az ünnepi időszakban vagy különleges értékesítési események során használt tranzakciók lesznek. A csúcsterhelés általában korlátozott ideig tapasztalható, de megkövetelheti, hogy az alkalmazás a normál működésének két vagy több alkalommal legyen skálázva. Ismerje meg az 50 percentilisre, 90 percentilisre és 99 percentilisre vonatkozó követelményeket. Ez segít kiszűrni a teljesítménykövetelmények kieső értékeit, és ön a megfelelő értékekre optimalizálhat.

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

Teljesítményre vonatkozó követelmények 50 Percentilis 90 Percentilis 99 Percentilis
Legfeljebb Tranzakciók másodpercenként
Olvasási műveletek %-os százaléka
Írási műveletek %-os százaléka
Véletlenszerű műveletek %-os arányban
Szekvenciális műveletek %-os arányban
IO-kérelem mérete
Átlagos átviteli sebesség
Legfeljebb Teljesítmény
Min. Késés
Átlagos késés
Legfeljebb CPU
Átlagos processzorhasználat
Legfeljebb Memória
Átlagos memória
Üzenetsor mélysége

Megjegyzés

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

Ha már van alkalmazása, és át szeretne lépni a Prémium Storage, először készítse el a fenti ellenőrzőlistát a meglévő alkalmazáshoz. Ezután készítse el az alkalmazás prototípusát a Prémium Storage és tervezse meg az alkalmazást a dokumentum egy későbbi szakaszában, az Alkalmazás teljesítményének optimalizálása című szakaszban ismertetett irányelvek alapján. A következő cikk azokat az eszközöket ismerteti, amelyek segítségével összegyűjtheti a teljesítményméréseket.

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

Az alkalmazás teljesítményigényének mérésére a legjobb módszer a kiszolgáló operációs rendszere által biztosított teljesítményfigyelési eszközök használata. A PerfMon linuxos gépekhez Windows iostat használható. Ezek az eszközök a fenti szakaszban leírtak szerint az egyes mértékeknek megfelelő számlálókat rögzítik. Rögzítenie kell ezeknek a számlálóknak az értékeit, amikor az alkalmazás normál, csúcs- és munkaidőn kívüli számítási feladatokat futtat.

A teljesítményszámlálók a kiszolgáló minden egyes logikai lemezéhez és fizikai lemezéhez elérhetők processzorhoz, memóriához és fizikai lemezhez. Ha prémium szintű tárolólemezeket használ egy virtuális géphez, 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ólemezen létrehozott kötetekhez vannak megszabadva. Rögzítenie kell az alkalmazás számítási feladatait tároló lemezek értékeit. Ha a logikai és a fizikai lemezek között egy-az-egyhez típusú leképezés található, akkor a fizikai lemez számlálóira is hivatkozhat; egyéb esetben tekintse meg a logikai lemez számlálóit. Linux rendszeren az iostat parancs létrehoz egy processzor- és lemezhasználati jelentést. A lemezhasználati jelentés fizikai eszközönként vagy partíciónként biztosít statisztikákat. Ha külön lemezeken tárolja az adatbázis-kiszolgáló adatait, és külön lemezen naplózza őket, gyűjtse össze mindkét lemez adatait. Az alábbi táblázat a lemezek, processzorok és memória számlálóit ismerteti:

Számláló Description Perfmon Iostat (Iostat)
IOPS vagy tranzakciók másodpercenként A tárolólemeznek másodpercenként kiadott I/O-kérések száma. Lemez olvasása másodpercenként
Lemezírások másodpercenként
Tps
r/s
s/s
Lemez olvasása és írása A lemezen végrehajtott olvasási és írási műveletek %-a. Lemez olvasási ideje (% )
Lemez írási ideje (% )
r/s
s/s
Átviteli sebesség A lemezről másodpercenként beolvasott vagy a lemezre írt adatok mennyisége. Lemez olvasási bájt/s
Lemezírás (bájt/s)
kB_read/s
kB_wrtn/s
Késés Lemez I/O-kérésének befejezéséhez szükséges teljes idő. Átlagos lemez mp/olvasás
Átlagos lemez mp/írás
Várja
svctm
I/O-méret A tárolólemezek számára az I/O-kérések mérete problémákat okozhat. Átlagos lemezbájt/olvasás
Átlagos lemezbájt/írási érték
avgrq-sz
Üzenetsor mélysége Azon függőben lévő I/O-kérések száma, amelyek a tárolólemezről való olvasásra vagy írásra várnak. Aktuális lemez-várólista hossza avgqu-sz
Maximális memória Az alkalmazás zökkenőmentes futtatásához szükséges memória mennyisége Előjegyzett memória kihasználtsága (%) A vmstat használata
Max. CPU Az alkalmazás zökkenőmentes futtatásához szükséges cpu-mennyiség Processzoridő %-ban %util

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

Alkalmazásteljesítmény optimalizálása

A Prémium Storage-on futó alkalmazások teljesítményét befolyásoló fő tényezők a következőek: Az I/O-kérések természete, a virtuális gép mérete, a lemezméret, a lemezek száma, a lemez-gyorsítótárazás, a többszálas és az üzenetsor mélysége. Ezen tényezők némelyikét 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 és a várólista mélységének közvetlen megváltoztatására. Ha például az I/O-méretet SQL Server, nem választhatja ki az IO-méretet és az üzenetsor mélységét. SQL Server optimális I/O-méretet és üzenetsormélység-értékeket választ a legjobb teljesítmény elérése érdekében. Fontos megérteni, hogy mindkét tényező milyen hatással van az alkalmazás teljesítményére, hogy megfelelő erőforrásokat tud létesítsen ki a teljesítménybeli igényeknek megfelelően.

Ebben a szakaszban a létrehozott alkalmazáskövetelmények ellenőrzőlistája alapján megállapíthatja, hogy mennyire van szüksége az alkalmazás teljesítményének optimalizálásához. Ebből a szakaszból megállapíthatja, hogy mely tényezőket kell hangolnia. Az egyes tényezők alkalmazásteljesítményre gyakorolt hatásának tanúsítása érdekében futtatassa a teljesítményteszt-eszközöket az alkalmazás beállításán. Tekintse meg a teljesítményméréssel kapcsolatos, a végén hivatkozott cikket, amely a gyakori teljesítményteszt-eszközök futtatásának lépéseit Windows linuxos virtuális gépeken.

Az IOPS, az átviteli sebesség és a késés egyetlen pillantással optimalizálható

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

A virtuálisgép-méretekkel, valamint az egyes virtuálisgép-típusokkal elérhető IOPS-értékekkel, átviteli sebességtel és késéssel kapcsolatos további információkért lásd: Sizes for virtual machines in Azure (Virtuális gépek méretei az Azure-ban).

IOPS Átviteli sebesség Késés
Példaforgatókönyv Nagyvállalati OLTP-alkalmazás, amely nagyon magas másodpercenkénti tranzakciókat igényel. Nagy mennyiségű adatot feldolgozó vállalati adatraktározási 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 online játékok.
Teljesítménybeli tényezők      
I/O-méret A kisebb I/O-méret nagyobb IOPS-t eredményez. Nagyobb I/O-méret, amely nagyobb átviteli sebességet eredményez.  
Virtuális gép mérete Olyan virtuálisgép-méretet használjon, amely az alkalmazás követelményeinél nagyobb IOPS-t biztosít. Olyan virtuálisgép-méretet használjon, amely az alkalmazás követelményeinél nagyobb átviteli sebességkorlátot használ. Olyan virtuálisgép-méretet használjon, amely az alkalmazás követelményeinél nagyobb méretezési korlátokat kínál.
Lemezméret Olyan lemezméretet használjon, amely az alkalmazás követelményeinél nagyobb IOPS-t biztosít. Használjon olyan lemezméretet, amelynél az átviteli sebességkorlát nagyobb, mint az alkalmazásra vonatkozó követelmény. Olyan lemezméretet használjon, amely az alkalmazás követelményeinél nagyobb méretezési korlátokat biztosít.
Virtuálisgép- és lemezméretkorlátok A kiválasztott virtuálisgép-méret IOPS-korlátja nagyobb, mint a csatlakoztatott tárolólemezek által vezérelt teljes IOPS-érték. A kiválasztott virtuálisgép-méret átviteli sebességkorlátja nagyobb, mint a csatlakoztatott prémium szintű tárolólemezek által vezérelt teljes átviteli sebesség. A kiválasztott virtuálisgép-méret méretkorlátának nagyobbnak kell lennie, mint a csatlakoztatott prémium szintű tárolólemezek teljes skálázható korlátai.
Lemezes Caching Engedélyezze a ReadOnly cache (Csak olvasható) gyorsítótárazás engedélyezését a nagy olvasási műveleteket eltolva prémium szintű tárolólemezek esetén a magasabb olvasási IOPS-érték érdekében.   Engedélyezze a ReadOnly Cache-t prémium szintű tárolólemezek nagy kapacitású műveletekkel, hogy nagyon alacsony olvasási késést kapjon.
Lemez felosztása adatcsíkokra Használjon több lemezt, és csíkozásával kombináltan korlátozza az IOPS-t és az átviteli sebességet. A virtuális gépekre vonatkozó kombinált korlátnak magasabbnak kell lennie, mint a csatlakoztatott prémium lemezek összesített korlátja.    
Stripe Size Kisebb csíkméret az OLTP-alkalmazásokban látható véletlenszerű kis I/O-mintákhoz. OLTP-alkalmazáshoz például 64 KB-os csíkméretet SQL Server használni. Nagyobb csíkméret az alkalmazásokban látható szekvenciálisan nagy I/O Data Warehouse esetén. Használja például a 256 KB-os csíkméretet SQL Server adattárház-alkalmazáshoz.  
Több szál használata Többszálas küldés használatával több kérést is Prémium Storage, ami magasabb IOPS-t és átviteli sebességet fog vezetni. Ha például a SQL Server magas MAXDOP-értéket ad meg, több CPU-t foglal le a SQL Server.    
Üzenetsor mélysége A nagyobb üzenetsormélység nagyobb IOPS-t eredményez. A nagyobb üzenetsormélység nagyobb átviteli sebességet eredményez. A kisebb üzenetsormélység kisebb késéseket eredményez.

Az I/O-kérések jellege

Az I/O-kérés az alkalmazás által végrehajtani fog bemeneti/kimeneti művelet egysége. Az I/O-kérések természetének ( véletlenszerű vagy szekvenciális, olvasási vagy írási, kis vagy nagy) azonosítása segít meghatározni az alkalmazás teljesítményigényét. Fontos megérteni az I/O-kérések jellegét, hogy megfelelő döntéseket hozva meg tudjanak hozni az alkalmazás-infrastruktúra tervezésekor. Az I/O-k egyenletes elosztása szükséges 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űvelet kérésének mérete. Az I/O-méret jelentős hatással van a teljesítményre, különösen arra az IOPS-értékre és sávszélességre, amit az alkalmazás el tud érni. Az alábbi képlet az IOPS, az I/O-méret és a Sávszélesség/Átviteli sebesség közötti kapcsolatot mutatja be.
Diagram, amely azt mutatja, hogy az I O P S és az I O-méret egyenlő az átviteli sebesség értékével.

Egyes alkalmazások lehetővé teszik az I/O-méretük megváltoztatását, míg egyes alkalmazások nem. Például a SQL Server meghatározza az optimális I/O-méretet, és nem biztosít a felhasználóknak gombokat a módosításhoz. Az Oracle viszont biztosít egy DB _ BLOCK _ SIZE nevű paramétert, amellyel konfigurálhatja az adatbázis I/O-kérésméretét.

Ha olyan alkalmazást használ, amely nem teszi lehetővé az I/O-méret módosításat, az ebben a cikkben olvasható irányelvek alapján optimalizálhatja az alkalmazás szempontjából leginkább releváns teljesítmény KPI-t. Példa:

  • Egy OLTP-alkalmazás több millió kis és véletlenszerű I/O-kérést hoz létre. Az ilyen típusú I/O-kérések kezeléséhez úgy kell terveznie az alkalmazás-infrastruktúrát, hogy magasabb IOPS-t kap.
  • 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 terveznie az alkalmazás-infrastruktúrát, hogy az nagyobb sávszélességet vagy átviteli sebességet kérjen.

Ha olyan alkalmazást használ, amely lehetővé teszi az I/O-méret beállítását, az egyéb teljesítmény-irányelvek mellett ezt az I/O-méretre vonatkozó ujjlenyomat-szabályt is használhatja.

  • Kisebb I/O-méret a nagyobb IOPS-értékhez. Például 8 KB egy OLTP-alkalmazáshoz.
  • Nagyobb I/O-méret a nagyobb sávszélesség/átviteli sebesség érdekében. Például 1024 KB egy adattárház-alkalmazáshoz.

Az alábbi példa bemutatja, hogyan számíthatja ki az alkalmazás IOPS-értékét és átviteli sebességét/sávszélességét. Fontolja meg egy P30-lemezt használó alkalmazás alkalmazását. A P30 lemez maximális IOPS-érték és átviteli sebesség/sávszélesség 5000 IOPS és másodpercenként 200 MB. Ha az alkalmazásnak a P30 lemez maximális IOPS-értékére van szüksége, és kisebb I/O-méretet használ, például 8 KB-ot, az eredményül kapott sávszélesség másodpercenként 40 MB lesz. Ha azonban az alkalmazásnak a P30 lemezről származó maximális átviteli sebességre/sávszélességre van szüksége, és nagyobb I/O-méretet használ, például 1024 KB-ot, az eredményül kapott IOPS kevesebb lesz, 200 IOPS. Ezért az I/O-méretet úgy kell hangolni, hogy megfeleljen az alkalmazás IOPS-értékére és átviteli sebességére/sávszélességére vonatkozó követelménynek. Az alábbi táblázat összefoglalja a különböző I/O-méreteket, valamint a P30-lemezek megfelelő IOPS-ját és átviteli sebességét.

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

Ahhoz, hogy az IOPS és a sávszélesség nagyobb, mint egy prémium szintű tárolólemez maximális értéke, használjon több prémium lemez együttesen eltárolt lemezeket. Például két P30 lemez csíkozásával 10 000 IOPS-t vagy másodpercenként 400 MB átviteli sebességet kap. A következő szakaszban leírtaknak megfelelően olyan virtuálisgép-méretet kell használnia, amely támogatja a lemez összesített IOPS-ét és átviteli sebességét.

Megjegyzés

Ahogy növeli az IOPS-t vagy az átviteli sebességet, a másik is nő, és győződjön meg arról, hogy a lemez vagy a virtuális gép átviteli sebességére vagy IOPS-korlátaira nem vonatkozik egyik érték sem.

Az I/O-méret alkalmazásteljesítményre gyakorolt hatásának tanúsítása érdekében teljesítményteszt-eszközöket futtathat a virtuális gépen és a lemezeken. Hozzon létre több tesztfutatot, és használjon különböző I/O-méretet minden futtatáshoz, hogy lássa a hatást. További részletekért tekintse meg a teljesítményértékelésről a végén hivatkozott cikket.

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

Az alkalmazások tervezésekor az egyik első lépés az, hogy kiválasztunk egy virtuális gépet az alkalmazás gazdagépeként. Prémium Storage nagy méretű virtuálisgép-méreteket is kínál, amelyek nagyobb számítási teljesítményt és magas helyi lemez I/O-teljesítményt igénylő alkalmazásokat futtatnak. Ezek a virtuális gépek gyorsabb processzorokat, magasabb memória–mag arányt és Solid-State (SSD) meghajtót biztosítanak a helyi lemezhez. Példák a virtuális gépeket támogató Prémium Storage a DS és a GS sorozatú virtuális gépekre.

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álisgép-méretek a virtuális géphez csatolhatja az adatlemezek maximális számát is. Ezért 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 Storage is. Az alábbiakban például egy DS-sorozat és egy GS-sorozat legnagyobb virtuálisgép-méretének specifikációi olvashatók:

Virtuális gép mérete Processzormagok Memória Virtuálisgép-lemezek mérete Legfeljebb adatlemezek 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
Másodpercenként 512 MB
4000 IOPS és 33 MB másodpercenként
Standard_GS5 32 448 GB Operációs rendszer = 1023 GB
Helyi SSD = 896 GB
64 4224 GB 80 000 IOPS
Másodpercenként 2000 MB
5000 IOPS és 50 MB másodpercenként

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álassza ki azt a virtuálisgép-méretet, amely megfelel a kívánt alkalmazásteljesítmény-követelményeknek, és annak megfelelően skálázható. Emellett vegye figyelembe az alábbi fontos szempontokat a virtuálisgép-méretek kiválasztásakor.

Méretezési korlátok
A virtuális gépenkénti és lemezenkénti maximális IOPS-korlátok eltérőek és egymástól függetlenek. Győződjön meg arról, hogy az alkalmazás az IOPS-t a virtuális gép korlátain belül, valamint a hozzá csatolt prémium lemezeken is használja. Ellenkező esetben az alkalmazás teljesítménye szabályozást fog tapasztalni.

Tegyük fel például, hogy egy alkalmazáskövetelmény legfeljebb 4000 IOPS lehet. Ehhez egy P30-as lemezt kell kiépítenünk egy DS1 virtuális gépen. A P30 lemez akár 5000 IOPS-t is képes kézbesíteni. A DS1 virtuális gép korlátja azonban 3200 IOPS. Ennek következtében az alkalmazás teljesítményét a virtuális gép 3200 IOPS-re vonatkozó korlátja korlátozza, és csökken a teljesítmény. Ennek elkerülése érdekében válasszon olyan virtuális gépet és lemezméretet, amely megfelel az alkalmazás követelményeinek.

Üzemeltetési költségek
Sok esetben előfordulhat, hogy a Prémium Storage használata teljes működési költsége alacsonyabb, mint a Standard Storage.

Vegyünk például egy 16 000 IOPS-t igénylő alkalmazást. A teljesítmény eléréséhez szüksége lesz egy Standard D14 Azure IaaS virtuális gépre, amely legfeljebb _ 16 000 IOPS-t adhat 32 standard tároló 1 TB-os lemez használatával. Minden 1 TB-os standard szintű tárolólemez legfeljebb 500 IOPS-t érhet el. A virtuális gép becsült költsége havonta 1570 dollár lesz. 32 standard tárolólemez havi költsége 1638 dollár lesz. A becsült teljes havi költség 3208 dollár lesz.

Ha azonban ugyanazt az alkalmazást a Prémium Storage üzemelteti, kisebb virtuálisgép-méretre és kevesebb prémium szintű tárolólemezre lesz szüksége, így csökkentve a teljes költséget. Egy Standard DS13 virtuális gép négy P30 lemez használatával megfelelhet a _ 16 000 IOPS-követelménynek. A DS13 virtuális gép maximális IOPS-érték 25 600, és minden P30-lemezen legfeljebb 5000 IOPS-érték van. Ez a konfiguráció összesen 5000 x 4 = 20 000 IOPS-t érhet el. A virtuális gép becsült költsége havonta 1003 DOLLÁR lesz. Négy P30 prémium szintű tárolólemez havi költsége 544,34 dollár lesz. A becsült teljes havi költség 1544 dollár lesz.

Az alábbi táblázat összefoglalja ennek a forgatókönyvnek a standard és Prémium Storage.

  Standard Prémium
Virtuális gép havi költsége 1 570,58 DOLLÁR (Standard _ D14) 1 003,66 USD (Standard _ DS13)
Lemezek költsége havonta 1 638,40 USD (32 x 1 TB lemez) 544,34 dollár (4 db P30 lemez)
Teljes költség havonta 3 208,98 USD 1 544,34 USD

Linux-disztribúciók

Az Azure Prémium Storage ugyanolyan szintű teljesítményt nyújt a Windows Linuxot futtató virtuális gépek számára. A Linux-disztribúciók számos változatát támogatjuk. További információ: Az Azure által támogatott Linux-disztribúciók. Fontos megjegyezni, hogy a különböző disztribúciók jobban illeszkednek a különböző típusú számítási feladatokhoz. A számítási feladat által futtatott disztribúciótól függően különböző teljesítményszinteket fog látni. Tesztelje a Linux-disztribúciókat az alkalmazással, és válassza ki azt, amely a legjobban működik.

Ha Linuxot futtat Prémium Storage, ellenőrizze a legújabb frissítéseket a szükséges illesztőprogramokkal kapcsolatban a nagy teljesítmény biztosítása érdekében.

Prémium tárolólemezek mérete

Az Azure Prémium Storage különböző méreteket kínál, így az igényeinek leginkább megfelelőt választhatja ki. Minden lemezmérethez más az IOPS, a sávszélesség és a tárterület méretezési korlátja. Válassza ki a Prémium Storage lemezméretet az alkalmazás követelményeitől és a nagy méretű virtuális gép méretétől függően. Az alábbi táblázat a lemezméreteket és azok képességeit mutatja be. A P4, P6, P15, P60, P70 és P80 méretek jelenleg csak a Managed Disks.

prémium SSD méretek P1 P2 P3 P4 P6 P10 P15 P20 P30 P40 P50 P60 P70 P80
Lemezméret GiB-ban 4 8 16 32 64 128 256 512 1,024 2048 4,096 8,192 16,384 32 767
Kiépített IOPS lemezenként 120 120 120 120 240 500 1100 2300 5000 7500 7500 16000 18000 20 000
Kiépített á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
Lemezenkénti maximális IOPS-érték 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 adatll-átvitel 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 időtartam 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*
Jogosult foglalásra Nem Nem Nem Nem Nem Nem Nem Nem Igen, legfeljebb egy évre Igen, legfeljebb egy évre Igen, legfeljebb egy évre Igen, legfeljebb egy évre Igen, legfeljebb egy évre Igen, legfeljebb egy évre

*Csak olyan lemezekre vonatkozik, amelyeken engedélyezve van az igény szerinti adatlökés.

A választott lemezek száma a választott lemezmérettől függ. Az alkalmazás követelményeinek való megfeleltethet egyetlen P50 vagy több P10 lemezt. A választáskor vegye figyelembe az alább felsorolt szempontokat.

Skálázható korlátok (IOPS és átviteli sebesség)
Az egyes lemezek IOPS- és Prémium-korlátja eltérő, és független a virtuálisgép-méretezési korlátoktól. Győződjön meg arról, hogy a lemezek teljes IOPS-érték és átviteli sebesség a kiválasztott virtuálisgép-méret méretének skálázható korlátain belül van.

Ha például egy alkalmazáskövetelmény legfeljebb 250 MB/s átviteli sebesség, és DS4 virtuális gépet használ egyetlen P30 lemezzel. 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. Ennek következtében az alkalmazás a lemezkorlát miatt 200 MB/s sebességre lesz korlátozva. A korlát túllépése érdekében több adatlemezt kell kiépítenie a virtuális gépre, vagy át kell méreteznie a lemezeket P40 vagy P50-re.

Megjegyzés

A gyorsítótár által kiszolgált olvasások nem szerepelnek a lemez IOPS-értékében és átviteli sebességében, ezért nem vonatkoznak lemezkorlátok. A gyorsítótár saját IOPS-értékével és átviteli sebességkorlátával rendelkezik virtuális gépenként.

Az olvasások és írások például eleinte 60 MB/s, illetve 40 MB/s. Idővel a gyorsítótár bemelegíti magát, és egyre több olvasást szolgál ki a gyorsítótárból. Ezután nagyobb írási átviteli sebességet kaphat a lemezről.

Lemezek száma
Határozza meg a szükséges lemezek számát az alkalmazáskövetelmények felmérésével. Az egyes virtuálisgép-méretek a virtuális géphez csatolhatja a lemezek számát is korlátozzák. Ez általában a magok számának kétszerese. Győződjön meg arról, hogy a választott virtuálisgép-méret támogatja a szükséges lemezek számát.

Ne feledje, hogy a Prémium Storage lemez jobb teljesítménybeli képességekkel rendelkezik, mint a standard Storage lemezekkel. Ezért ha Az Azure IaaS virtuális gépről a Standard Storage-t használó virtuális gépről az Prémium Storage-re milegál, valószínűleg kevesebb prémium szintű lemezre lesz szüksége ahhoz, hogy ugyanazt vagy nagyobb teljesítményt ér el az alkalmazás számára.

Lemez gyorsítótárazása

Az Azure-beli virtuális gépeket Prémium Storage blobcache nevű többrétegű gyorsítótárazás technológiával rendelkezik. A BlobCache a gazdagép RAM-ját és a helyi SSD-t használja a gyorsítótárazáshoz. Ez a gyorsítótár elérhető az állandó Prémium Storage és a virtuális gép helyi lemezei számára. Alapértelmezés szerint ez a gyorsítótár-beállítás az operációsrendszer-lemezek olvasására/írására, a lemezen üzemeltetett adatlemezek esetén pedig a ReadOnly Prémium Storage. Ha a lemez-gyorsítótárazás engedélyezve van a Prémium Storage lemezeken, a nagy méretű virtuális gépek rendkívül magas teljesítményt érhetnek el, amely meghaladja a mögöttes lemez teljesítményét.

Figyelmeztetés

A lemez-gyorsítótárazás 4 TiB vagy nagyobb lemezek esetében nem támogatott. Ha több lemez van a virtuális gépéhez csatolva, a 4 TiB-nél kisebb lemezek támogatják 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, a virtuális gép újraindul. A lemezgyorsítótár beállításainak módosítása előtt állítson le minden olyan alkalmazást és szolgáltatást, amelyet ez a megszakítás érinthet. Ha nem követi ezeket a javaslatokat, az adatsérüléshez vezethet.

A BlobCache működését az Inside Azure Prémium Storage blogbejegyzésében talál.

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

Lemeztípus Alapértelmezett gyorsítótár-beállítás
Operációsrendszer-lemez ReadWrite
Adatlemez ReadOnly

Az adatlemezek ajánlott lemezgyorsítótár-beállításai a következők:

Lemez-gyorsítótárazás beállítása javaslat arra, hogy mikor használja ezt a beállítást
None Konfigurálja a gazdagép gyorsítótárát None (Nincs) beállításra a csak írási és írási terhelésű lemezekhez.
ReadOnly Konfigurálja a gazdagép gyorsítótárát Csak olvashatóként írási és írási/olvasási lemezekhez.
ReadWrite A gazdagép gyorsítótárát csak akkor konfigurálja ReadWrite-ként, ha az alkalmazás szükség esetén megfelelően kezeli a gyorsítótárazott adatok állandó lemezekre írását.

ReadOnly (Csak olvasás)
A ReadOnly gyorsítótárazás Prémium Storage adatlemezen való konfigurálásával alacsony olvasási késést érhet el, és nagyon magas olvasási IOPS-t és átviteli sebességet érhet el az alkalmazás számára. Ennek két oka van:

  1. A virtuális gép memóriájában és a helyi SSD-n található gyorsítótárból végzett olvasások sokkal gyorsabbak, mint az Azure Blob Storage-ban található adatlemezről való olvasások.
  2. Prémium Storage nem számítja bele a gyorsítótárból kiszolgált olvasásokat a lemez IOPS-értékében és átviteli sebességében. Ezért az alkalmazás magasabb teljes IOPS-t és átviteli sebességet érhet el.

ReadWrite (Írás olvasása)
Alapértelmezés szerint az operációsrendszer-lemezeken engedélyezve van a ReadWrite gyorsítótárazás. A közelmúltban az adatlemezek ReadWrite-gyorsítótárazása is támogatott. 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. Például a SQL Server kezeli a gyorsítótárazott adatok írását az állandó tárolólemezekbe. A ReadWrite cache 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.

Nincs
Jelenleg a Nincs csak adatlemezek esetén támogatott. Operációsrendszer-lemezeken nem támogatott. Ha egy operációsrendszer-lemezen a Nincs érték van beállítva, az felül fogja bírálni ezt a belső használatot, és a ReadOnly (Csak olvasható) értékre lesz beállítva.

Például alkalmazhatja ezeket az irányelveket a SQL Server futó Prémium Storage a következő:

  1. Konfigurálja a "ReadOnly" gyorsítótárat az adatfájlokat tároló prémium szintű tárolólemezen.
    a. A gyorsítótárból való gyors beolvasások csökkentik SQL Server lekérdezési időt, mivel az adatlapok sokkal gyorsabban lekérhetők a gyorsítótárból, mint közvetlenül az adatlemezekből.
    b. A gyorsítótárból való olvasások kiszolgálása azt jelenti, hogy a prémium szintű adatlemezek további átviteli sebességet érhetők el. SQL Server a további átviteli sebességet további adatlapok és egyéb műveletek, például biztonsági mentés/visszaállítás, kötegelt betöltések és index-újraépítések leolvasására használhatja.
  2. Konfigurálja a "Nincs" gyorsítótárat a naplófájlokat tároló prémium szintű tárolólemezen.
    a. A naplófájlok elsősorban írási műveleteket tartalmaznak. Ezért nem előnyös a ReadOnly gyorsítótár használata.

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

Minden prémium szintű SSD vagy ultralemez esetében letilthatja a lemezen lévő fájlrendszerek "korlátait", így javíthatja a teljesítményt, ha tudja, hogy nincsenek olyan gyorsítótárak, amelyek elveszítenék az adatokat. Ha az Azure-beli lemez-gyorsítótárazás ReadOnly vagy None (Csak olvasható) vagy None (Nincs) beállításra van beállítva, letilthatja a korlátokat. Ha azonban a gyorsítótárazás ReadWrite (Olvasásírás) beállításra van állítva, az írás tartósságának biztosítása érdekében a korlátokat továbbra is engedélyezni kell. 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 esetén használja a barrier=none csatlakoztatási lehetőséget a korlátok letiltásához. A korlátok explicit engedélyezéséhez használja a barrier=flush paramétert.
  • Az ext3/ext4 esetén használja a barrier=0 csatlakoztatási lehetőséget a korlátok letiltásához. A korlátok explicit engedélyezéséhez használja a barrier=1 paramétert.
  • XFS esetén a nobarrier csatlakoztatási lehetőséggel tiltsa le a korlátokat. A korlátok explicit módon való engedélyezéséhez használjon korlátokat. A fő Linux 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" beállítás elavult. Előfordulhat azonban, hogy egyes Linux-disztribúciók egy korábbi kernelverzióval háttérbeportálták a disztribúció módosításait, és ellenőrizze a disztribúció gyártójától a futtatott disztribúció és verzió állapotát.

Lemezek csíkozása

Ha egy nagy méretű virtuális gépet több prémium szintű tároló tartós lemezzel csatlakoztat, akkor a lemezek az I/O-k, a sávszélesség és a tárolási kapacitás összesítése érdekében együtt csíkossá tehetőek.

A Windows a lemezeket Tárolóhelyek csíkozásra használhatja. Egy-egy oszlopot kell konfigurálnia a készlet minden egyes lemeze számára. Ellenkező esetben a csíkozott kötetek általános teljesítménye a vártnál alacsonyabb lehet a lemezek közötti forgalom egyenetlen elosztása miatt.

Fontos: A Kiszolgálókezelő felhasználói felületén beállíthatja egy csíkozott kötet legfeljebb 8 oszlopának teljes számát. 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 az oszlopok száma egyenlő a lemezek számával. Ha például 16 lemez található egyetlen csíkkészletben; adjon meg 16 oszlopot a New-VirtualDisk PowerShell-parancsmag NumberOfColumns paraméterében.

Linux rendszeren az MDADM segédprogrammal csíkozást használhat a lemezeken. A lemezek Linuxon való csíkozásának részletes lépéseit a Szoftveres RAID konfigurálása Linux rendszeren.

Stripe Size
A csíkozás egyik fontos konfigurációja a csíkméret. A csíkméret vagy a blokkméret az alkalmazás által egy csíkozott köteten címező legkisebb adattömb. A konfigurált csíkméret az alkalmazás típusától és a kérelemmintától függ. Ha nem a megfelelő csíkméretet választja, az az I/O-problémákhoz vezethet, ami az alkalmazás csökkentett teljesítményét eredményezi.

Ha például az alkalmazás által létrehozott IO-kérés nagyobb, mint a lemezsáv mérete, a tárolórendszer több lemez csíkegységei között írja azt. Amikor az adatokhoz való hozzáférésre van ideje, több csíkegységet kell keresnie a kérés befejezéséhez. Az ilyen viselkedés kumulatív hatása jelentős teljesítménycsökkenéshez vezethet. Ha azonban az IO-kérés mérete kisebb, mint a csíkméret, és véletlenszerű jellegű, az IO-kérések összeadhatnak ugyanazon a lemezen, ami szűk keresztmetszetet okozhat, és végső soron ronthatja az I/O-teljesítményt.

Az alkalmazás által futtatott számítási feladat típusától függően válassza ki a megfelelő csíkméretet. Véletlenszerű kis I/O-kérések esetén használjon kisebb csíkméretet. Míg a nagy szekvenciális I/O-kérések nagyobb csíkméretet használnak. Ismerje meg a csíkméretre vonatkozó javaslatokat arra az alkalmazásra vonatkozóan, amely a Prémium Storage. A SQL Server 64 KB-os csíkméretet konfiguráljon az OLTP számítási feladatokhoz és 256 KB-ot az adatraktározási számítási feladatokhoz. További információért tekintse meg SQL Server Azure-beli virtuális gépeken való használatának teljesítményével kapcsolatos ajánlott eljárásokat.

Megjegyzés

Egy DS sorozatú virtuális gépen legfeljebb 32 prémium szintű tárolólemezt, GS sorozatú virtuális gépeken pedig 64 prémium szintű tárolólemezt csíkozással lehet összekötni.

Többszálas

Az Azure úgy tervezte Prémium Storage platformot, hogy nagymértékben párhuzamos legyen. Ezért a többszálas alkalmazások sokkal nagyobb teljesítményt érhetnek el, mint az egyszálas alkalmazások. A többszálas alkalmazások több szálra osztjuk fel a feladatait, és a virtuális gép és a lemezerőforrások maximális kihasználása által növelik a végrehajtás hatékonyságát.

Ha például az alkalmazás egy egymagos virtuális gépen fut két szál használatával, a cpu válthat a két szál között a hatékonyság elérése érdekében. Amíg az egyik szál egy lemez I/O-műveletének befejezésére vár, a CPU átválthat a másik szálra. Így két szál többre képes, mint egyetlen szál. Ha a virtuális gép több maggal rendelkezik, tovább csökkenti a futási időt, mivel az egyes magok párhuzamosan hajthatnak végre feladatokat.

Előfordulhat, hogy egy kész alkalmazás nem tudja módosítani az egyszálas vagy többszálas alkalmazások implementációját. Például a SQL Server több CPU és többmagos processzorok kezelésére is képes. A SQL Server azonban eldönti, hogy milyen feltételek mellett használja fel egy vagy több szálat a lekérdezések feldolgozásához. Képes lekérdezéseket futtatni és indexeket összeépíteni többszálas használatával. Olyan lekérdezések esetén, amelyek nagy méretű táblákhoz való csatlakozást és adatok rendezését foglalják a felhasználóhoz való visszatérés előtt, a SQL Server több szálat fognak használni. A felhasználó azonban nem szabályozhatja, hogy SQL Server egyetlen szál vagy több szál használatával hajt-e végre lekérdezést.

Olyan konfigurációs beállítások is vannak, amelyek módosíthatják az alkalmazások többszálas feldolgozását vagy párhuzamos feldolgozását. Például a párhuzamosság SQL Server ez a maximális párhuzamosság-fok konfigurációja. Ez a MAXDOP nevű beállítás lehetővé teszi a párhuzamos feldolgozáshoz SQL Server processzorok maximális számának beállítását. A MAXDOP konfigurálható egyéni lekérdezésekhez vagy indexműveletekhez. Ez akkor hasznos, ha el szeretné egyensúlyba hozni a rendszer erőforrásait egy teljesítmény szempontjából kritikus fontosságú alkalmazáshoz.

Tegyük fel például, hogy az SQL Server egy nagy méretű lekérdezést és egy indexműveletet is végrehajt egyszerre. Tegyük fel, hogy az indexműveletet nagyobb teljesítményre volt képes, mint a nagy méretű lekérdezés. Ebben az esetben beállíthatja, hogy az indexművelet MAXDOP értéke magasabb legyen, mint a lekérdezés MAXDOP értéke. Így a SQL Server több processzorral rendelkezik, amelyek kihasználhatóak az indexművelethez a nagy méretű lekérdezésnek dedikálható processzorok számával szemben. Ne feledje, hogy az egyes műveletekhez SQL Server szálak számát nem szabályozhatja. Szabályozhatja a többszálasak számára kijelölt processzorok maximális számát.

További információ a párhuzamosság fokról a SQL Server. A teljesítmény optimalizálása érdekében ismerje meg az olyan beállításokat, amelyek hatással vannak az alkalmazásban a többszálas működésre és azok konfigurációira.

Üzenetsor mélysége

Az üzenetsor mélysége, az üzenetsor hossza vagy az üzenetsor mérete a függőben lévő I/O-kérések száma a rendszerben. Az üzenetsor mélységének értéke határozza meg, hogy az alkalmazás hány I/O-műveletet tud összeadni, és melyik tárolólemezeket fogja feldolgozni. Ez mind a három alkalmazásteljesítmény-mutatóra hatással van, amelyekről ebben a cikkben szó esett: viz., IOPS, átviteli sebesség és késés.

Az üzenetsor mélysége és a többszálas tevékenységek szorosan összefüggnek egymással. A Queue Depth (Üzenetsor mélysége) érték azt jelzi, hogy az alkalmazás mennyi többszálas használhatja. Ha az üzenetsor mélysége nagy, az alkalmazás több műveletet hajthat végre egyidejűleg, azaz többszálas működést. Ha az üzenetsor mélysége kicsi, annak ellenére, hogy az alkalmazás többszálas, nem fog elegendő kérést sorba fűzni az egyidejű végrehajtáshoz.

A kész alkalmazások általában nem teszik lehetővé az üzenetsor mélységének beállítását, mert ha helytelenül van beállítva, az több kárt okoz, mint jó. Az alkalmazások a megfelelő üzenetsormélységet állítják be az optimális teljesítmény elérése érdekében. Fontos azonban megérteni ezt a fogalmat, hogy el tudja hárítani az alkalmazás teljesítményével kapcsolatos problémákat. Megfigyelheti az üzenetsor mélységének hatásait is, ha teljesítményteszt-eszközöket futtat a rendszeren.

Egyes alkalmazások olyan beállításokat biztosítanak, amelyek befolyásolják az üzenetsor mélységét. Például a MAXDOP (maximális párhuzamosság-fok) beállítás SQL Server előző szakaszban leírtak szerint. A MAXDOP az üzenetsormélység és a többszálasság befolyásolása, bár nem módosítja közvetlenül az üzenetsor mélységének értékét SQL Server.

Magas üzenetsormélység
A magas üzenetsormélység további műveleteket foglal össze a lemezen. A lemez előre ismeri a következő kérést az üzenetsorában. Ennek következtében a lemez előre ütemezheti a műveleteket, és optimális sorrendben feldolgozhatja őket. Mivel az alkalmazás több kérést küld a lemezre, a lemez több párhuzamos I/S-t képes feldolgozni. Végső soron az alkalmazás magasabb IOPS-t érhet el. Mivel az alkalmazás több kérést feldolgozó, az alkalmazás teljes átviteli sebességét is növeli.

Az alkalmazások általában legfeljebb 8–16 függőben lévő I/C-val érhetik el a maximális átviteli sebességet csatolt lemezenként. Ha az üzenetsor mélysége egy, az alkalmazás nem fog elég I/S-t lekedni a rendszernek, és kevesebb mennyiséget fog feldolgozni egy adott időszakban. Más szóval kisebb átviteli sebességet.

Például a SQL Server egy lekérdezés MAXDOP értékének "4" értékre való beállítása arra SQL Server hogy legfeljebb négy magot használhat a lekérdezés végrehajtásához. SQL Server határozza meg, hogy mi a legjobb üzenetsormélység-érték, és hogy hány magot kell a lekérdezés végrehajtáshoz.

Optimális üzenetsormélység
A nagyon magas üzenetsormélység-értéknek is vannak hátrányai. Ha a sormélység értéke túl magas, az alkalmazás nagyon magas IOPS-értéket próbál meg meghajtóként. Ha az alkalmazás nem rendelkezik megfelelő kiépítésű IOPS-értékkel állandó lemezekkel, ez 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.
Diagram, amely azt mutatja, hogy az I O P S időkomikonjának késése megegyezik a Várólista mélysége értékekkel.

Az üzenetsor mélységét ne állítsa be semmilyen magas értékre, hanem optimális értékre, amely elegendő IOPS-t képes kézbesíteni az alkalmazásnak anélkül, hogy ez hatással lenne a késésre. 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.

Sormélység csíkozott kötethez
Csíkozott kötetek esetén elég magas üzenetsormélységet kell fenntartani, hogy minden lemeznek külön-külön legyen csúcsmértéke. Vegyünk például egy olyan alkalmazást, amely 2-es üzenetsormélységet ad le, és négy lemez található a csíkban. A két I/O-kérelem két lemezre kerül, a fennmaradó két lemez pedig tétlen lesz. Ezért úgy 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íkozott kötetek üzenetsormélysége.
Diagram, amely azt mutatja, hogy a lemezenkénti QD és az oszlopok kötetenkénti száma egyenlő a csíkozott kötetek QD-ével.

Throttling

Az Azure Prémium Storage adott számú IOPS-értéket és átviteli sebességet kínál a választott virtuálisgép-mérettől és lemezmérettől függően. Ha az alkalmazás az IOPS-t vagy az átviteli sebességet a virtuális gép vagy lemez által kezelhető korlát fölé próbálja irányítani, a Prémium Storage korlátozza azt. Ez az alkalmazás csökkentett teljesítményének formájában jelentkezik. Ez nagyobb késést, alacsonyabb átviteli sebességet vagy alacsonyabb IOPS-t jelenthet. Ha Prémium Storage nem ének el, az alkalmazás teljes mértékben leállhat, ha túllépi az erőforrásai által elérhető erőforrásokat. Ezért a szabályozás miatti teljesítménybeli problémák elkerülése érdekében mindig elegendő erőforrást kell kiépítenünk az alkalmazás számára. Vegye figyelembe a fenti Virtuálisgép-méretek és Lemezméretek szakaszban tárgyalt adatokat. A teljesítménymérés a legjobb módszer annak kiderítére, hogy milyen erőforrásokra lesz szüksége az alkalmazás gazdagépeként.

Következő lépések

Ha teljesítménytesztet keres a lemezen, tekintse meg a lemez teljesítménytesztjére vonatkozó cikkeket:

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

A SQL Server felhasználók számára olvassa el a teljesítményre vonatkozó ajánlott eljárásokat SQL Server: