Felsöka prestandaproblem för virtuella Windows-datorer med hjälp av CLI-verktyget Prestandadiagnostik (PerfInsights)

Gäller för: ✔️ Virtuella Windows-datorer

Tillägget Prestandadiagnostik (PerfInsights) är ett självhjälpsdiagnostikverktyg som samlar in och analyserar diagnostikdata och tillhandahåller en rapport som hjälper dig att felsöka prestandaproblem för virtuella Windows-datorer i Azure. Använd Prestandadiagnostik för att identifiera och felsöka prestandaproblem i något av två lägen:

  • Kontinuerlig diagnostik (förhandsversion) samlar in data med fem sekunders intervall och rapporterar användbara insikter om hög resursanvändning var femte minut.
  • Diagnostik på begäran hjälper dig att felsöka ett pågående prestandaproblem med mer djupgående data, insikter och rekommendationer baserat på data som samlats in vid en enda tidpunkt.

Den här artikeln beskriver hur du laddar ned tillägget Prestandadiagnostik till din virtuella Windows-dator och kör verktyget med hjälp av CLI-verktyget. Du kan också köra prestandadiagnostik från portalen och distribuera tillägget Prestandadiagnostik med hjälp av en ARM-mall eller PowerShell.

Om du har prestandaproblem med virtuella datorer kör du prestandadiagnostik innan du kontaktar supporten.

Felsökningsscenarier som stöds

Du kan använda prestandadiagnostik för att felsöka olika scenarier. I följande avsnitt beskrivs vanliga scenarier för användning av kontinuerlig och prestandadiagnostik på begäran för att identifiera och felsöka prestandaproblem. En jämförelse av kontinuerlig och prestandadiagnostik på begäran finns i Insikter och rapporter om prestandadiagnostik

Kommentar

Information om hur du använder PerfInsights i en skalningsuppsättning för virtuella Azure-datorer finns i Instanser av virtuella Datorer med PerfInsights och skalningsuppsättningar.

Kontinuerlig diagnostik

Med kontinuerlig prestandadiagnostik kan du identifiera hög resursanvändning genom att övervaka den virtuella datorn regelbundet för:

  • Hög CPU-användning: Identifierar perioder med hög CPU-användning och visar de främsta cpu-användningskonsumenterna under dessa perioder.
  • Hög minnesanvändning: Identifierar perioder med hög minnesanvändning och visar de främsta minnesanvändningskonsumenterna under dessa perioder.
  • Hög diskanvändning: Identifierar perioder med hög diskanvändning på fysiska diskar och visar de främsta diskanvändningskonsumenterna under dessa perioder.

Diagnostik på begäran

Snabbanalys

Det här scenariot samlar in diskkonfigurationen och annan viktig information, inklusive:

  • Händelseloggar

  • Nätverksstatus för alla inkommande och utgående anslutningar

  • Konfigurationsinställningar för nätverk och brandvägg

  • Uppgiftslista för alla program som för närvarande körs i systemet

  • Konfigurationsinställningar för Microsoft SQL Server-databas (om den virtuella datorn identifieras som en server som kör SQL Server)

  • Tillförlitlighetsräknare för lagring

  • Viktiga Snabbkorrigeringar för Windows

  • Installerade filterdrivrutiner

Det här är en passiv samling med information som inte ska påverka systemet.

Kommentar

Det här scenariot ingår automatiskt i vart och ett av följande scenarier.

Riktmärkning

Det här scenariot kör diskspd benchmark-testet (IOPS och MBPS) för alla enheter som är anslutna till den virtuella datorn.

Kommentar

Det här scenariot kan påverka systemet och bör inte köras på ett produktionssystem i realtid. Om det behövs kör du det här scenariot i en dedikerad underhållsperiod för att undvika problem. En ökad arbetsbelastning som orsakas av ett spårnings- eller benchmark-test kan påverka den virtuella datorns prestanda negativt.

Prestandaanalys

Det här scenariot kör en prestandaräknarespårning med hjälp av de räknare som anges i filen RuleEngineConfig.json. Om den virtuella datorn identifieras som en server som kör SQL Server körs en prestandaräknarespårning. Det gör den med hjälp av de räknare som finns i filen RuleEngineConfig.json. Det här scenariot innehåller även prestandadiagnostikdata.

