Gyakorlat – A teljesítmény monitorozása és hibaelhárítása

Befejeződött

Ebben a gyakorlatban megtanulhatja, hogyan figyelheti és háríthatja el az Azure SQL teljesítményproblémáit ismerős és új eszközök és képességek használatával.

Beállítás: Szkriptek használata az Azure SQL Database üzembe helyezéséhez

A jobb oldali terminálmunkamenet, az Azure Cloud Shell lehetővé teszi az Azure böngészővel való használatát. Ebben a gyakorlatban egy szkriptet fog futtatni a környezet létrehozásához, amely egy Azure SQL Database-példány az AdventureWorks adatbázissal. (A kisebb, egyszerűbb mintaadatbázist AdventureWorksLT használjuk, de a AdventureWorks félreértések elkerülése érdekében hívjuk.) A szkriptben a rendszer egy jelszót és a helyi IP-címet kéri, hogy az eszköz csatlakozzon az adatbázishoz.

Ez a szkript 3–5 perc alatt fejezi be a futását. Mindenképpen írja fel a jelszót, az egyedi azonosítót és a régiót. Többször nem fognak megjelenni.

  1. Először kérje le a helyi IP-címét. Győződjön meg arról, hogy nem kapcsolódik egy VPN-szolgáltatáshoz sem, majd nyisson meg egy helyi PowerShell-terminált az eszközön. Futtassa a következő parancsot, és jegyezze fel a kapott IP-címet:

    (Invoke-WebRequest -Uri "https://ipinfo.io/ip").Content
    
  2. A jobb oldali Azure Cloud Shellben adja meg a következő kódot, és amikor a rendszer kéri, adjon meg egy összetett jelszót és az előző lépésben lekért helyi nyilvános IP-címet. Nyomja le az Enter billentyűt a szkript utolsó sorának futtatásához.

    $adminSqlLogin = "cloudadmin"
    $password = Read-Host "Your username is 'cloudadmin'. Please enter a password for your Azure SQL Database server that meets the password requirements"
    # Prompt for local ip address
    $ipAddress = Read-Host "Disconnect your VPN, open PowerShell on your machine and run '(Invoke-WebRequest -Uri "https://ipinfo.io/ip").Content'. Please enter the value (include periods) next to 'Address':"
    # Get resource group and location and random string
    $resourceGroup = Get-AzResourceGroup | Where ResourceGroupName -like "<rgn>Sandbox resource group name</rgn>"
    $resourceGroupName = "<rgn>Sandbox resource group name</rgn>"
    $uniqueID = Get-Random -Minimum 100000 -Maximum 1000000
    $storageAccountName = "mslearnsa"+$uniqueID
    $location = $resourceGroup.Location
    $serverName = "aw-server$($uniqueID)"
    
  3. Futtassa a következő szkriptet az Azure Cloud Shellben. Mentse a kimenetet; erre az információra a modul során szüksége lesz. A kód beillesztése után nyomja le az Enter billentyűt , így az utolsó kódsor kinyomtatja a szükséges kimenetet.

    Write-Host "Please note your unique ID for future exercises in this module:"  
    Write-Host $uniqueID
    Write-Host "Your resource group name is:"
    Write-Host $resourceGroupName
    Write-Host "Your resources were deployed in the following region:"
    Write-Host $location
    Write-Host "Your server name is:"
    Write-Host $serverName
    

    Tipp.

    Mentse a kimenetet, és jegyezze fel a jelszót, az egyedi azonosítót és a kiszolgálót. Ezekre az elemekre az egész modulban szüksége lesz.

  4. Az alábbi szkriptet futtatva helyezzen üzembe egy Azure SQL Database-példányt és egy logikai kiszolgálót az AdventureWorks-mintával. Ez a szkript hozzáadja az IP-címet tűzfalszabályként, engedélyezi az Advanced Data Securityt, és létrehoz egy tárfiókot a modul hátralévő gyakorlataiban való használatra. A szkript végrehajtása több percet is igénybe vehet, és többször is szünetel. Várjon egy parancssort.

    # The logical server name has to be unique in the system
    $serverName = "aw-server$($uniqueID)"
    # The sample database name
    $databaseName = "AdventureWorks"
    # The storage account name has to be unique in the system
    $storageAccountName = $("sql$($uniqueID)")
    # Create a new server with a system wide unique server name
    $server = New-AzSqlServer -ResourceGroupName $resourceGroupName `
        -ServerName $serverName `
        -Location $location `
        -SqlAdministratorCredentials $(New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $adminSqlLogin, $(ConvertTo-SecureString -String $password -AsPlainText -Force))
    # Create a server firewall rule that allows access from the specified IP range and all Azure services
    $serverFirewallRule = New-AzSqlServerFirewallRule `
        -ResourceGroupName $resourceGroupName `
        -ServerName $serverName `
        -FirewallRuleName "AllowedIPs" `
        -StartIpAddress $ipAddress -EndIpAddress $ipAddress 
    $allowAzureIpsRule = New-AzSqlServerFirewallRule `
        -ResourceGroupName $resourceGroupName `
        -ServerName $serverName `
        -AllowAllAzureIPs
    # Create a database
    $database = New-AzSqlDatabase  -ResourceGroupName $resourceGroupName `
        -ServerName $serverName `
        -DatabaseName $databaseName `
        -SampleName "AdventureWorksLT" `
        -Edition "GeneralPurpose" -Vcore 2 -ComputeGeneration "Gen5"
    # Enable Advanced Data Security
    $advancedDataSecurity = Enable-AzSqlServerAdvancedDataSecurity `
        -ResourceGroupName $resourceGroupName `
        -ServerName $serverName
    # Create a Storage Account
    $storageAccount = New-AzStorageAccount -ResourceGroupName $resourceGroupName `
        -AccountName $storageAccountName `
        -Location $location `
        -Type "Standard_LRS"
    
  5. A helyi eszközön nyissa meg az SQL Server Management Studiót (SSMS) a logikai kiszolgálóhoz való új kapcsolat létrehozásához.

  6. A Csatlakozás kiszolgálói bejelentkezési párbeszédpanelen adja meg a következő információkat:

    Mező Value
    Server type (Kiszolgáló típusa) Adatbázismotor (alapértelmezett).
    Kiszolgálónév A Cloud Shellben visszaadott $serverName, valamint az URI többi része. Például: aw-server<unique ID>.database.windows.net.
    Authentication SQL Server-hitelesítés (alapértelmezett).
    Bejelentkezés cloudadmin A gyakorlat 1. lépésében hozzárendelt adminSqlLogin.
    Jelszó A gyakorlat 1. lépésében megadott jelszó.
    Jelszó megjegyzése bejelölve
  7. Válassza a Kapcsolódás lehetőséget.

    Screenshot of connection dialog for SQL Database in SSMS.

    Megjegyzés:

    A helyi konfigurációtól (például VPN) függően az ügyfél IP-címe eltérhet az Azure Portal által az üzembe helyezés során használt IP-címtől. Ha igen, a következő üzenetet fogja kapni: "Az ügyfél IP-címe nem rendelkezik hozzáféréssel a kiszolgálóhoz. Jelentkezzen be egy Azure-fiókba, és hozzon létre egy új tűzfalszabályt a hozzáférés engedélyezéséhez." Ha ezt az üzenetet kapja, jelentkezzen be a tesztkörnyezethez használt fiókkal, és adjon hozzá egy tűzfalszabályt az ügyfél IP-címéhez. Ezeket a lépéseket az SSMS varázslójának használatával is elvégezheti.

Szkriptek betöltése és szerkesztése a gyakorlat előkészítéséhez

A gyakorlat összes szkriptje megtalálható a 04-Performance\monitor_and_scale mappában a klónozott GitHub-adattárban vagy a letöltött zip-fájlban. Készítsük elő a gyakorlatot a szkriptek betöltésével és szerkesztésével.

  1. Az SSMS-ben az Object Explorerben bontsa ki az Adatbázisok mappát, és válassza ki az AdventureWorks-adatbázist.

  2. Válassza a Fájl>megnyitása>fájlt, és nyissa meg a dmexecrequests.sql szkriptet. A lekérdezésszerkesztőnek a következő szöveghez hasonlóan kell kinéznie:

    SELECT er.session_id, er.status, er.command, er.wait_type, er.last_wait_type, er.wait_resource, er.wait_time
    FROM sys.dm_exec_requests er
    INNER JOIN sys.dm_exec_sessions es
    ON er.session_id = es.session_id
    AND es.is_user_process = 1;
    
  3. Használja ugyanezt a módszer az SSMS-ben a dmdbresourcestats.sql szkript betöltéséhez. Egy új lekérdezésszerkesztési ablakban a következő szöveghez hasonlónak kell megjelennie:

    SELECT * FROM sys.dm_db_resource_stats;
    

    Ez a dinamikus felügyeleti nézet (DMV) a számítási feladat általános erőforrás-felhasználását fogja követni az Azure SQL Database viszonylatában. Például a processzort, az I/O-t és a memóriát követi nyomon.

  4. Nyissa meg és szerkessze az sqlworkload.cmd szkriptet (amely az ostress.exe programot fogja használni).

    • Cserélje le a unique_id kiszolgáló nevében az üzembehelyezési szkriptből mentett parancsprogramot.
    • Cserélje le az Azure SQL Database-kiszolgálóhoz való bejelentkezéshez használt jelszót a -P parameterkövetkezőre: .
    • Mentse a szkript módosításait.

A számítási feladat futtatása

Ebben a feladatban egy számítási feladatot fog futtatni egy T-SQL-lekérdezésben, hogy megfigyelje az egyidejű felhasználókat szimuláló teljesítményét.

  1. Az SSMS használatával nyissa meg a topcustomersales.sql szkriptfájlt a lekérdezés megfigyeléséhez. Nem az SSMS-ből fogja futtatni a lekérdezést. A lekérdezésszerkesztőnek a következő szöveghez hasonlóan kell kinéznie:

    DECLARE @x int
    DECLARE @y float
    SET @x = 0;
    WHILE (@x < 10000)
    BEGIN
    SELECT @y = sum(cast((soh.SubTotal*soh.TaxAmt*soh.TotalDue) as float))
    FROM SalesLT.Customer c
    INNER JOIN SalesLT.SalesOrderHeader soh
    ON c.CustomerID = soh.CustomerID
    INNER JOIN SalesLT.SalesOrderDetail sod
    ON soh.SalesOrderID = sod.SalesOrderID
    INNER JOIN SalesLT.Product p
    ON p.ProductID = sod.ProductID
    GROUP BY c.CompanyName
    ORDER BY c.CompanyName;
    SET @x = @x + 1;
    END
    GO
    

    Ez az adatbázis kicsi. Az ügyfelek listájának és a hozzájuk tartozó értékesítési adatoknak a legtöbb értékesítéssel rendelkező ügyfelek által rendezett lekérésére szolgáló lekérdezésnek nem szabad nagy eredményhalmazt létrehoznia. Ezt a lekérdezést úgy hangolhatja, hogy csökkenti az eredményhalmaz oszlopainak számát, de ezek a gyakorlat szemléltetéséhez szükségesek.

  2. Egy PowerShell-parancssorból írja be a következő parancsot a gyakorlathoz megfelelő könyvtárba való áthelyezéshez. Cserélje le <base directory> a modul felhasználói azonosítójára és elérési útjára:

    cd <base directory>\04-Performance\monitor_and_scale
    
  3. Futtassa a számítási feladatot a következő paranccsal:

    .\sqlworkload.cmd
    

    Ez a szkript 10 párhuzamos, a számításifeladat-lekérdezést két alkalommal futtató felhasználót fog használni. Figyelje meg, hogy a szkript maga egy köteget futtat, de 10 000-szer halad rajta végig. Emellett az eredményt hozzárendeli egy változóhoz, ezzel szinte minden, az ügyfél felé haladó eredménykészlet-forgalmat megszüntet. Ez nem szükséges, de segít megjeleníteni a teljes mértékben a kiszolgálón futó "tiszta" CPU-számítási feladatokat.

    Tipp.

    Ha nem látja a processzorhasználat viselkedését ezzel a számítási feladattal a környezetében, módosíthatja az -n parameter értékét a felhasználók számának és az -r parameter értékét az ismétlések beállításához.

    A parancssor kimenetének a következő kimenethez hasonlóan kell kinéznie:

    [datetime] [ostress PID] Max threads setting: 10000
    [datetime] [ostress PID] Arguments:
    [datetime] [ostress PID] -S[server].database.windows.net
    [datetime] [ostress PID] -isqlquery.sql
    [datetime] [ostress PID] -U[user]
    [datetime] [ostress PID] -dAdventureWorks
    [datetime] [ostress PID] -P********
    [datetime] [ostress PID] -n10
    [datetime] [ostress PID] -r2
    [datetime] [ostress PID] -q
    [datetime] [ostress PID] Using language id (LCID): 1024 [English_United States.1252] for character formatting with NLS: 0x0006020F and Defined: 0x0006020F
    [datetime] [ostress PID] Default driver: SQL Server Native Client 11.0
    [datetime] [ostress PID] Attempting DOD5015 removal of [directory]\sqlquery.out]
    [datetime] [ostress PID] Attempting DOD5015 removal of [directory]\sqlquery_1.out]
    [datetime] [ostress PID] Attempting DOD5015 removal of [directory]\sqlquery_2.out]
    [datetime] [ostress PID] Attempting DOD5015 removal of [directory]\sqlquery_3.out]
    [datetime] [ostress PID] Attempting DOD5015 removal of [directory]\sqlquery_4.out]
    [datetime] [ostress PID] Attempting DOD5015 removal of [directory]\sqlquery_5.out]
    [datetime] [ostress PID] Attempting DOD5015 removal of [directory]\sqlquery_6.out]
    [datetime] [ostress PID] Attempting DOD5015 removal of [directory]\sqlquery_7.out]
    [datetime] [ostress PID] Attempting DOD5015 removal of [directory]\sqlquery_8.out]
    [datetime] [ostress PID] Attempting DOD5015 removal of [directory]\sqlquery_9.out]
    [datetime] [ostress PID] Starting query execution...
    [datetime] [ostress PID]  BETA: Custom CLR Expression support enabled.
    [datetime] [ostress PID] Creating 10 thread(s) to process queries
    [datetime] [ostress PID] Worker threads created, beginning execution...
    

A tevékenységprofil teljesítményének megfigyelése

A teljesítmény megfigyeléséhez használjuk a korábban betöltött DMV-lekérdezéseket.

  1. Futtassa a korábban a dm_exec_requests (dmexecrequests.sql) monitorozásához betöltött a lekérdezést az SSMS-ben az aktív kérések megfigyeléséhez. Futtassa ezt a lekérdezést öt vagy hat alkalommal, és figyelje meg némelyik eredményt:

    SELECT er.session_id, er.status, er.command, er.wait_type, er.last_wait_type, er.wait_resource, er.wait_time
    FROM sys.dm_exec_requests er
    INNER JOIN sys.dm_exec_sessions es
    ON er.session_id = es.session_id
    AND es.is_user_process = 1;
    

    Látnia kell, hogy sok kérés állapota RUNNABLE, és last_wait_type az is.SOS_SCHEDULER_YIELD A sok RUNNABLE kérés és sok SOS_SCHEDULER_YIELD várakozás egyik mutatója az aktív lekérdezések cpu-erőforrásainak esetleges hiánya.

    Megjegyzés:

    Előfordulhat, hogy egy vagy több aktív kérés jelenik meg, amelynek egy parancsa SELECT és egy wait_type parancsa van.XE_LIVE_TARGET_TVF Ezek a Microsoft felügyelete alá tartozó szolgáltatások által futtatott lekérdezések. Segítséget nyújtanak olyan képességek működtetésében, mint a bővített események használatával történő teljesítményelemzés. A Microsoft nem teszi közzé ezen munkamenetek részleteit.

    Ne zárja be ezt a lekérdezésszerkesztő ablakot. A következő gyakorlat során ismét futtatni fogja.

  2. Futtassa a lekérdezést a korábban a sys.dm_db_resource_stats (dmdbresourcestats.sql) kérések monitorozásához betöltött SSMS-ben. A DMV eredményeinek megtekintéséhez futtassa a lekérdezést három vagy négy alkalommal.

    SELECT * FROM sys.dm_db_resource_stats;
    

    Ez a DMV 15 másodpercenként pillanatképet készít az adatbázishoz tartozó erőforrás-használatról (majd 1 óráig tárolja). Az avg_cpu_percent oszlopnak 100 százalékhoz közeli értéket kell mutatnia számos pillanatkép esetében. Ez azt jelzi, hogy a számítási feladat az adatbázis processzor-erőforrásainak maximális teljesítményét használja.

    A helyszíni SQL Server-környezetek esetében általában az operációs rendszerre jellemzően egy, az általános erőforrás-használatot nyomon követő eszközt használunk. Ehhez például használhatja a Windows Teljesítményfigyelőt. Ha ezt a példát egy két CPU-val rendelkező virtuális gépen futó helyszíni SQL Serveren vagy SQL Serveren futtatta, akkor a kiszolgálón közel 100 százalékos processzorkihasználtság jelenik meg.

    Megjegyzés:

    Az Azure SQL Database-kiszolgáló master adatbázisának kontextusában futtathat egy másik DMV-t sys.resource_statsis, amely a kiszolgálóhoz társított összes Azure SQL Database-adatbázis erőforrás-használatát látja. Ez a nézet kevésbé részletes, és öt percenként jeleníti meg az erőforrás-használatot (14 napig őrizve).

    Ne zárja be ezt a lekérdezésszerkesztő ablakot. A következő gyakorlat során ismét futtatni fogja.

  3. Várja meg, amíg befejeződik a számítási feladat, majd jegyezze fel a teljes időtartamot. Miután a számítási feladat befejeződött, a következő kimenethez hasonló eredménynek kell megjelennie, valamint a rendszer visszalép a parancssorhoz:

    [datetime] [ostress PID] Total IO waits: 0, Total IO wait time: 0 (ms)
    [datetime] [ostress PID] OSTRESS exiting normally, elapsed time: 00:01:22.637
    

    Az időtartam eltérő lehet, de ez általában legalább 1–3 percet vesz igénybe. Mindenképpen hagyja, hogy teljesen befejeződjön. Amikor a számítási feladat elkészült, a rendszer visszaküldi a parancssorba.

A lekérdezéstár használata további elemzéshez

A lekérdezéstár az SQL Server egyik képessége, amellyel nyomon követhető a lekérdezések végrehajtásának teljesítménye. A teljesítményadatokat a felhasználói adatbázisban tárolja a rendszer. A lekérdezéstár nincs alapértelmezés szerint engedélyezve az SQL Serverben létrehozott adatbázisokhoz, de alapértelmezés szerint be van kapcsolva az Azure SQL Database-hez (és az Azure SQL Managed Instance-hez).

A lekérdezéstár több rendszerkatalógus-nézetet is tartalmaz a teljesítményadatok megtekintéséhez. Az SSMS ezen nézetek használatával készít jelentéseket.

  1. Az Object Explorer SSMS-ben történő használatával nyissa meg a Lekérdezéstár mappát, és keresse meg a legtöbb erőforrást használó lekérdezésekhez tartozó jelentést.

    Screenshot of the Query Store.

  2. Válassza ki a jelentést és nézze meg, hogy melyik lekérdezések használták átlagosan a legtöbb erőforrást, valamint tekintse meg ezen lekérdezések végrehajtásának adatait. Az idáig futtatott számítási feladatok alapján a jelentésnek a következő képhez hasonlóan kell kinéznie:

    Screenshot of the top query report.

    A megjelenített lekérdezés a vásárlói eladások számítási feladatából származó SQL-lekérdezés. Ez a jelentés a következő három összetevőből áll: magas teljes időtartammal rendelkező lekérdezések (a metrika módosítható), a társított lekérdezésterv és a futás idejére vonatkozó statisztikák, valamint a társított lekérdezésterv egy vizualizációs ábrán.

  3. Válassza a lekérdezés sávdiagramját (a query_id különböző rendszerek esetén eltérő lehet). Az eredményeknek a következő képhez hasonlóan kell kinézniük:

    Screenshot of the query ID.

    Láthatja a lekérdezés teljes időtartamát és a lekérdezés szövegét.

  4. A sávdiagram jobb oldalán a lekérdezéshez társított lekérdezéstervre vonatkozó statisztikák diagramja látható. Vigye a mutatót a tervhez társított pont fölé. Az eredményeknek a következő képhez hasonlóan kell kinézniük:

    Screenshot of slow query statistics.

    Jegyezze fel a lekérdezés átlagos időtartamát. Az időtartamok eltérők lehetnek, de hasonlítsa össze ezt az átlagos időtartamot a lekérdezés átlagos várakozási idejével. A későbbiekben a teljesítménnyel kapcsolatos fejlesztéseket fogunk bevezetni, és ekkor újra elvégezheti az összehasonlítást, hogy lássa a különbséget.

  5. Az utolsó összetevő a vizualizációs lekérdezésterv. A lekérdezés lekérdezésterve a következő képhez hasonlóan néz ki:

    Screenshot of the workload query plan.

    Ez az adatbázistábla olyan kevés sort tartalmaz, hogy nincs szüksége tervre; lehet, hogy nem hatékony. A lekérdezés finomhangolása nem növeli mérhető mértékben a teljesítményt. Előfordulhat, hogy a tervben figyelmeztetés jelenik meg arról, hogy a fürtözött indexkereset egyik oszlopának statisztikái nem jelennek meg. Ennek nincs jelentősége az általános teljesítményre nézve.

  6. Az SSMS-ben a leggyakoribb erőforrás-fogyasztó lekérdezéseket követő jelentés a Lekérdezési várakozási statisztikák nevű jelentés. A korábbi diagnosztikákból tudhatja, hogy sok kérelem folyamatosan RUNNABLE állapotban volt, majdnem 100%-os processzorhasználattal. A lekérdezéstár olyan jelentéseket is tartalmaz, amelyek az erőforrásra való várakozás miatt kialakuló, lehetséges teljesítménybeli szűk keresztmetszeteket tartalmazzák. Válassza ki ezt a jelentést, majd vigye a mutatót a sávdiagram fölé. Az eredményeknek a következő képhez hasonlóan kell kinézniük:

    Screenshot of the top wait statistics.

    Láthatja, hogy a vezető várakozási kategória a processzor (ez a wait_type SOS_SCHEDULER_YIELD megfelelője, amely a sys.dm_os_wait_stats statisztikában látható), valamint megtekintheti az átlagos várakozási időt.

  7. A jelentésben kattintson a processzor sávdiagramjára. A processzorra váró legfelső lekérdezés a használt számítási feladatból származó lekérdezés.

    Screenshot of the top wait statistics query.

    Figyelje meg, hogy a lekérdezés processzorára vonatkozó átlagos várakozási idő a lekérdezés teljes átlagos időtartamának nagy százaléka.

    Figyelembe véve a bizonyítékokat, a lekérdezések finomhangolása nélkül a számítási feladat több processzorkapacitást igényel, mint amennyit üzembe helyeztünk az Azure SQL Database-példányunkban.

  8. Zárja be mindkét lekérdezéstár-jelentést. A következő gyakorlatban ugyanezekre a jelentésekre lesz szüksége.

A teljesítmény figyelése az Azure Monitorral

Használjunk egy másik módszert a számítási feladat erőforrás-használatának megtekintéséhez. Az Azure Monitor teljesítménymetrikákat biztosít, amelyeket különböző módokon tekinthet meg, többek között az Azure Portalon keresztül.

  1. Nyissa meg az Azure Portalt, és keresse meg az AdventureWorks SQL-adatbázis példányát. Az adatbázis Áttekintés paneljén válassza a Figyelés lapot. A Figyelés panel alapértelmezett nézete a Számítási kihasználtság:

    Screenshot of the Azure portal with a slow query.

    Ebben a példában a cpu-százalék közel 100 százalék egy legutóbbi időtartományhoz. Ez a diagram az erőforrás-használatot (a cpu és az I/O alapértelmezés szerint) mutatja az elmúlt órában, és folyamatosan frissül. Válassza ki a diagramot, hogy testre szabhassa, hogy megtekinthesse az egyéb erőforrás-használatot.

  2. Az SQL-adatbázis menüjében válassza a Metrikák hozzáadása lehetőséget. Az Azure Monitor for Azure SQL Database által automatikusan gyűjtött számítási kihasználtsági metrikák és egyéb metrikák megtekintésének másik módja a Metrics Explorer használata.

    Megjegyzés:

    A számítási kihasználtság a Metrics Explorer előre definiált nézete. Ha a Metrikák hozzáadása ablakban a Metrika legördülő menüt választja, a következő eredmények fognak megjelenni:

    Screenshot of Azure Monitor metrics.

    Ahogy a képernyőképen látható, számos metrikát használhat a Metrics Explorerrel való megtekintéshez. A Metrics Explorer alapértelmezett nézete 24 órás időtartamra szól, ötperces részletességgel. A Számítási kihasználtság nézet az utolsó óra egyperces részletességgel (amelyet megváltoztathat). Ha ugyanazt a nézetet szeretné látni, válassza ki a processzor százalékos értékét , és módosítsa a rögzítést egy órán át. A rendszer módosítja a részletességet egy percre, és a következő képhez hasonlóan kell kinéznie:

    Screenshot of Azure Monitor metrics, including CPU after 1 minute.

    A vonaldiagram az alapértelmezett, de az Explorer nézet lehetővé teszi a diagramtípus módosítását. A Metrics Explorer számos lehetőséget kínál, többek között több metrikát is megjeleníthet ugyanazon a diagramon.

Azure Monitor logs

Ebben a gyakorlatban nem állított be Azure Monitor-naplót, de érdemes megtekinteni, hogyan nézne ki egy napló a processzorerőforrás-használati forgatókönyvben. Az Azure Monitor-naplók sokkal hosszabb előzményrekordot biztosíthatnak az Azure-metrikáknál.

Ha az Azure Monitor-naplókat Log Analytics-munkaterülettel konfigurálta, az alábbi Kusto-lekérdezéssel megtekintheti az adatbázis processzorhasználati eredményeit:

AzureMetrics
| where MetricName == 'cpu_percent'
| where Resource == "ADVENTUREWORKS"
| project TimeGenerated, Average
| render columnchart

Az eredmények a következő képhez hasonlóan néznek ki:

Screenshot of a query measuring CPU.

Az Azure Monitor-naplók késéssel rendelkeznek egy adatbázis naplódiagnosztikájának első konfigurálásakor, ezért kis időbe telhet, míg az eredmények megjelennek.

Ebben a gyakorlatban megtanulta, hogyan figyelheti meg az SQL Server teljesítményének gyakori forgatókönyvét, és részletesen tájékozódhatott a teljesítmény javítására szolgáló lehetséges megoldás kiválasztásáról. A következő leckében a teljesítmény felgyorsítására és finomhangolására használható módszereket ismerheti meg.