Prestatieproblemen met virtuele Windows-machines oplossen met behulp van het CLI-hulpprogramma Performance Diagnostics (PerfInsights)
Van toepassing op: ✔️ Windows-VM's
De extensie PerfInsights (Performance Diagnostics) is een zelfhulphulpprogramma voor diagnostische gegevens waarmee diagnostische gegevens worden verzameld en geanalyseerd, en een rapport wordt weergegeven om prestatieproblemen met virtuele Windows-machines (VM's) in Azure op te lossen. Prestatiediagnose gebruiken om prestatieproblemen in een van de twee modi te identificeren en op te lossen:
- Continue diagnose (preview) verzamelt gegevens met vijf seconden en rapporteert bruikbare inzichten over hoog resourcegebruik om de vijf minuten.
- Diagnostische gegevens op aanvraag helpen u bij het oplossen van een doorlopend prestatieprobleem met uitgebreidere gegevens, inzichten en aanbevelingen op basis van gegevens die op één bepaald moment worden verzameld.
In dit artikel wordt uitgelegd hoe u de extensie Prestatiediagnose naar uw Windows-VM downloadt en het hulpprogramma uitvoert met behulp van het CLI-hulpprogramma. U kunt ook Prestatiediagnose uitvoeren vanuit de portal en de extensie Performance Diagnostics implementeren met behulp van een ARM-sjabloon of PowerShell.
Als u prestatieproblemen ondervindt met virtuele machines, voert u prestatiediagnose uit voordat u contact op neemt met de ondersteuning.
Ondersteunde scenario's voor probleemoplossing
U kunt Prestatiediagnose gebruiken om verschillende scenario's op te lossen. In de volgende secties worden veelvoorkomende scenario's beschreven voor het gebruik van continue en on-demand prestatiediagnose om prestatieproblemen te identificeren en op te lossen. Zie Voor een vergelijking van continue en on-demand prestatiediagnose inzichten en rapporten
Notitie
Zie PerfInsights en VM-exemplaren voor schaalsets van PerfInsights voor meer informatie over het gebruik van PerfInsights in een virtuele-machineschaalset.
Continue diagnostische gegevens
Met continue prestatiediagnose kunt u een hoog resourcegebruik identificeren door uw VM regelmatig te controleren op:
- Hoog CPU-gebruik: detecteert perioden met een hoog CPU-gebruik en toont de belangrijkste CPU-gebruiksconsumenten gedurende die perioden.
- Hoog geheugengebruik: detecteert perioden met een hoog geheugengebruik en toont de belangrijkste geheugengebruiksverbruikers tijdens deze perioden.
- Hoog schijfgebruik: detecteert perioden met hoog schijfgebruik op fysieke schijven en toont de belangrijkste verbruikers van schijfgebruik tijdens deze perioden.
Diagnostische gegevens op aanvraag
Snelle analyse
In dit scenario worden de schijfconfiguratie en andere belangrijke informatie verzameld, waaronder:
Gebeurtenislogboeken
Netwerkstatus voor alle binnenkomende en uitgaande verbindingen
Configuratie-instellingen voor netwerk en firewall
Takenlijst voor alle toepassingen die momenteel op het systeem worden uitgevoerd
Configuratie-instellingen voor Microsoft SQL Server-database (als de VIRTUELE machine wordt geïdentificeerd als een server waarop SQL Server wordt uitgevoerd)
Betrouwbaarheidsmeteritems voor opslag
Belangrijke Windows-hotfixes
Geïnstalleerde filterstuurprogramma's
Dit is een passieve verzameling informatie die niet van invloed mag zijn op het systeem.
Notitie
Dit scenario wordt automatisch opgenomen in elk van de volgende scenario's.
Benchmarking
In dit scenario wordt de Diskspd-benchmarktest (IOPS en MBPS) uitgevoerd voor alle stations die aan de VIRTUELE machine zijn gekoppeld.
Notitie
Dit scenario kan van invloed zijn op het systeem en mag niet worden uitgevoerd op een live productiesysteem. Voer dit scenario indien nodig uit in een speciaal onderhoudsvenster om problemen te voorkomen. Een verhoogde workload die wordt veroorzaakt door een tracerings- of benchmarktest, kan de prestaties van uw VM nadelig beïnvloeden.
Prestatieanalyse
In dit scenario wordt een prestatiemeteritemtracering uitgevoerd met behulp van de tellers die zijn opgegeven in het RuleEngineConfig.json-bestand. Als de VIRTUELE machine wordt geïdentificeerd als een server waarop SQL Server wordt uitgevoerd, wordt er een prestatiemeteritemtracering uitgevoerd. Dit doet u door de tellers te gebruiken die in het RuleEngineConfig.json-bestand zijn gevonden. Dit scenario bevat ook diagnostische gegevens over prestaties.
Analyse van Azure Files
In dit scenario wordt een speciale prestatiemeteritem vastgelegd in combinatie met een netwerktracering. De opname bevat alle server message block -clientshares (SMB). Hier volgen enkele belangrijke prestatiemeteritems voor SMB-clientshares die deel uitmaken van de capture:
Type | Teller voor SMB-clientshares |
---|---|
IOPS | Gegevensaanvragen per seconde |
Leesaanvragen per seconde | |
Schrijfaanvragen per seconde | |
Latentie | Avg. sec/Data Request |
Gem. sec/gelezen | |
Gem. sec/write | |
IO-grootte | Gem. bytes/gegevensaanvraag |
Gem. bytes/lezen | |
Gem. bytes/schrijven | |
Doorvoer | Gegevensbytes per seconde |
Gelezen bytes/sec | |
Geschreven bytes/sec | |
Wachtrijlengte | Gemiddelde. Lengte van leeswachtrij |
Gemiddelde. Lengte van wachtrij schrijven | |
Gemiddelde lengte van gegevenswachtrij |
Geavanceerde prestatieanalyse
Wanneer u een geavanceerde prestatieanalyse uitvoert, selecteert u traceringen die parallel moeten worden uitgevoerd. Als u wilt, kunt u ze allemaal uitvoeren (Prestatiemeteritems, Xperf, Netwerk en StorPort).
Notitie
Dit scenario kan van invloed zijn op het systeem en mag niet worden uitgevoerd op een live productiesysteem. Voer dit scenario indien nodig uit in een speciaal onderhoudsvenster om problemen te voorkomen. Een verhoogde workload die wordt veroorzaakt door een tracerings- of benchmarktest, kan de prestaties van uw VM nadelig beïnvloeden.
Welke informatie verzamelt Prestatiediagnose in Windows?
Informatie over de configuratie van Windows-VM's, schijven of opslaggroepen, prestatiemeteritems, logboeken en verschillende traceringen worden verzameld. Dit is afhankelijk van het prestatiescenario dat u gebruikt. De volgende tabel bevat details:
Verzamelde gegevens | Snelle prestatieanalyse | Benchmarking | Prestatieanalyse | Analyse van Azure Files | Geavanceerde prestatieanalyse |
---|---|---|---|---|---|
Informatie uit gebeurtenislogboeken | Ja | Ja | Ja | Ja | Ja |
Systeemgegevens | Ja | Ja | Ja | Ja | Ja |
Volumetoewijzing | Ja | Ja | Ja | Ja | Ja |
Schijftoewijzing | Ja | Ja | Ja | Ja | Ja |
Actieve taken | Ja | Ja | Ja | Ja | Ja |
Betrouwbaarheidsmeteritems voor opslag | Ja | Ja | Ja | Ja | Ja |
Opslaggegevens | Ja | Ja | Ja | Ja | Ja |
Fsutil-uitvoer | Ja | Ja | Ja | Ja | Ja |
Stuurprogrammagegevens filteren | Ja | Ja | Ja | Ja | Ja |
Netstat-uitvoer | Ja | Ja | Ja | Ja | Ja |
Netwerkconfiguratie | Ja | Ja | Ja | Ja | Ja |
Firewallconfiguratie | Ja | Ja | Ja | Ja | Ja |
SQL Server-configuratie | Ja | Ja | Ja | Ja | Ja |
Traceringen voor prestatiediagnose * | Ja | Ja | Ja | Ja | Ja |
Tracering prestatiemeteritems ** | Ja | Ja | |||
SMB-tellertracering ** | Ja | ||||
SQL Server-tellertracering ** | Ja | Ja | |||
Xperf-trace | Ja | ||||
StorPort-trace | Ja | ||||
Netwerktracering | Ja | Ja | |||
Diskspd-benchmarktracering *** | Ja | ||||
Tracering van prestatiediagnose (*)
Voert een engine op basis van regels op de achtergrond uit om gegevens te verzamelen en lopende prestatieproblemen vast te stellen. Regels worden weergegeven in het rapport onder het tabblad Categorie -> Zoeken.
Elke regel bestaat uit de volgende items:
- Zoeken: Beschrijving van de bevindingen.
- Aanbeveling: Aanbeveling over welke actie kan worden ondernomen voor de bevindingen. Er zijn ook referentiekoppelingen naar documentatie met meer informatie over het zoeken en/of aanbevelingen.
- Impactniveau: Vertegenwoordigt het potentieel voor het beïnvloeden van de prestaties.
De volgende categorieën regels worden momenteel ondersteund:
- Hoog resourcegebruik:
- Hoog CPU-gebruik: detecteert perioden met een hoog CPU-gebruik en toont de belangrijkste CPU-gebruiksconsumenten gedurende die perioden.
- Hoog geheugengebruik: detecteert perioden met een hoog geheugengebruik en toont de belangrijkste geheugengebruiksverbruikers tijdens deze perioden.
- Hoog schijfgebruik: detecteert perioden met hoog schijfgebruik op fysieke schijven en toont de belangrijkste verbruikers van schijfgebruik tijdens deze perioden.
- Schijfgebruik met hoge resolutie: toont metrische gegevens over IOPS, doorvoer en I/O-latentie per 50 milliseconden voor elke fysieke schijf. Hiermee kunt u snel schijfbeperkingsperioden identificeren.
- Knowledge Base: detecteert of specifieke Knowledge Base-artikelen (KB) niet zijn geïnstalleerd.
- Schijf: detecteert specifieke instellingen voor schijfconfiguratie.
- SQL: Detecteert specifieke SQL-instellingen.
- Netwerk: detecteert specifieke netwerkinstellingen.
- Servercluster: detecteert specifieke configuratie-instellingen voor serverclusters.
- Systeem: Detecteert specifieke systeemconfiguratie-instellingen.
- CLR: detecteert lange garbagecollection pauzes voor beheerde processen.
Notitie
Op dit moment worden Windows-versies met .NET Framework 4.5 of hoger ondersteund.
Tracering prestatiemeteritems (*)
Verzamelt de volgende prestatiemeteritems:
- \System, \Process, \Processor, \Memory, \Thread, \PhysicalDisk en \LogicalDisk
- \Cache\Dirty Pages, \Cache\Lazy Write Flushes/sec, \Server\Pool Nonpaged, Failures en \Server\Pool Paged Failures
- Geselecteerde tellers onder \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 en \Microsoft Winsock BSP
Voor SQL Server-exemplaren
- \SQL Server:Buffer Manager, \SQLServer:Resource Pool Stats en \SQLServer:SQL Statistics\
- \SQLServer:Locks, \SQLServer:General, Statistics
- \SQLServer:Toegangsmethoden
Voor Azure Files
\SMB-clientshares
Diskspd-benchmarktracering (***)
Diskspd I/O-workloadtests (besturingssysteemschijf [schrijven] en poolstations [lezen/schrijven])
Prestatiediagnose uitvoeren op uw VM met behulp van het CLI-hulpprogramma
Wat moet ik weten voordat ik het hulpprogramma uitvoer?
Hulpprogrammavereisten
Dit hulpprogramma moet worden uitgevoerd op de VIRTUELE machine met het prestatieprobleem.
De volgende besturingssystemen worden ondersteund:
- Windows Server 2022
- Windows Server 2019
- Windows Server 2016
- Windows Server 2012 R2
- Windows Server 2012
- Windows 11
- Windows 10
Toegang tot SQL Server
Als op de VM SQL Server-exemplaren zijn geïnstalleerd, gebruikt PerfInsights het account NT AUTHORITY\SYSTEM voor toegang tot de SQL Server-exemplaren om configuratiegegevens te verzamelen en regels uit te voeren. Aan het account NT AUTHORITY\SYSTEM moet de machtiging Serverstatus weergeven en SQL-machtiging verbinden voor elk exemplaar worden verleend. Anders kan PerfInsights geen verbinding maken met de SQL Server. In het PerfInsights-rapport worden geen gerelateerde SQL Server-gegevens weergegeven.
Mogelijke problemen bij het uitvoeren van het hulpprogramma op productie-VM's
Voor het benchmarkingscenario of het scenario 'Geavanceerde prestatieanalyse' dat is geconfigureerd voor het gebruik van Xperf of Diskspd, kan het hulpprogramma de prestaties van de VIRTUELE machine nadelig beïnvloeden. Deze scenario's mogen niet worden uitgevoerd in een live productieomgeving.
Voor het benchmarkscenario of het scenario 'Geavanceerde prestatieanalyse' dat is geconfigureerd voor het gebruik van Diskspd, moet u ervoor zorgen dat geen andere achtergrondactiviteit de I/O-workload beïnvloedt.
Standaard gebruikt het hulpprogramma het tijdelijke opslagstation om gegevens te verzamelen. Als tracering langer is ingeschakeld, kan de hoeveelheid verzamelde gegevens relevant zijn. Dit kan de beschikbaarheid van ruimte op de tijdelijke schijf verminderen en kan daarom van invloed zijn op elke toepassing die afhankelijk is van dit station.
Hoe kan ik PerfInsights uitvoeren?
U kunt PerfInsights uitvoeren op een virtuele machine door de AZURE Performance Diagnostics VM-extensie te installeren. U kunt het ook uitvoeren als zelfstandig hulpprogramma.
PerfInsights installeren en uitvoeren vanuit Azure Portal
Zie Azure Performance Diagnostics VM-extensie installeren voor meer informatie over deze optie.
PerfInsights uitvoeren in de zelfstandige modus
Voer de volgende stappen uit om het hulpprogramma PerfInsights uit te voeren:
Download PerfInsights.zip.
De blokkering van het PerfInsights.zip-bestand opheffen. Hiervoor klikt u met de rechtermuisknop op het PerfInsights.zip bestand en selecteert u Eigenschappen. Selecteer op het tabblad Algemeen deblokkeren en selecteer vervolgens OK. Deze actie zorgt ervoor dat het hulpprogramma wordt uitgevoerd zonder andere beveiligingsprompts.
Vouw het gecomprimeerde PerfInsights.zip-bestand uit naar uw tijdelijke station (standaard is dit meestal het D-station).
Open de Windows-opdrachtprompt als beheerder en voer PerfInsights.exe uit om de beschikbare opdrachtregelparameters weer te geven.
cd <the path of PerfInsights folder> PerfInsights
De basissyntaxis voor het uitvoeren van PerfInsights-scenario's is:
PerfInsights /run <ScenarioName> [AdditionalOptions]
Zoek alle beschikbare scenario's en opties op met behulp van de opdracht /list :
PerfInsights /list
Dit zijn voorbeelden van het gebruik van het CLI-hulpprogramma om de verschillende scenario's voor probleemoplossing uit te voeren:
Continue prestatiediagnose uitvoeren:
PerfInsights /run always on /sau
Als u continue diagnostische gegevens over prestaties wilt stoppen, drukt u op Ctrl+C of sluit u de terminal.
Voer het scenario voor prestatieanalyse uit voor 5 minuten:
PerfInsights /run vmslow /d 300 /AcceptDisclaimerAndShareDiagnostics
Voer het geavanceerde scenario uit met xperf- en prestatiemeteritems gedurende 5 minuten:
PerfInsights /run advanced xp /d 300 /AcceptDisclaimerAndShareDiagnostics
Voer het benchmarkscenario voor 5 minuten uit:
PerfInsights /run benchmark /d 300 /AcceptDisclaimerAndShareDiagnostics
Voer het scenario voor prestatieanalyse gedurende 5 minuten uit en upload het zip-bestand met resultaten naar het opslagaccount:
PerfInsights /run vmslow /d 300 /AcceptDisclaimerAndShareDiagnostics /sa <StorageAccountName> /sk <StorageAccountKey>
Notitie
Voordat een scenario wordt uitgevoerd, vraagt PerfInsights de gebruiker om diagnostische gegevens te delen en akkoord te gaan met de gebruiksrechtovereenkomst. Gebruik de optie /AcceptDisclaimerAndShareDiagnostics om deze prompts over te slaan.
Als u een actief ondersteuningsticket bij Microsoft hebt en PerfInsights uitvoert volgens de aanvraag van de ondersteuningstechnicus waarmee u werkt, moet u het ondersteuningsticketnummer opgeven met behulp van de optie /sr .
Standaard probeert PerfInsights zichzelf bij te werken naar de nieuwste versie, indien beschikbaar. Gebruik /SkipAutoUpdate of /sau-parameter om automatische update over te slaan.
Als de duurswitch /d niet is opgegeven, wordt u in PerfInsights gevraagd om het probleem opnieuw op te lossen tijdens het uitvoeren van vmslow, azurefiles en geavanceerde scenario's.
Wanneer de traceringen of bewerkingen zijn voltooid, wordt een nieuw bestand weergegeven in dezelfde map als PerfInsights. De naam van het bestand is PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.zip. U kunt dit bestand verzenden naar de ondersteuningsagent voor analyse of het rapport openen in het zip-bestand om bevindingen en aanbevelingen te bekijken.
Het diagnostische rapport bekijken
In het PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.zip-bestand vindt u een HTML-rapport met informatie over de bevindingen van PerfInsights. Als u het rapport wilt bekijken, vouwt u het PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.zip-bestand uit en opent u het bestand PerfInsights Report.html.
Selecteer het tabblad Resultaten .
Notitie
Bevindingen die als hoog zijn gecategoriseerd, zijn bekende problemen die prestatieproblemen kunnen veroorzaken. Bevindingen die als gemiddeld zijn gecategoriseerd, vertegenwoordigen niet-optimale configuraties die niet noodzakelijkerwijs prestatieproblemen veroorzaken. Bevindingen die als laag zijn gecategoriseerd, zijn alleen informatieve instructies.
Bekijk de aanbevelingen en koppelingen voor alle resultaten met hoge en gemiddelde resultaten. Meer informatie over hoe deze invloed kunnen hebben op de prestaties en ook over aanbevolen procedures voor configuraties die zijn geoptimaliseerd voor prestaties.
Tabblad Opslag
In de sectie Bevindingen worden verschillende bevindingen en aanbevelingen met betrekking tot opslag weergegeven.
In de secties Schijftoewijzing en Volumetoewijzing worden beschreven hoe logische volumes en fysieke schijven aan elkaar zijn gerelateerd.
In het perspectief van de fysieke schijf (Schijftoewijzing) worden in de tabel alle logische volumes weergegeven die op de schijf worden uitgevoerd. In het volgende voorbeeld worden in PhysicalDrive2 twee logische volumes uitgevoerd die zijn gemaakt op meerdere partities (J en H):
In het volumeperspectief (Volumetoewijzing) worden in de tabellen alle fysieke schijven onder elk logisch volume weergegeven. U ziet dat u voor RAID/dynamische schijven een logisch volume op meerdere fysieke schijven kunt uitvoeren. In het volgende voorbeeld is C:\mount een koppelpunt dat is geconfigureerd als SpannedDisk op fysieke schijven 2 en 3:
SQL-tabblad
Als de doel-VM als host fungeert voor SQL Server-exemplaren, ziet u een ander tabblad in het rapport met de naam SQL:
Deze sectie bevat een tabblad Bevindingen en extra tabbladen voor elk van de SQL Server-exemplaren die worden gehost op de VIRTUELE machine.
Het tabblad Bevindingen bevat een lijst met alle aan SQL gerelateerde prestatieproblemen, samen met de aanbevelingen.
In het volgende voorbeeld wordt PhysicalDrive0 (met het C-station) weergegeven. Dit komt doordat zowel de modeldev - als modellog-bestanden zich op het C-station bevinden en ze van verschillende typen zijn (zoals gegevensbestanden en transactielogboeken).
De tabbladen voor specifieke exemplaren van SQL Server bevatten een algemene sectie met basisinformatie over het geselecteerde exemplaar. De tabbladen bevatten ook meer secties voor geavanceerde informatie, waaronder instellingen, configuraties en gebruikersopties.
Tabblad Diagnostische gegevens
Het tabblad Diagnostische gegevens bevat informatie over de belangrijkste CPU-, schijf- en geheugengebruikers op de computer tijdens de uitvoering van diagnostische gegevens over prestaties. U kunt ook informatie vinden over kritieke patches die het systeem mogelijk mist, de takenlijst en belangrijke systeemevenementen.
Verwijzingen naar de gebruikte externe hulpprogramma's
Diskspd
Diskspd is een hulpprogramma voor opslagbelastingsgenerator en prestatietest van Microsoft. Zie Diskspd voor meer informatie.
Xperf
Xperf is een opdrachtregelprogramma voor het vastleggen van traceringen uit de Windows Performance Toolkit. Zie Windows Performance Toolkit – Xperf voor meer informatie.
Volgende stappen
U kunt diagnostische logboeken en rapporten uploaden naar Microsoft Ondersteuning voor verdere controle. Ondersteuning kan vragen om de uitvoer die door PerfInsights wordt gegenereerd, te verzenden om u te helpen bij het probleemoplossingsproces.
In de volgende schermopname ziet u een bericht dat lijkt op wat u mogelijk ontvangt:
Volg de instructies in het bericht voor toegang tot de werkruimte voor bestandsoverdracht. Voor extra beveiliging moet u uw wachtwoord wijzigen bij eerste gebruik.
Nadat u zich hebt aangemeld, ziet u een dialoogvenster om het PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.zip bestand te uploaden dat is verzameld door PerfInsights.
Contact met ons opnemen voor ondersteuning
Als u vragen hebt of hulp nodig hebt, maakt u een ondersteuningsaanvraag of stelt u ondersteuning voor de Azure-community. U kunt ook productfeedback verzenden naar de Azure-feedbackcommunity.