Azure Files-analys

I det här scenariot körs en särskild prestandaräknare tillsammans med en nätverksspårning. Avbildningen innehåller alla SMB-klientresursräknare (Server Message Block). Följande är några viktiga prestandaräknare för SMB-klientresurser som ingår i insamlingen:

Typ Räknare för SMB-klientresurser
IOPS Databegäranden per sekund
Läs begäranden per sekund
Skrivbegäranden per sekund
Svarstid Genomsnittlig sek/databegäran
Genomsnittlig sek/läsning
Genomsnittlig sek/skrivning
I/O-storlek Genomsnittlig byte/databegäran
Genomsnittligt antal byte/läsning
Genomsnittligt antal byte/skrivning
Genomflöde Databyte per sekund
Lästa byte/sek
Skrivna byte/sek
Kölängd Genomsnittlig läskölängd
Genomsnittlig skrivkölängd
Genomsnittlig datakölängd

Avancerad prestandaanalys

När du kör en avancerad prestandaanalys väljer du spårningar som ska köras parallellt. Om du vill kan du köra alla (prestandaräknare, Xperf, nätverk och StorPort).

Kommentar

Det här scenariot kan påverka systemet och bör inte köras på ett produktionssystem i realtid. Om det behövs kör du det här scenariot i en dedikerad underhållsperiod för att undvika problem. En ökad arbetsbelastning som orsakas av ett spårnings- eller benchmark-test kan påverka den virtuella datorns prestanda negativt.

Vilken information samlar prestandadiagnostik in i Windows?

Information om konfiguration av virtuella Windows-datorer, diskar eller lagringspooler, prestandaräknare, loggar och olika spårningar samlas in. Det beror på vilket prestandascenario du använder. Följande tabell innehåller information:

Insamlade data Snabb prestandaanalys Riktmärkning Prestandaanalys Azure Files-analys Avancerad prestandaanalys
Information från händelseloggar Ja Ja Ja Ja Ja
Systeminformation Ja Ja Ja Ja Ja
Volymkarta Ja Ja Ja Ja Ja
Diskkarta Ja Ja Ja Ja Ja
Aktiviteter som körs Ja Ja Ja Ja Ja
Tillförlitlighetsräknare för lagring Ja Ja Ja Ja Ja
Lagringsinformation Ja Ja Ja Ja Ja
Fsutil-utdata Ja Ja Ja Ja Ja
Information om filterdrivrutiner Ja Ja Ja Ja Ja
Netstat-utdata Ja Ja Ja Ja Ja
Konfiguration av nätverk Ja Ja Ja Ja Ja
Konfigurering av brandvägg Ja Ja Ja Ja Ja
Konfiguration av SQL Server Ja Ja Ja Ja Ja
Spårning av prestandadiagnostik * Ja Ja Ja Ja Ja
Spårning av prestandaräknare ** Ja Ja
SMB-räknarspårning ** Ja
SQL Server-räknarspårning ** Ja Ja
Xperf-spårning Ja
StorPort-spårning Ja
Nätverksspårning Ja Ja
Diskspd benchmark trace *** Ja

Spårning av prestandadiagnostik (*)

Kör en regelbaserad motor i bakgrunden för att samla in data och diagnostisera pågående prestandaproblem. Regler visas i rapporten under fliken Kategori –> Sökning.

Varje regel består av följande objekt:

  • Hitta: Beskrivning av sökningen.
  • Rekommendation: Rekommendation om vilka åtgärder som kan vidtas för att hitta. Det finns också referenslänkar till dokumentation som innehåller mer information om sökningen och/eller rekommendationen.
  • Effektnivå: Representerar potentialen för att påverka prestanda.

