Problemen met Azure prestaties van virtuele machines in Linux of Windows oplossen

Toepasselijk op: ✔️ Linux-VM's ✔️ Windows-VM's

Overzicht

In dit artikel worden algemene prestatieproblemen van virtuele machines (VM' s) beschreven door het bewaken en observeren van knelpunten en wordt mogelijk herstel geboden voor problemen die zich kunnen voordoen. Naast bewaking kunt u ook Perfinsights gebruiken die een rapport kunnen bieden met aanbevelingen voor best practices en belangrijke knelpunten rond IO/CPU/geheugen. Perfinsights is beschikbaar voor zowel Windows als Linux-VM's in Azure.

In dit artikel wordt uitgelegd hoe u bewaking gebruikt om knelpunten in prestaties te diagnosticeren.

Vm-diagnose inschakelen via Azure-portal

Om diagnostische gegevens van virtuele machines (vm's) in te schakelen:

  1. Ga naar de VM.

  2. Selecteer diagnostische instellingen in de sectie Bewaking.

  3. Selecteer een opslagaccount en selecteer bewaking op gastniveau inschakelen.

    Schermopname toont de stappen om VM-diagnostiek in te schakelen.

Metrische gegevens van opslagaccounts weergeven via Azure-portal (voor onbeheerde schijf)

Voor de VIRTUELE machines die onbeheerde schijven gebruiken, is opslag een zeer belangrijke laag wanneer we IO-prestaties willen analyseren. Voor metrische gegevens met betrekking tot opslag moeten we diagnostische gegevens inschakelen als een extra stap:

Bepaal welk opslagaccount (of accounts) uw VIRTUELE machine gebruikt door de VM te selecteren:

  1. Selecteer uw VIRTUELE machine in de Azure-portal.
  2. Selecteer Onder Instellingen de optie Schijf en zoek vervolgens het opslagaccount waarin de schijf is opgeslagen.
  3. Navigeer naar het opslagaccount en selecteer Metrische gegevens.

Prestatieknelpunten identificeren

Zodra we het eerste installatieproces voor de benodigde metrische gegevens hebben doorlopen en na het inschakelen van de diagnostische gegevens voor de VM en het gerelateerde opslagaccount, kunnen we overschakelen naar de analysefase.

Toegang tot de monitoring

Selecteer in de Azure-portal de Azure VM die u wilt onderzoeken, selecteer Metrics de sectie Monitoring en selecteer vervolgens een metrische waarde.

Schermopname van het openen van de pagina Gebruik en geschatte kosten.

Tijdlijnen van observatie

Controleer uw gegevens om te bepalen of er knelpunten in de resource zijn. Als uw computer goed werkt, maar is gemeld dat de prestaties onlangs zijn verslechterd, controleert u een tijdsbereik met gegevens die metrische gegevens over prestaties omvatten vóór de gerapporteerde wijziging, tijdens en na het probleem.

Controleren op CPU-knelpunt

Schermopname van de stappen om het CPU-knelpunt te controleren.

  1. Stel het tijdsbereik in.
  2. Selecteer in Metrisch het CPU-percentage.

Wanneer u prestatieproblemen bekijkt, moet u rekening houden met de trends en begrijpen of deze van invloed zijn op u. In de volgende secties gebruiken we de bewakingsgrafieken van de portal om trends weer te geven. Ze kunnen ook handig zijn voor het kruisverwijzen naar verschillende gedragingen van bronnen in dezelfde periode. Als u de grafieken wilt aanpassen, klikt u op Azure Monitor gegevensplatform.

Spiking : Spiking kan betrekking hebben op een geplande taak/bekende gebeurtenis. Als u de taak kunt identificeren, bepaalt u of de taak wordt uitgevoerd op het vereiste prestatieniveau. Als de prestaties acceptabel zijn, hoeft u mogelijk geen resources te verhogen.

Piek omhoog en constant: geeft vaak een nieuwe werklast aan. Als het geen herkende werkbelasting is, schakelt u bewaking in de VM in om erachter te komen welk proces (of processen) het gedrag veroorzaakt. Zodra het proces is herkend, bepaalt u of het toegenomen verbruik wordt veroorzaakt door inefficiënte code of normaal verbruik. Bij normaal verbruik kunt u bepalen of het proces op het vereiste prestatieniveau werkt.

Constante: Bepaal of uw VM altijd op dit niveau draait, of dat deze alleen op dat niveau draait sinds de diagnostiek is ingeschakeld. Zo ja, identificeer het proces (of de processen) die het probleem veroorzaken en overweeg meer van die resource toe te voegen.

Geleidelijk toenemen: een constante toename van het verbruik is vaak inefficiënte code of een proces dat meer gebruikersworkloads in beslag neemt.

Verhelpen van hoog CPU-gebruik

Als uw toepassing of proces niet optimaal wordt uitgevoerd en het CPU-gebruik hoger blijft dan 95%, kunt u een van de volgende taken uitvoeren:

  • Voor onmiddellijke hulp: verhoog de grootte van de virtuele machine naar een grootte met meer kernen
  • Inzicht krijgen in het probleem: toepassing/proces onderzoeken en vervolgens problemen oplossen.

Als u de VM machine hebt vergroot en het CPU-gebruik nog steeds boven 95% ligt, zorgt dit er dan voor dat prestaties beter zijn of dat de hogere doorvoer de toepassing op een aanvaardbaar niveau brengt? Als dat niet het geval is, moet u de problemen van die afzonderlijke toepassing of dat afzonderlijke proces oplossen.

U kunt Perfinsights gebruiken voor Windows of Linux om te analyseren welk proces het CPU-verbruik aansturen.

Controleren op knelpunten in het geheugen

De metrische gegevens weergeven:

  1. Voeg een sectie toe.
  2. Voeg een tegel toe.
  3. Open de galerij.
  4. Selecteer het geheugengebruik en sleep. Wanneer de tegel is vastgezet, klikt u met de rechtermuisknop en selecteert u 6x4.

Het geheugengebruik laat zien hoeveel geheugen er wordt verbruikt met de VIRTUELE machine. Begrijp de trend en of deze overeenkomt met het tijdstip waarop u problemen ziet. U moet altijd meer dan 100 MB beschikbaar geheugen hebben.

Piek en constant onveranderlijk verbruik: hoog geheugengebruik hoeft niet de oorzaak van slechte prestaties te zijn, omdat sommige toepassingen zoals relationele database-engines een grote hoeveelheid geheugen toewijzen en dit gebruik kan niet significant zijn. Als er echter meerdere geheugenvretende toepassingen zijn, ziet u mogelijk slechte prestaties door geheugenconcurrentie, wat bijsnijden en wisselen/pagina's naar schijf schrijven veroorzaakt. Deze slechte prestaties zijn vaak een merkbare oorzaak van de invloed op de prestaties van toepassingen.

Geleidelijk toenemend verbruik – Een mogelijke toepassing wordt 'opgewarmd' en dit verbruik komt vaak voor bij het opstarten van database-engines. Het kan echter ook duiden op een geheugenlek in een toepassing. Identificeer de toepassing en begrijp of het gedrag wordt verwacht.

Gebruik van paginabestand of wisselbestand: controleer of u het Windows wisselbestand (op D:) of Linux wisselbestand (op /dev/sdb) zwaar gebruikt. Als er op deze volumes, behalve deze bestanden, niets anders staat, controleer dan op hoge lees- en schrijfactiviteit op deze schijven. Dit probleem wijst op lage geheugenomstandigheden.

Oplossen van hoog gebruik van het geheugen

Voer een van de volgende taken uit om een hoog geheugengebruik op te lossen:

  • Voor onmiddellijke hulp of pagina- of wisselbestandsgebruik: verhoog de VM-grootte naar een met meer geheugen en bewaak vervolgens.
  • Probleem begrijpen: zoek toepassingen/processen en los problemen op voor het identificeren van geheugentoepassingen met een hoog verbruik.
  • Als u de toepassing kent, controleert u of de geheugentoewijzing kan worden beperkt.

Als u na een upgrade naar een grotere VIRTUELE machine ontdekt dat u nog steeds een constante toename tot 100% hebt, identificeert u de toepassing/het proces en lost u problemen op.

U kunt Perfinsights gebruiken voor Windows of Linux om te analyseren welk proces het geheugenverbruik aangeeft.

Controleren op knelpunten op schijf (voor niet-beheerde schijf)

Als u het opslagsubsysteem voor de VIRTUELE machine wilt controleren, controleert u de diagnostische gegevens op het niveau van de Azure VM met behulp van de tellers in VM Diagnostics en ook de diagnostische gegevens van het opslagaccount.

Voor het oplossen van problemen met vm's kunt u Perfinsights gebruiken voor Windows of Linux, waarmee u kunt analyseren welk proces de IO's aansturen.

Houd er rekening mee dat er geen tellers zijn voor zone-redundante en Premium Storage-accounts. Voor problemen met betrekking tot deze tellers dient u een ondersteuningsaanvraag in.

Diagnostische gegevens van opslagaccounts weergeven in monitoring

Als u aan de onderstaande items wilt werken, gaat u naar het opslagaccount voor de VIRTUELE machine in de portal:

Schermopname van de stappen voor het weergeven van diagnostische gegevens van opslagaccounts in Bewaking.

  1. Stel het tijdsbereik in.
  2. Stel de metrische naamruimte in op Blob.
  3. Stel metrische waarde in op Beschikbaarheid.

Als u problemen met opslag wilt identificeren, bekijkt u de metrische prestatiegegevens van de diagnostische gegevens van het opslagaccount en de diagnostische gegevens van de VM.

Zoek voor elke controle hieronder naar belangrijke trends wanneer de problemen zich voordoen binnen het tijdsbereik van het probleem.

Controleer de beschikbaarheid van Azure-opslag – voeg de beschikbaarheidsmetric van het opslagaccount toe.

Als u een daling van beschikbaarheid ziet, kan er een probleem zijn met het platform, controleert u de Azure Status. Als er geen probleem wordt weergegeven, dient u een nieuwe ondersteuningsaanvraag in.

Controleren op Azure-opslagtime-out - De metrische gegevens van het opslagaccount toevoegen

  • ClientTimeOutError
  • ServerTimeOutError
  • Gemiddelde E2E Latentie
  • GemiddeldeServerLatentie
  • Totaalverzoeken

Waarden in de metrische gegevens van *TimeOutError geven aan dat een IO-bewerking te lang duurde en een time-out heeft plaatsgevonden. Door de volgende stappen te doorlopen, kunt u mogelijke oorzaken identificeren.

GemiddeldeServerLatentie neemt gelijktijdig toe met de TimeOutErrors en kan duiden op een platformprobleem. Dien in deze situatie een nieuw ondersteuningsverzoek in.

AverageE2ELatency vertegenwoordigt de clientlatentie. Controleer hoe de IOPS wordt uitgevoerd door de toepassing. Zoek naar een toename of constant hoge TotalRequests-metriek. Deze metrische waarde vertegenwoordigt IOPS. Als u tegen de limieten aanloopt van het opslagaccount of een enkele VHD, kan de latentie te maken hebben met throttling.

Controleren op Azure snelheidsbegrenzing - Voeg de statistieken van het opslagaccount toe: ThrottlingError

Waarden voor beperking geven aan dat u wordt beperkt op opslagaccountniveau, wat betekent dat u de IOPS-beperking van het account heeft bereikt. U kunt bepalen of u de drempelwaarde voor IOPS bereikt door de metrische TotalRequests te controleren.

Houd er rekening mee dat elke VHD een limiet van 500 IOPS of 60 MBits heeft, maar is gebonden aan de cumulatieve limiet van 20000 IOPS per opslagaccount.

Met deze metrie kunt u niet zien welke blob de throttling veroorzaakt en welke blobs erdoor worden beïnvloed. U bereikt echter ofwel de IOPS-limiet of de limiet voor inkomend/uitgaand dataverkeer van het opslagaccount.

Als u wilt bepalen of u de IOPS-limiet bereikt, gaat u naar de diagnostische gegevens van het opslagaccount en controleert u de TotalRequests en kijkt u of u 20 duizend TotalRequests nadert. Identificeer een wijziging in het patroon, of u de limiet voor de eerste keer ziet of of deze limiet op een bepaald moment plaatsvindt.

Met nieuwe schijfaanbiedingen onder Standard-opslag kunnen de IOPS- en doorvoerlimieten verschillen, maar de cumulatieve limiet van het Standard Storage-account is 20000 IOPS (Premium-opslag heeft verschillende limieten op account- of schijfniveau). Meer informatie over verschillende standaardopslagschijven en limieten per schijf:

Verwijzingen

De bandbreedte van het opslagaccount wordt gemeten door de metrische gegevens van het opslagaccount: TotalIngress en TotalEgress. U hebt verschillende drempelwaarden voor bandbreedte, afhankelijk van het type redundantie en regio's:

Controleer de limieten TotalIngress en TotalEgress op basis van de limieten voor inkomend en uitgaand verkeer voor het type redundantie van het opslagaccount en de regio.

Controleer de doorvoerlimieten van de VHD's die zijn gekoppeld aan de virtuele machine. Voeg de VM-metrieken Schijflezen en Schrijfacties toe.

Nieuwe schijfaanbiedingen onder Standard-opslag hebben verschillende IOPS- en doorvoerlimieten (IOPS worden niet per VHD weergegeven). Bekijk de gegevens om te zien of u de gecombineerde doorvoercapaciteit in MB van de VHD('s) op VM-niveau bereikt met schijfbewerkingen voor lezen en schrijven, en optimaliseer vervolgens de opslagconfiguratie van uw VM om verder te schalen dan de limieten van één enkele VHD. Meer informatie over verschillende standaardopslagschijven en limieten per schijf:

Hoog schijfgebruik/latentieherstel

Klantenlatentie verminderen en VM-IO optimaliseren om de VHD-limieten te overschrijden

Drosseling verminderen

Als u de bovengrens van opslagaccounts bereikt, moet u de VHD's tussen opslagaccounts opnieuw verdelen. Raadpleeg Azure Storage Schaalbaarheids- en prestatiedoelen.

Doorvoer verhogen en latentie verminderen

Als u een latentiegevoelige toepassing hebt en hoge doorvoer nodig hebt, migreert u uw VHD's naar Azure Premium-opslag met behulp van de VM uit de DS- en GS-serie.

In deze artikelen worden de specifieke scenario's besproken: