Alapkonfiguráció összegyűjtése: Az Azure-beli virtuális gépen futó SQL Server teljesítményével kapcsolatos ajánlott eljárások

A következőre vonatkozik:SQL Server azure-beli virtuális gépen

Ez a cikk információkat nyújt a teljesítménykonfiguráció gyűjtéséről ajánlott eljárások és irányelvek sorozataként az Azure-beli virtuális gépeken futó SQL Server teljesítményének optimalizálásához.

Általában a költségek optimalizálása és a teljesítmény optimalizálása között van kompromisszum. Ez a teljesítménnyel kapcsolatos ajánlott eljárássorozat az AZURE-beli virtuális gépeken futó SQL Server legjobb teljesítményének megszerzésére összpontosít. Ha a számítási feladat kevésbé igényes, előfordulhat, hogy nem minden ajánlott optimalizálást igényel. A javaslatok kiértékelése során vegye figyelembe a teljesítményigényeket, a költségeket és a számítási feladat mintáit.

Áttekintés

Az előíró megközelítéshez gyűjtsön teljesítményszámlálókat a PerfMon/LogMan használatával, és rögzítse az SQL Server várakozási statisztikáit, hogy jobban megértse a forráskörnyezet általános terhelését és lehetséges szűk keresztmetszeteit.

Első lépésként gyűjtse össze a forrásmunkaterhelés processzorát, memóriáját, IOPS-ját, átviteli sebességét és késését az alkalmazásteljesítmény-ellenőrzőlistát követő csúcsidőkben.

Gyűjtsön adatokat csúcsidőben, például a munkaterhelések során a szokásos munkanap során, de egyéb nagy terhelésű folyamatokat is, például a nap végi feldolgozást és a hétvégi ETL-számítási feladatokat. Fontolja meg az erőforrások vertikális felskálázását az atipikusan nagy számítási feladatokhoz, például a negyedév végi feldolgozáshoz, majd a számítási feladat befejezése után végezze el a skálázást.

A teljesítményelemzéssel kiválaszthatja a számítási feladat teljesítménykövetelményeihez skálázható virtuálisgép-méretet .

Storage

Az SQL Server teljesítménye nagymértékben függ az I/O-alrendszertől, a tárolási teljesítményt pedig az IOPS és az átviteli sebesség méri. Ha az adatbázis nem fér bele a fizikai memóriába, az SQL Server folyamatosan be- és kiviszi az adatbázislapokat a pufferkészletbe. Az SQL Server adatfájljait másképp kell kezelni. A naplófájlokhoz való hozzáférés szekvenciális, kivéve, ha egy tranzakciót vissza kell állítani, ahol az adatfájlok, köztük tempdba véletlenszerűen elérhető adatok is elérhetők. Ha lassú I/O-alrendszerrel rendelkezik, a felhasználók teljesítményproblémákat tapasztalhatnak, például a lassú válaszidőket és az időtúllépések miatt nem befejezett feladatokat.

Az Azure Marketplace-beli virtuális gépek naplófájljai alapértelmezés szerint eltérnek az adatfájloktól. Az tempdb adatfájlok száma és mérete megfelel az ajánlott eljárásoknak, és a rövid élettartamú D:\ meghajtóra irányul.

A következő PerfMon számlálók segíthetnek ellenőrizni az SQL Server által igényelt I/O-átviteli sebességet:

  • \LogicalDisk\Disk Reads/Sec (olvasási IOPS)
  • \LogicalDisk\Disk Writes/Sec (írási IOPS)
  • \LogicalDisk\Disk Read Bytes/Sec (az adatok, naplók és tempdb fájlok olvasási sebességére vonatkozó követelmények)
  • \LogicalDisk\Disk Write Bytes/Sec (az adatok, naplók és tempdb fájlok írási sebességére vonatkozó követelmények)

Az IOPS és az átviteli sebesség csúcsszintű követelményeivel értékelje ki a mérések kapacitásának megfelelő virtuálisgép-méreteket.

Ha a számítási feladathoz 20 000 olvasási IOPS és 10K írási IOPS szükséges, választhat E16s_v3 (legfeljebb 32K gyorsítótárazott és 25600 nem gyorsítótárazott IOPS-val), vagy M16_s (legfeljebb 20K gyorsítótárazott és 10K nem gyorsítótárazott IOPS-val), és 2 P30 lemezt csíkozott tárolóhelyek használatával.

Ügyeljen arra, hogy megértse a számítási feladat átviteli sebességére és IOPS-követelményeinek követelményeit is, mivel a virtuális gépek különböző méretezési korlátokkal rendelkeznek az IOPS-ra és az átviteli sebességre vonatkozóan.

Memória

Nyomon követheti az operációs rendszer által használt külső memóriát, valamint az SQL Server által belsőleg használt memóriát. A virtuális gépek méretének meghatározásához és a finomhangolási lehetőségek azonosításához mindkét összetevőre nehezedő nyomás segít.

Az alábbi PerfMon-számlálók segíthetnek ellenőrizni az SQL Server virtuális gépek memóriaállapotát:

Compute

Az Azure-ban a számítás kezelése más, mint a helyszíni. A helyszíni kiszolgálók az új hardverek beszerzésének felügyeleti többletterhelése és költsége miatt több évig frissítés nélkül készülnek. A virtualizálás enyhít néhány ilyen problémát, de az alkalmazások úgy vannak optimalizálva, hogy kihasználják a mögöttes hardver előnyeit, ami azt jelenti, hogy az erőforrás-felhasználás jelentős módosítása a teljes fizikai környezet újraegyensúlyozását igényli.

Ez nem jelent kihívást az Azure-ban, ahol egy új virtuális gép egy másik hardveren, sőt egy másik régióban is könnyen elérhető.

Az Azure-ban a lehető legtöbb virtuálisgép-erőforrást szeretné kihasználni, ezért az Azure-beli virtuális gépeket úgy kell konfigurálni, hogy az átlagos cpu a lehető legnagyobb legyen a számítási feladat befolyásolása nélkül.

Az alábbi PerfMon-számlálók segíthetnek ellenőrizni az SQL Server virtuális gépek számítási állapotát:

  • \Processzoradatok(_Total)% processzoridő
  • \Process(sqlservr)% Processzoridő

Megjegyzés:

Ideális esetben törekedjen a számítás 80%-ának használatára, 90% feletti csúcsokkal, de ne érje el a 100%-ot semmilyen tartós ideig. Alapvetően csak azt a számítást szeretné kiépíteni, amire az alkalmazásnak szüksége van, majd a vállalat igényeinek megfelelően fel- vagy leskálázást tervez.

További lépések

További információkért tekintse meg az ajánlott eljárásokat ismertető sorozat további cikkeit:

A biztonsági ajánlott eljárásokért tekintse meg az Azure-beli virtuális gépeken futó SQL Server biztonsági szempontjait.

Tekintse át az AZURE-beli virtuális gépeken futó SQL Server egyéb virtuálisgép-cikkeit. Ha kérdése van az SQL Servert futtató virtuális gépek használatával kapcsolatban, tekintse meg a gyakori kérdéseket.