Följande regelkategorier stöds för närvarande:

  • Hög resursanvändning:
    • Hög CPU-användning: Identifierar perioder med hög CPU-användning och visar de främsta cpu-användningskonsumenterna under dessa perioder.
    • Hög minnesanvändning: Identifierar perioder med hög minnesanvändning och visar de främsta minnesanvändningskonsumenterna under dessa perioder.
    • Hög diskanvändning: Identifierar perioder med hög diskanvändning på fysiska diskar och visar de främsta diskanvändningskonsumenterna under dessa perioder.
    • Diskanvändning med hög upplösning: Visar mått för IOPS, dataflöde och I/O-svarstid per 50 millisekunder för varje fysisk disk. Det hjälper till att snabbt identifiera diskbegränsningsperioder.
  • Kunskapsbas: Identifierar om specifika kunskapsbasartiklar (KB) inte är installerade.
  • Disk: Identifierar specifika inställningar för diskkonfiguration.
  • SQL: Identifierar specifika SQL-inställningar.
  • Nätverk: Identifierar specifika nätverksinställningar.
  • Serverkluster: Identifierar specifika konfigurationsinställningar för serverkluster.
  • System: Identifierar specifika systemkonfigurationsinställningar.
  • CLR: Identifierar långa skräpinsamlingar pausar hanterade processer.

Kommentar

För närvarande stöds Windows-versioner som innehåller .NET Framework 4.5 eller senare versioner.

Spårning av prestandaräknare (**)

Samlar in följande prestandaräknare:

  • \System, \Process, \Processor, \Memory, \Thread, \PhysicalDisk och \LogicalDisk
  • \Cache\Dirty Pages, \Cache\Lazy Write Flushes/sec, \Server\Pool Nonpaged, Failures och \Server\Pool Paged Failures
  • Markerade räknare under \Network Interface, \IPv4\Datagrams, \IPv6\Datagrams, \TCPv4\Segments, \TCPv6\Segment, \Network Adapter, \WFPv4\Packets, \WFPv6\Packets, \UDPv4\Datagrams, \UDPv6\Datagrams, \TCPv4\Connection, \TCPv6\Connection, \Network QoS Policy\Packets, \Per Processor Network Interface Card Activity och \Microsoft Winsock BSP

För SQL Server-instanser

  • \SQL Server:Buffer Manager, \SQLServer:Resource Pool Stats och \SQLServer:SQL Statistics\
  • \SQLServer:Locks, \SQLServer:General, Statistics
  • \SQLServer:Åtkomstmetoder

För Azure Files

\SMB-klientresurser

Diskspd benchmark-spårning (***)

Diskspd I/O-arbetsbelastningstester (OS Disk [write] och poolenheter [read/write])

Köra prestandadiagnostik på den virtuella datorn med hjälp av CLI-verktyget

Vad måste jag veta innan jag kör verktyget?

Verktygskrav

  • Det här verktyget måste köras på den virtuella datorn som har prestandaproblemet.

  • Följande operativsystem stöds:

    • Windows Server 2022
    • Windows Server 2019
    • Windows Server 2016
    • Windows Server 2012 R2
    • Windows Server 2012
    • Windows 11
    • Windows 10

Åtkomst till SQL Server

Om den virtuella datorn har SQL Server-instanser installerade använder PerfInsights kontot NT AUTHORITY\SYSTEM för att komma åt SQL Server-instanserna för att samla in konfigurationsinformation och köra regler. Kontot NT AUTHORITY\SYSTEM måste beviljas behörighet att visa servertillstånd och ansluta SQL-behörighet för varje instans, annars kommer PerfInsights inte att kunna ansluta till SQL Server och PerfInsights-rapporten visar ingen SQL Server-relaterad information.

Möjliga problem när du kör verktyget på virtuella produktionsdatorer

  • För benchmarking-scenariot eller scenariot "Avancerad prestandaanalys" som är konfigurerat att använda Xperf eller Diskspd kan verktyget påverka den virtuella datorns prestanda negativt. Dessa scenarier bör inte köras i en produktionsmiljö i realtid.

  • För benchmarkingscenariot eller scenariot "Avancerad prestandaanalys" som har konfigurerats för att använda Diskspd kontrollerar du att ingen annan bakgrundsaktivitet stör I/O-arbetsbelastningen.

  • Som standard använder verktyget den tillfälliga lagringsenheten för att samla in data. Om spårningen förblir aktiverad under en längre tid kan mängden data som samlas in vara relevant. Detta kan minska tillgängligheten för utrymme på den tillfälliga disken och kan därför påverka alla program som förlitar sig på den här enheten.

