Az Azure SQL Database lekérdezési terheléselemzője

A következőkre vonatkozik: Azure SQL Database

A Lekérdezési terheléselemző intelligens lekérdezéselemzéseket biztosít az önálló és a rugalmas készletbe helyezett adatbázisokhoz. Ez segít azonosítani a legtöbb erőforrást használó és a hosszú ideig futó lekérdezéseket a számítási feladatban. Így kiszűrhető, hogy mely lekérdezéseket kell optimalizálni a számítási feladat teljesítményének javítása, illetve a kifizetett erőforrások hatékony felhasználása érdekében. A Lekérdezési teljesítmény elemzése a következők megadásával segít rövidebb idő alatt elhárítani az adatbázis teljesítményével kapcsolatos hibákat:

  • Mélyebb betekintés az adatbázis-erőforrás (DTU) használatába
  • A leggyakoribb adatbázis-lekérdezések részletei PROCESSZOR, időtartam és végrehajtásszám szerint (lehetséges hangolási jelöltek a teljesítmény javításához)
  • A lekérdezés részleteinek részletezése, a lekérdezés szövegének és az erőforrás-használat előzményeinek megtekintése
  • Az adatbázis-tanácsadóktól származó teljesítményjavaslatokat megjelenítő széljegyzetek

Lekérdezési terheléselemző

Előfeltételek

A Lekérdezési terheléselemző megköveteli, hogy a lekérdezéstár aktív legyen az adatbázisban. Ez az Azure SQL Database-ben minden adatbázishoz alapértelmezés szerint engedélyezve van. Ha a Lekérdezéstár nem fut, akkor az Azure Portal üzenetben kér, hogy engedélyezze.

Megjegyzés

Ha a portálon megjelenik „A Lekérdezéstár nincs megfelelően konfigurálva ezen az adatbázison“ üzenet, járjon el a Lekérdezéstár-konfiguráció optimalizálása című cikkben leírtak szerint.

Engedélyek

A Lekérdezési terheléselemző használatához az alábbi Azure szerepköralapú hozzáférés-vezérlési (Azure RBAC-) engedélyekre van szüksége:

  • A legnagyobb erőforrás-igényű lekérdezések és diagramok megtekintéséhez olvasói, tulajdonosi, közreműködői, SQL DB-közreműködői vagy SQL Server közreműködői engedélyek szükségesek.
  • A lekérdezés szövegének megtekintéséhez tulajdonosi, közreműködői, SQL DB-közreműködői vagy SQL Server közreműködői engedélyek szükségesek.

A Lekérdezési terheléselemző használata

A Lekérdezési terheléselemző használata egyszerű:

  1. Nyissa meg a Azure Portal, és keresse meg a megvizsgálni kívánt adatbázist.

  2. A bal oldali menüben nyissa meg az Intelligent Performance>Query Performance Insightt.

    Lekérdezési terheléselemző a menüben

  3. Az első lapon tekintse át a legnagyobb erőforrás-igényű lekérdezések listáját.

  4. Válassza ki az egyes lekérdezéseket a részleteinek megtekintéséhez.

  5. Nyissa meg az Intelligens teljesítményre>vonatkozó javaslatokat , és ellenőrizze, hogy vannak-e elérhető teljesítményjavaslatok. A beépített teljesítményjavaslatokkal kapcsolatos további információkért lásd: Azure SQL Database Advisor.

  6. A megfigyelt időköz módosításához használjon csúszkákat vagy nagyítási ikonokat.

    Teljesítmény irányítópult

Megjegyzés

Ahhoz, hogy Azure SQL Database megjeleníthesse az adatokat a Lekérdezési terheléselemzőben, a lekérdezéstárnak néhány órányi adatot kell rögzítenie. Ha az adatbázisnak nincs tevékenysége, vagy ha a Lekérdezéstár nem volt aktív egy adott időszakban, a diagramok üresek lesznek, amikor a Lekérdezési terheléselemző megjeleníti ezt az időtartományt. A lekérdezéstárat bármikor engedélyezheti, ha az nem fut. További információt a Lekérdezéstár ajánlott eljárásaiban talál.

