Felsök prestanda för virtuella Azure-datorer i Linux eller Windows
Gäller för: ✔️ Virtuella Linux-datorer ✔️, virtuella Windows-datorer
I den här artikeln beskrivs allmän prestandafelsökning för virtuella datorer (VM) genom övervakning och övervakning av flaskhalsar och möjliga åtgärder för problem som kan uppstå. Förutom övervakning kan du också använda Perfinsights som kan tillhandahålla en rapport med rekommendationer för bästa praxis och viktiga flaskhalsar kring I/O/CPU/minne. Perfinsights är tillgängligt för både virtuella Windows - och Linux-datorer i Azure.
Den här artikeln går igenom hur du använder övervakning för att diagnostisera flaskhalsar i prestanda.
Aktivera VM-diagnostik via Azure Portal
Så här aktiverar du VM-diagnostik:
Gå till den virtuella datorn.
I avsnittet Övervakning väljer du Diagnostikinställningar.
Välj ett lagringskonto och välj sedan Aktivera övervakning på gästnivå.
Visa mått för lagringskonton via Azure Portal (för ohanterad disk)
För de virtuella datorer som använder ohanterade diskar är lagring en mycket viktig nivå när vi tänker analysera I/O-prestanda. För lagringsrelaterade mått måste vi aktivera diagnostik som ytterligare ett steg:
Identifiera vilket lagringskonto (eller vilka konton) din virtuella dator använder genom att välja den virtuella datorn:
- I Azure Portal väljer du den virtuella datorn.
- Under Inställningar väljer du Disk och letar sedan reda på lagringskontot där disken sparas.
- Gå till lagringskontot och välj Mått.
Identifiera prestandaflaskhalsar
När vi är igenom den inledande konfigurationsprocessen för mått som behövs och efter aktiveringen av diagnostiken för den virtuella datorn och det relaterade lagringskontot kan vi övergå till analysfasen.
Få åtkomst till övervakningen
I Azure Portal väljer du den virtuella Azure-dator som du vill undersöka, väljer Mått avsnittet Övervakning och väljer sedan ett mått.
Tidslinjer för observation
Granska dina data för att se om du har några resursflaskhalsar. Om du upptäcker att datorn har körts bra, men det har rapporterats att prestandan nyligen har försämrats, granskar du ett tidsintervall med data som omfattar prestandamåttdata innan de rapporterade ändrades, under och efter problemet.
Sök efter cpu-flaskhals
- Ange tidsintervallet.
- I Mått väljer du CPU-procent.
Övervaka trender för CPU-prestanda
När du tittar på prestandaproblem bör du vara medveten om trenderna och förstå om de påverkar dig. I nästa avsnitt använder vi övervakningsdiagram från portalen för att visa trender. De kan också vara användbara för korsreferenser av resursbeteenden för skillnader under samma tidsperiod. Om du vill anpassa graferna klickar du på Azure Monitor-dataplattformen.
Spikning – Spikning kan vara relaterat till en schemalagd aktivitet/känd händelse. Om du kan identifiera uppgiften kan du avgöra om aktiviteten körs på den prestandanivå som krävs. Om prestandan är acceptabel behöver du kanske inte öka resurserna.
Spike up och Constant – indikerar ofta en ny arbetsbelastning. Om det inte är en identifierad arbetsbelastning aktiverar du övervakning på den virtuella datorn för att ta reda på vilken process (eller processer) som orsakar beteendet. När processen har identifierats avgör du om den ökade förbrukningen orsakas av ineffektiv kod eller normal förbrukning. Om det är normal förbrukning ska du bestämma om processen ska fungera på den prestandanivå som krävs.
Konstant – Avgör om den virtuella datorn alltid har körts på den här nivån eller om den bara har körts på den nivån sedan diagnostiken har aktiverats. I så fall kan du identifiera processen (eller processerna) som orsakar problemet och överväga att lägga till mer av den resursen.
Stadigt ökande – En konstant ökning av förbrukningen är ofta antingen ineffektiv kod eller en process som tar på sig mer användararbetsbelastning.
Åtgärder för hög CPU-användning
Om programmet eller processen inte körs optimalt och CPU-användningen ligger över 95 %, kan du utföra någon av följande uppgifter:
- För omedelbar lättnad – Öka storleken på den virtuella datorn till en storlek med fler kärnor
- Förstå problemet - identifiera programmets process och felsök därefter.
Om du skalar upp den virtuella datorn och processorn fortfarande körs på 95 % eller högre, fastställ om den här inställningen ger bättre prestanda eller större genomflöde för programmet till en acceptabel nivå. Annars kan du felsöka det enskilda programmets process.
Du kan använda Perfinsights för Windows eller Linux för att analysera vilken process som driver CPU-förbrukningen.
Sök efter flaskhalsar i minnet
Så här visar du måtten:
- Lägg till ett avsnitt.
- Lägg till en panel.
- Öppna galleriet.
- Välj Minnesanvändning och dra. När panelen är dockad högerklickar du och väljer 6x4.
Övervaka prestandatrender för minne
Minnesanvändningen visar hur mycket minne som förbrukas med den virtuella datorn. Förstå trenden och om den mappar till den tid då du ser problem. Du bör alltid ha mer än 100 MB ledigt minne.
Spike och Constant/Constant Steady Consumption – Hög minnesanvändning kanske inte är orsaken till dåliga prestanda, eftersom vissa program som relationsdatabasmotorer allokerar en stor mängd minne, och den här användningen kanske inte är betydande. Men om det finns flera minneshungriga program kan du se dåliga prestanda från minneskonkurring som orsakar trimning och växling/byte till disk. Den här dåliga prestandan är ofta en märkbar orsak till programmets prestandapåverkan.
Stadigt ökande förbrukning – Ett möjligt program "uppvärmning", är denna förbrukning vanligt bland databasmotorer som startar. Det kan dock också vara ett tecken på en minnesläcka i ett program. Identifiera programmet och förstå om beteendet förväntas.
Sid- eller växlingsfilanvändning – Kontrollera om du använder Windows-växlingsfilen (som finns på D:) eller Linux-växlingsfilen (finns på /dev/sdb
) används mycket. Om du inte har något på dessa volymer förutom dessa filer kontrollerar du om det finns hög läs-/skrivbehörighet på dessa diskar. Det här problemet tyder på låg minnesanvändning.
Reparation av hög minnesanvändning
Utför någon av följande uppgifter för att lösa hög minnesanvändning:
- För omedelbar lättnad eller sid- eller växlingsfilanvändning – Öka storleken på den virtuella datorn till en med mer minne och övervaka sedan.
- Förstå problemet – leta upp program/processer och felsöka för att identifiera minnesprogram med hög användning.
- Om du känner till programmet kan du se om minnesallokeringen kan begränsas.
Om du efter uppgraderingen till en större virtuell dator upptäcker att du fortfarande har en konstant ökning till 100 %, identifierar du programmet/processen och felsöker.
Du kan använda Perfinsights för Windows eller Linux för att analysera vilken process som driver minnesförbrukningen.
Sök efter flaskhalsar (för ohanterad disk)
Om du vill kontrollera lagringsundersystemet för den virtuella datorn kontrollerar du diagnostiken på nivån för den virtuella Azure-datorn med hjälp av räknarna i VM Diagnostics och även diagnostiken för lagringskontot.
För specifik felsökning av virtuella datorer kan du använda Perfinsights för Windows eller Linux, vilket kan hjälpa dig att analysera vilken process som driver I/O:erna.
Observera att vi inte har räknare för zonredundanta och Premium Storage-konton. För problem som rör dessa räknare skapar du ett supportärende.
Visa diagnostik för lagringskonto i övervakning
Om du vill arbeta med objekten nedan går du till lagringskontot för den virtuella datorn i portalen:
- Ange tidsintervallet.
- Ange Måttnamnområde till Blob.
- Ange Mått till Tillgänglighet.
Övervaka trender för diskprestanda (endast standardlagring)
Om du vill identifiera problem med lagring kan du titta på prestandamåtten från diagnostiken för lagringskontot och den virtuella datorns diagnostik.
För varje kontroll nedan letar du efter viktiga trender när problemen uppstår inom tidsintervallet för problemet.
Kontrollera tillgängligheten för Azure Storage – Lägg till måttet för lagringskontot: tillgänglighet
Om du ser en minskning av tillgängligheten kan det uppstå ett problem med plattformen och kontrollera Azure-statusen. Om inget problem visas där skapar du en ny supportbegäran.
Kontrollera tidsgränsen för Azure Storage – Lägg till måtten för lagringskontot
- ClientTimeOutError
- ServerTimeOutError
- AverageE2ELatency
- AverageServerLatency
- TotalRequests
Värden i måtten *TimeOutError anger att en I/O-åtgärd tog för lång tid och tidsgränsen uppnåddes. Genom att gå igenom nästa steg kan du identifiera potentiella orsaker.
AverageServerLatency ökar samtidigt vid TimeOutErrors kan vara ett plattformsproblem. Skapa en ny supportbegäran i den här situationen.
AverageE2ELatency representerar klientfördröjning. Kontrollera hur IOPS utförs av programmet. Leta efter ett öknings- eller konstant högt TotalRequests-mått. Det här måttet representerar IOPS. Om du börjar nå gränserna för lagringskontot eller en enda virtuell hårddisk kan svarstiden vara relaterad till begränsning.
Sök efter Azure Storage-begränsning – Lägg till måtten för lagringskontot: ThrottlingError
Värden för begränsning anger att du begränsas på lagringskontonivå, vilket innebär att du når IOPS-gränsen för kontot. Du kan avgöra om du når IOPS-tröskelvärdet genom att kontrollera måttet TotalRequests.
Observera att varje virtuell hårddisk har en gräns på 500 IOPS eller 60 MBits, men är bunden av den kumulativa gränsen på 2 000 IOPS per lagringskonto.
Med det här måttet kan du inte se vilken blob som orsakar begränsningen och vilka som påverkas av den. Du når dock antingen IOPS- eller ingress-/utgående gränserna för lagringskontot.
Om du vill se om du når IOPS-gränsen går du till diagnostiken för lagringskontot och kontrollerar TotalRequests och ser om du närmar dig 20 000 TotalRequests. Identifiera antingen en ändring i mönstret, oavsett om du ser gränsen för första gången eller om den här gränsen inträffar vid en viss tidpunkt.
Med nya diskerbjudanden under Standard Storage kan gränserna för IOPS och dataflöde variera, men den kumulativa gränsen för Standard Storage-kontot är 20000 IOPS (Premium Storage har olika gränser på konto- eller disknivå). Läs mer om olika standarderbjudanden för lagringsdiskar och diskgränser:
Referenser
Bandbredden för lagringskontot mäts med måtten lagringskonto: TotalIngress och TotalEgress. Du har olika tröskelvärden för bandbredd beroende på typen av redundans och regioner:
- Skalbarhets- och prestandamål för standardlagringskonton
- Skalbarhets- och prestandamål för premium-sidbloblagringskonton
Kontrollera TotalIngress och TotalEgress mot ingress- och utgående gränser för lagringskontots redundanstyp och region.
Kontrollera dataflödesgränserna för de virtuella hårddiskar som är anslutna till den virtuella datorn. Lägg till vm Metrics Disk Read and Write.
Nya diskerbjudanden under Standard Storage har olika IOPS- och dataflödesgränser (IOPS exponeras inte per virtuell hårddisk). Titta på data för att se om du når gränsen för kombinerat dataflödes-MB för de virtuella hårddiskarna på VM-nivå med diskläsning och skrivning, och optimera sedan konfigurationen för vm-lagring för att skala över enstaka VHD-gränser. Läs mer om olika standarderbjudanden för lagringsdiskar och diskgränser:
Hög diskanvändning/svarstidsreparation
Minska klientsvarstiden och optimera I/O för virtuella datorer för att skala tidigare VHD-gränser
Minska begränsningen
Om du når de övre gränserna för lagringskonton balanserar du om de virtuella hårddiskarna mellan lagringskontona. Se Skalbarhets- och prestandamål för Azure Storage.
Öka dataflödet och minska svarstiden
Om du har ett svarstidskänsligt program och kräver högt dataflöde migrerar du dina virtuella hårddiskar till Azure Premium Storage med hjälp av den virtuella datorn i DS- och GS-serien.
I de här artiklarna beskrivs de specifika scenarierna:
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.