Hur kör jag PerfInsights?

Du kan köra PerfInsights på en virtuell dator genom att installera AZURE Performance Diagnostics VM-tillägget. Du kan också köra den som ett fristående verktyg.

Installera och köra PerfInsights från Azure-portalen

Mer information om det här alternativet finns i Installera Azure Performance Diagnostics VM-tillägg.

Kör PerfInsights i fristående läge

Följ dessa steg för att köra verktyget PerfInsights:

  1. Ladda ned PerfInsights.zip.

  2. Avblockera filen PerfInsights.zip. Det gör du genom att högerklicka på filen PerfInsights.zip och välja Egenskaper. På fliken Allmänt väljer du Avblockera och sedan OK. Den här åtgärden säkerställer att verktyget körs utan några andra säkerhetsmeddelanden.

    Skärmbild av Egenskaper för PerfInsights med Avblockering markerat.

  3. Expandera den komprimerade PerfInsights.zip filen till den tillfälliga enheten (som standard är detta vanligtvis D-enheten).

  4. Öppna Windows-kommandotolken som administratör och kör sedan PerfInsights.exe för att visa de tillgängliga kommandoradsparametrarna.

    cd <the path of PerfInsights folder>
    PerfInsights
    

    Skärmbild av utdata från PerfInsights-kommandoraden.

    Den grundläggande syntaxen för att köra PerfInsights-scenarier är:

    PerfInsights /run <ScenarioName> [AdditionalOptions]
    

    Leta upp alla tillgängliga scenarier och alternativ med hjälp av kommandot /list :

    PerfInsights /list
    

    Det här är exempel på hur du använder CLI-verktyget för att köra de olika felsökningsscenarierna:

    • Kör kontinuerlig prestandadiagnostik:

      PerfInsights /run always on /sau 
      

      Om du vill stoppa kontinuerlig prestandadiagnostik trycker du på Ctrl+C eller stänger terminalen.

    • Kör scenariot för prestandaanalys i 5 minuter:

      PerfInsights /run vmslow /d 300 /AcceptDisclaimerAndShareDiagnostics
      
    • Kör det avancerade scenariot med xperf- och prestandaräknarespårningar i 5 minuter:

      PerfInsights /run advanced xp /d 300 /AcceptDisclaimerAndShareDiagnostics
      
    • Kör benchmark-scenariot i 5 minuter:

      PerfInsights /run benchmark /d 300 /AcceptDisclaimerAndShareDiagnostics
      
    • Kör scenariot för prestandaanalys i 5 minuter och ladda upp resultat-zip-filen till lagringskontot:

      PerfInsights /run vmslow /d 300 /AcceptDisclaimerAndShareDiagnostics /sa <StorageAccountName> /sk <StorageAccountKey>
      

    Kommentar

    Innan du kör ett scenario uppmanar PerfInsights användaren att godkänna att dela diagnostikinformation och godkänna licensavtalet. Använd alternativet /AcceptDisclaimerAndShareDiagnostics för att hoppa över dessa frågor.

    Om du har ett aktivt supportärende med Microsoft och kör PerfInsights enligt begäran från supportteknikern som du arbetar med måste du ange supportbiljettnumret med hjälp av alternativet /sr .

    PerfInsights försöker som standard uppdatera sig själv till den senaste versionen om det är tillgängligt. Använd parametern /SkipAutoUpdate eller /sau för att hoppa över automatisk uppdatering.

    Om varaktighetsväxlingen /d inte har angetts uppmanar PerfInsights dig att återskapa problemet när du kör vmslow, azurefiles och avancerade scenarier.

När spårningarna eller åtgärderna har slutförts visas en ny fil i samma mapp som PerfInsights. Namnet på filen är PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.zip. Du kan skicka den här filen till supportagenten för analys eller öppna rapporten i zip-filen för att granska resultat och rekommendationer.

Granska diagnostikrapporten

I den PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.zip filen hittar du en HTML-rapport som beskriver resultaten från PerfInsights. Om du vill granska rapporten expanderar du filen PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.zip och öppnar sedan filen PerfInsights Report.html.

Välj fliken Resultat .

Skärmbild av fliken Resultat under fliken Översikt i PerfInsights-rapporten.

Skärmbild av fliken Resultat under fliken Lagring i PerfInsights-rapporten.

Kommentar

Resultat som kategoriseras som höga är kända problem som kan orsaka prestandaproblem. Resultat kategoriserade som medel representerar icke-optimala konfigurationer som inte nödvändigtvis orsakar prestandaproblem. Resultat som kategoriseras som låga är endast informativa instruktioner.

Granska rekommendationerna och länkarna för alla höga och medelstora resultat. Lär dig mer om hur de kan påverka prestanda och även om metodtips för prestandaoptimerade konfigurationer.

Fliken Lagring

Avsnittet Resultat visar olika resultat och rekommendationer som rör lagring.

Avsnitten Diskkarta och Volymkarta beskriver hur logiska volymer och fysiska diskar är relaterade till varandra.

I det fysiska diskperspektivet (Diskkarta) visar tabellen alla logiska volymer som körs på disken. I följande exempel kör PhysicalDrive2 två logiska volymer som skapats på flera partitioner (J och H):

Skärmbild av avsnittet diskkarta under fliken Resultat i PerfInsights-rapporten.

I volymperspektivet (volymkarta) visar tabellerna alla fysiska diskar under varje logisk volym. Observera att för RAID/Dynamiska diskar kan du köra en logisk volym på flera fysiska diskar. I följande exempel är C:\mount en monteringspunkt som konfigurerats som SpannedDisk på fysiska diskar 2 och 3:

Skärmbild av avsnittet volymkarta under fliken Resultat i PerfInsights-rapporten.

FLIKEN SQL

Om den virtuella måldatorn är värd för sql server-instanser visas en annan flik i rapporten med namnet SQL:

Skärmbild av fliken SQL och underflikarna under den.

Det här avsnittet innehåller fliken Resultat och extra flikar för var och en av SQL Server-instanserna som finns på den virtuella datorn.

Fliken Resultat innehåller en lista över alla SQL-relaterade prestandaproblem som hittats, tillsammans med rekommendationerna.

I följande exempel visas PhysicalDrive0 (kör C-enheten). Det beror på att både modeldev - och modellog-filerna finns på C-enheten och de är av olika typer (till exempel datafil respektive transaktionslogg).

Skärmbild av information om modeldev- och modellog-filer.

Flikarna för specifika instanser av SQL Server innehåller ett allmänt avsnitt som visar grundläggande information om den valda instansen. Flikarna innehåller också fler avsnitt för avancerad information, inklusive inställningar, konfigurationer och användaralternativ.

Fliken Diagnostik

Fliken Diagnostik innehåller information om de främsta cpu-, disk- och minneskonsumenterna på datorn under körningen av prestandadiagnostik. Du kan också hitta information om kritiska korrigeringar som systemet kanske saknar, uppgiftslistan och viktiga systemhändelser.

Referenser till de externa verktyg som används

Diskspd

Diskspd är en lagringsbelastningsgenerator och ett prestandatestverktyg från Microsoft. Mer information finns i Diskspd.

Xperf

Xperf är ett kommandoradsverktyg för att samla in spårningar från Windows Performance Toolkit. Mer information finns i Windows Performance Toolkit – Xperf.

Nästa steg

Du kan ladda upp diagnostikloggar och rapporter till Microsoft Support för ytterligare granskning. Supporten kan begära att du skickar utdata som genereras av PerfInsights för att hjälpa till med felsökningsprocessen.

Följande skärmbild visar ett meddelande som liknar det du kan få:

Skärmbild av exempelmeddelande från Microsoft Support.

Följ anvisningarna i meddelandet för att komma åt filöverföringsarbetsytan. För extra säkerhet måste du ändra ditt lösenord vid första användningen.

När du har loggat in hittar du en dialogruta för att ladda upp den PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.zip fil som har samlats in av PerfInsights.

Kontakta oss om du behöver hjälp

Om du har frågor eller behöver hjälp skapar du en supportbegäran eller frågar Azure Community-support. Du kan också skicka produktfeedback till Azure-feedbackcommunityn.