Az adatbázis teljesítményére vonatkozó javaslatokért válassza a Javaslatok lehetőséget a Lekérdezési terheléselemző navigációs paneljén.

A Javaslatok lap

A legnagyobb processzorhasználatú lekérdezések áttekintése

Alapértelmezés szerint a Lekérdezési terheléselemző az első megnyitáskor az öt legnagyobb processzorigényű lekérdezést jeleníti meg.

  1. Jelölje be vagy törölje az egyes lekérdezéseket a diagramba való belefoglalásukhoz vagy a diagramból való kizárásukhoz jelölőnégyzetek használatával.

    A felső sor az adatbázis teljes DTU-százalékos arányát jeleníti meg. A sávok azt mutatják, hogy a kiválasztott lekérdezések hány százalékban használták fel a processzorhasználatot a kiválasztott időköz során. Ha például az Elmúlt hét van kijelölve, minden sáv egyetlen napot jelöl.

    Leggyakoribb lekérdezések

    Fontos

    A megjelenített DTU-sor egyórás időszakokban a maximális használati értékre van összesítve. Ez csak a lekérdezés-végrehajtási statisztikákkal való magas szintű összehasonlításra szolgál. Bizonyos esetekben a DTU-kihasználtság túl magasnak tűnhet a végrehajtott lekérdezésekhez képest, de előfordulhat, hogy nem ez a helyzet.

    Ha például egy lekérdezés csak néhány percig maximálisan elérte a DTU-t 100%-ra, a Lekérdezési terheléselemző DTU-sora a teljes fogyasztást 100%-ként jeleníti meg (ez a maximális összesített érték következménye).

    A finomabb összehasonlítás érdekében (akár egy percig) érdemes lehet egyéni DTU-kihasználtsági diagramot létrehozni:

    1. A Azure Portal válassza Azure SQLAdatbázis-figyelés> lehetőséget.
    2. Válassza a Metrikák lehetőséget.
    3. Válassza a +Diagram hozzáadása lehetőséget.
    4. Válassza ki a DTU százalékos értékét a diagramon.
    5. Ezenkívül a bal felső menüben válassza az Elmúlt 24 óra lehetőséget , és módosítsa egy percre.

    Az egyéni DTU-diagramot részletesebben hasonlíthatja össze a lekérdezés-végrehajtási diagrammal.

    Az alsó rács a látható lekérdezések összesített adatait jeleníti meg:

    • Lekérdezésazonosító, amely az adatbázisban lévő lekérdezés egyedi azonosítója.
    • A lekérdezésenkénti processzorhasználat megfigyelhető időközönként történik, amely az aggregációs függvénytől függ.
    • Lekérdezésenkénti időtartam, amely az aggregációs függvénytől is függ.
    • Egy adott lekérdezés végrehajtásának teljes száma.
  2. Ha az adatok elavulttá válnak, kattintson a Frissítés gombra.

  3. A megfigyelési időköz módosításához és a használati csúcsok vizsgálatához használjon csúszkákat és nagyítási gombokat:

    Csúszkák és nagyítási gombok az időköz módosításához

  4. Igény szerint az Egyéni fület választva testre szabhatja a nézetet a következőhöz:

    • Metrika (CPU, időtartam, végrehajtások száma).
    • Időintervallum (az elmúlt 24 óra, az elmúlt hét vagy az elmúlt hónap).
    • Lekérdezések száma.
    • Összesítő függvény.

    Egyéni lap

  5. Válassza az Ugrás > gombot a testre szabott nézet megtekintéséhez.

    Fontos

    A Lekérdezési terheléselemző a kiválasztott lekérdezéstől függően az első 5–20 lekérdezés megjelenítésére korlátozódik. Az adatbázis sokkal több lekérdezést is futtathat a fent láthatóakon túl, és ezek a lekérdezések nem lesznek belefoglalva a diagramba.

    Előfordulhat, hogy egy adatbázis számítási feladattípusa sok kisebb lekérdezést futtat a leggyakoribbakon túl, és a DTU nagy részét használja. Ezek a lekérdezések nem jelennek meg a teljesítménydiagramon.

    Előfordulhat például, hogy egy lekérdezés egy ideig jelentős mennyiségű DTU-t használt fel, bár a teljes felhasználás a megfigyelt időszakban kisebb, mint a többi legnagyobb fogyasztású lekérdezés. Ilyen esetben a lekérdezés erőforrás-kihasználtsága nem jelenik meg a diagramon.

    Ha a Lekérdezési terheléselemző korlátain túl szeretné megismerni a leggyakoribb lekérdezés-végrehajtásokat, fontolja meg a Azure SQL Insights használatát az adatbázisok teljesítményfigyeléséhez és hibaelhárításához.

