Dela via


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

Tillägget Prestandadiagnostik (PerfInsights) är ett självhjälpsdiagnostikverktyg som samlar in och analyserar diagnostikdata och innehåller en rapport som hjälper dig att felsöka prestandaproblem med 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 samlas 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

Obs!

Information om hur du använder PerfInsights i en VM-skalningsuppsättning i Azure finns i PerfInsights och vm-instanser för skalningsuppsättningar.

Kontinuerlig diagnostik

Med kontinuerlig prestandadiagnostik kan du identifiera hög resursanvändning genom att regelbundet övervaka den virtuella datorn 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ändelselogg

  • 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)

  • Räknare för lagringstillförlitlighet

  • Viktiga Snabbkorrigeringar för Windows

  • Installerade filterdrivrutiner

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

Obs!

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.

Obs!

Det här scenariot kan påverka systemet och bör inte köras i ett realtidsproduktionssystem. 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 spårning av prestandaräknare 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

Det här scenariot kör en särskild avbildning av 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-klientdelning som ingår i avbildningen:

Typ Räknare för SMB-klientresurser
IOPS Databegäranden per sekund
Läs begäranden per sekund
Skrivbegäranden/s
Latens Genomsnittlig sek/databegäran
Genomsnittlig sek/läsning
Genomsnittlig sek/skrivning
I/O-storlek Genomsnittlig byte/databegäran
Genomsnittlig byte/läsning
Genomsnittlig byte/skrivning
Genomströmning Databyte per sekund
Läsa byte/s
Skriva byte/s
Kölängd Genomsnittlig längd på läskö
Genomsnittlig längd på skrivkö
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 dem alla (prestandaräknare, Xperf, nätverk och StorPort).

Obs!

Det här scenariot kan påverka systemet och bör inte köras i ett realtidsproduktionssystem. 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
Köra uppgifter Ja Ja Ja Ja Ja
Räknare för lagringstillförlitlighet 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
Nätverkskonfiguration Ja Ja Ja Ja Ja
Brandväggskonfiguration 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-spårning *** 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 –> Hitta.

Varje regel består av följande objekt:

  • Sökning: Beskrivning av fyndet.
  • Rekommendation: Rekommendation om vilka åtgärder som kan vidtas för sökningen. Det finns även 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 pauser för skräpinsamling i hanterade processer.

Obs!

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

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, and \Server\Pool Paged Failures
  • Markerade räknare under \Network Interface, \IPv4\Datagrams, \IPv6\Datagrams, \TCPv4\Segments, \TCPv6\Segments, \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:Access-metoder

För Azure Files

\SMB-klientresurser

Diskspd benchmark-spårning (***)

I/O-arbetsbelastningstester för Diskspd (OS-disk [skrivning] och poolenheter [läsa/skriva])

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 dator 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örigheten Visa servertillstånd och Anslut SQL-behörighet för varje instans, annars kan PerfInsights inte 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 live-produktionsmiljö.

  • 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årning förblir aktiverat 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 är beroende av den här enheten.

Hur kör jag PerfInsights?

Du kan köra PerfInsights på en virtuell dator genom att installera VM-tillägget för Azure Performance Diagnostics. 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 PerfInsights.zip-filen. 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 Spårning av xperf- och prestandaräknare 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>
      

    Obs!

    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 hos 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 anges 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 denPerformanceDiagnostics_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 duPerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.zip-filen 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.

Obs!

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 några 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 DE SQL Server-instanser 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 även 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 viktiga 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 PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.zip fil som har samlats in av PerfInsights.

Kontakta oss för att få hjälp

Om du har frågor eller behöver hjälp skapar du en supportförfrågan eller frågar Azure community support. Du kan också skicka produktfeedback till Azure-feedbackcommunityn.