Az egyes lekérdezések részleteinek megtekintése

A lekérdezés részleteinek megtekintése:

  1. Válasszon ki egy lekérdezést a leggyakoribb lekérdezések listájában.

    A leggyakoribb lekérdezések listája

    Megnyílik egy részletes nézet. Megjeleníti a processzorhasználatot, az időtartamot és a végrehajtások számát az idő függvényében.

  2. A részletekért válassza ki a diagram funkcióit.

    • A felső diagram egy vonalat jelenít meg az adatbázis teljes DTU-jának százalékos arányával. A sávok a kiválasztott lekérdezés által felhasznált processzorhasználat százalékos arányai.
    • A második diagram a kijelölt lekérdezés teljes időtartamát mutatja.
    • Az alsó diagram a kijelölt lekérdezés által végrehajtott végrehajtások teljes számát mutatja.

    Lekérdezés részletei

  3. Szükség esetén használhat csúszkákat, nagyítási gombokat, vagy a Beállítások lehetőséget választva testre szabhatja a lekérdezési adatok megjelenítését, vagy másik időtartományt választhat.

    Fontos

    A Lekérdezési terheléselemző nem rögzít DDL-lekérdezéseket. Bizonyos esetekben előfordulhat, hogy nem rögzíti az összes alkalmi lekérdezést.

    Ha az adatbázis hatóköre írásvédett zárolással van zárolva, a lekérdezés részletei panel nem tölthető be.

A leggyakoribb lekérdezések áttekintése időtartamonként

A Lekérdezési terheléselemző két metrikája segíthet megtalálni a lehetséges szűk keresztmetszeteket: az időtartamot és a végrehajtások számát.

A hosszan futó lekérdezések a legnagyobb potenciállal rendelkeznek az erőforrások hosszabb zárolására, a többi felhasználó blokkolására és a méretezhetőség korlátozására. Ők is a legjobb jelöltek az optimalizáláshoz. További információ: Azure SQL blokkolási problémák ismertetése és megoldása.

A hosszan futó lekérdezések azonosítása:

  1. Nyissa meg az Egyéni lapot a Kijelölt adatbázis Lekérdezési terheléselemzőjében.

  2. Módosítsa a metrikákat időtartamra.

  3. Válassza ki a lekérdezések számát és a megfigyelési időközt.

  4. Válassza ki az aggregációs függvényt:

    • Az összeg összeadja a teljes megfigyelési időköz összes lekérdezés-végrehajtási idejét.
    • A Max megkeresi azokat a lekérdezéseket, amelyekben a végrehajtási idő a teljes megfigyelési intervallumban maximális volt.
    • Az átlag megkeresi az összes lekérdezés-végrehajtás átlagos végrehajtási idejét, és megjeleníti az átlagokhoz tartozó legfontosabbakat.

    Lekérdezés időtartama

  5. Válassza az Ugrás > gombot a testre szabott nézet megtekintéséhez.

    Fontos

    A lekérdezési nézet módosítása nem frissíti a DTU-sort. A DTU-sor mindig az intervallum maximális használati értékét jeleníti meg.

    Az adatbázis DTU-felhasználásának részletesebb megismeréséhez (akár egy perc alatt) érdemes lehet egyéni diagramot létrehozni a Azure Portal:

    1. Válassza Azure SQLAdatbázis-figyelés> lehetőséget.
    2. Válassza a Metrikák lehetőséget.
    3. Válassza a +Diagram hozzáadása lehetőséget.
    4. Válassza ki a DTU százalékos értékét a diagramon.
    5. Ezenkívül a bal felső menüben válassza az Elmúlt 24 óra lehetőséget , és módosítsa egy percre.

    Javasoljuk, hogy az egyéni DTU-diagramot használja a lekérdezési teljesítménydiagrammal való összehasonlításhoz.

A leggyakoribb lekérdezések végrehajtásankénti számának áttekintése

Az adatbázist használó felhasználói alkalmazások lassúak lehetnek, annak ellenére, hogy a végrehajtások nagy száma nem befolyásolja magát az adatbázist, és az erőforrások kihasználtsága alacsony.

Bizonyos esetekben a magas végrehajtási szám több hálózati adatforgalmat eredményezhet. A kerek utak hatással vannak a teljesítményre. Ezekre a hálózati késés és az alsóbb rétegbeli kiszolgálók késése vonatkozik.

Számos adatvezérelt webhely például minden felhasználói kéréshez nagy mértékben hozzáfér az adatbázishoz. Bár a kapcsolatkészletezés segít, a megnövekedett hálózati forgalom és a kiszolgáló feldolgozási terhelése lelassíthatja a teljesítményt. Általában a legkisebbre kell csökkenteni a körbejárást.

A gyakran végrehajtott ("forgalmas") lekérdezések azonosítása:

  1. Nyissa meg az Egyéni lapot a Kijelölt adatbázis Lekérdezési terheléselemzőjében.

  2. Módosítsa a metrikákat a végrehajtások számára.

  3. Válassza ki a lekérdezések számát és a megfigyelési időközt.

  4. Válassza az Ugrás > gombot a testre szabott nézet megtekintéséhez.

    Lekérdezés-végrehajtások száma

A teljesítményhangolási széljegyzetek ismertetése

A Számítási feladatok lekérdezési terheléselemzőben való felfedezése során olyan ikonokat észlelhet, mint a diagram tetején egy függőleges vonal.

Ezek az ikonok széljegyzetek. A Azure SQL Database Advisor teljesítményjavaslatait jelenítik meg. Ha egy jegyzet fölé viszi az egérmutatót, összesített információkat kaphat a teljesítménnyel kapcsolatos javaslatokról.

Lekérdezési széljegyzet

Ha többet szeretne megtudni, vagy alkalmazni szeretné a tanácsadó javaslatát, válassza az ikont az ajánlott művelet részleteinek megnyitásához. Ha ez egy aktív javaslat, azonnal alkalmazhatja a portálról.

Lekérdezési széljegyzet részletei

Bizonyos esetekben a nagyítási szint miatt előfordulhat, hogy az egymáshoz közeli széljegyzetek egyetlen széljegyzetbe vannak összecsukva. A Lekérdezési terheléselemző ezt csoportjegyzet ikonként jelöli. A csoportjegyzet ikon kiválasztásával megnyílik egy új panel, amely felsorolja a széljegyzeteket.

A lekérdezések és a teljesítmény-finomhangolási műveletek korrelálása segíthet a számítási feladatok jobb megértésében.

A lekérdezéstár konfigurációjának optimalizálása

A Lekérdezési terheléselemző használata során a következő Lekérdezéstár hibaüzenetek jelenhetnek meg:

  • "A lekérdezéstár nincs megfelelően konfigurálva ezen az adatbázison. További információért kattintson ide."
  • "A lekérdezéstár nincs megfelelően konfigurálva ezen az adatbázison. Kattintson ide a beállítások módosításához."

Ezek az üzenetek általában akkor jelennek meg, ha a Lekérdezéstár nem tud új adatokat gyűjteni.

Az első eset akkor fordul elő, ha a lekérdezéstár írásvédett állapotban van, és a paraméterek optimálisan vannak beállítva. Ezt az adattár méretének növelésével vagy a lekérdezéstár törlésével javíthatja. (Ha törli a Lekérdezéstárat, az összes korábban gyűjtött telemetriai adat elveszik.)

A lekérdezéstár részletei

A második eset akkor fordul elő, ha a lekérdezéstár nincs engedélyezve, vagy a paraméterek nincsenek optimálisan beállítva. Módosíthatja a megőrzési és rögzítési szabályzatot, valamint engedélyezheti a Lekérdezéstárat az SQL Server Management Studio (SSMS) vagy a Azure Portal következő parancsainak futtatásával.

Kétféle adatmegőrzési házirend létezik:

  • Méretalapú: Ha ez a szabályzat AUTOMATIKUS értékre van állítva, automatikusan törli az adatokat, amikor eléri a maximális méretet.
  • Időalapú: Ez a szabályzat alapértelmezés szerint 30 napra van állítva. Ha a lekérdezéstárnak elfogy a szabad helye, akkor törli a 30 napnál régebbi lekérdezési adatokat.

A rögzítési szabályzatot a következőre állíthatja be:

  • Mind: A Lekérdezéstár az összes lekérdezést rögzíti.
  • Automatikus: A lekérdezéstár figyelmen kívül hagyja a ritkán használt lekérdezéseket és a nem jelentős fordítási és végrehajtási időtartamú lekérdezéseket. A végrehajtások számának, a fordítás időtartamának és a futásidejű időtartamnak a küszöbértékeit a rendszer belsőleg határozza meg. Ez az alapértelmezett beállítás.
  • Nincs: A lekérdezéstár leállítja az új lekérdezések rögzítését, de a már rögzített lekérdezések futásidejű statisztikáit a rendszer továbbra is gyűjti.

Javasoljuk, hogy az SSMS-ből vagy a Azure Portal a következő parancsok végrehajtásával állítsa az összes házirendet automatikusra, a tisztítási házirendet pedig 30 napra. (Cserélje le YourDB az adatbázis nevére.)

    ALTER DATABASE [YourDB]
    SET QUERY_STORE (SIZE_BASED_CLEANUP_MODE = AUTO);

    ALTER DATABASE [YourDB]
    SET QUERY_STORE (CLEANUP_POLICY = (STALE_QUERY_THRESHOLD_DAYS = 30));

    ALTER DATABASE [YourDB]
    SET QUERY_STORE (QUERY_CAPTURE_MODE = AUTO);

Növelje a lekérdezéstár méretét úgy, hogy SSMS-sel vagy a Azure Portal csatlakozik egy adatbázishoz, és futtatja a következő lekérdezést. (Cserélje le YourDB az adatbázis nevére.)

    ALTER DATABASE [YourDB]
    SET QUERY_STORE (MAX_STORAGE_SIZE_MB = 1024);

A beállítások alkalmazásával a Lekérdezéstár végül telemetriai adatokat gyűjt az új lekérdezésekhez. Ha azt szeretné, hogy a Lekérdezéstár azonnal működőképes legyen, választhatja a lekérdezéstár törlését, ha az alábbi lekérdezést az SSMS-ben vagy a Azure Portal futtatja. (Cserélje le YourDB az adatbázis nevére.)

Megjegyzés

A következő lekérdezés futtatása törli az összes korábban gyűjtött figyelt telemetriát a Lekérdezéstárban.

    ALTER DATABASE [YourDB] SET QUERY_STORE CLEAR;

Következő lépések

Fontolja meg a Azure SQL Analytics használatát az önálló és készletezett adatbázisok, rugalmas készletek, felügyelt példányok és példányadatbázisok nagy méretű flottájának fejlett teljesítménymonitorozásához.