Rekommendationer för kapacitetsplanering
Gäller för denna checklista för Prestandaeffektivitet för Azure Well-Architected Framework:
PE:02 | Genomför kapacitetsplanering. Kapacitetsplanering bör göras innan det finns förutsagda ändringar i användningsmönster. Förutsagda ändringar inkluderar säsongsvariationer, produktuppdateringar, marknadsföringskampanjer, särskilda händelser eller regeländringar. |
---|
Den här guiden beskriver rekommendationerna för kapacitetsplanering. Kapacitetsplanering syftar på processen att fastställa vilka resurser som krävs för att uppfylla arbetsbelastningens prestandamål. Det handlar om att uppskatta mängden beräkningsresurser som processor, minne, lagring och nätverksbandbredd som behövs för att stödja arbetsbelastningens prestandakrav. Kapacitetsplanering hjälper till att undvika underetablering och säkerställer att arbetsbelastningen har tillräckligt med resurser för att hantera de förväntade arbetsbelastningsbehoven utan prestandaförsämring eller flaskhalsar. Det bidrar också till att förhindra överetablering och onödiga kostnader. Brist på kapacitetsplanering kan leda till prestandaproblem, resursflaskhalsar, ökade kostnader, ineffektiv allokering, skalbarhetsutmaningar och oförutsägbara arbetsbelastningsprestanda.
Definitioner
Period | Definition |
---|---|
Kapacitetsplanering | Processen för att förutsäga de resurser som en arbetsbelastning behöver för att uppfylla sina prestandamål. |
Funktionskrav | De funktioner som en arbetsbelastning måste ha för att uppfylla sitt avsedda syfte. |
Tekniska krav | Den kod och infrastruktur som behövs för att uppfylla funktionskraven. |
Trendanalys | Historisk dataanalys för att förutse framtida efterfrågan. |
Viktiga designstrategier
Kapacitetsplanering är en framåtblickande process som inbegriper att fatta beslut baserat på förväntade arbetsbelastningskrav och mönster. Målet är att optimera arbetsbelastningsprestanda i både scenarier med kontinuerlig och hög belastning. Genom att förstå ändringar i användningen, till exempel säsongsskiften eller produktversioner, kan du allokera resurser strategiskt, vilket förhindrar systembelastning under perioder med hög efterfrågan. Den här proaktiva strategin minskar störningar och ökar prestandaeffektiviteten. Genom att analysera tidigare användningstrender och tillväxtdata kan du göra prognoser för kort- och långsiktiga behov. Du kan hitta potentiella flaskhalsar och skalningsproblem, vilket säkerställer konsekventa och effektiva arbetsbelastningsprestanda.
Samla in kapacitetsdata
Insamling av arbetsbelastningsanvändningsdata innebär att samla in och analysera information om hur en arbetsbelastning använder resurser. Du bör samla in data om historiska mönster för befintliga arbetsbelastningar och förutsägande mått för nya arbetsbelastningar. Den här processen hjälper till att översätta affärsmål till tekniska krav och är avgörande för prognostisering av kapacitet. Överväg följande rekommendationer:
Förstå en befintlig arbetsbelastning
Att förstå en befintlig arbetsbelastning för kapacitetsplanering handlar om att analysera historiska data som rör hur arbetsbelastningen använder resurser. Den omfattar mått som resursutnyttjande, prestandadata och arbetsbelastningsmönster. Den här förståelsen säkerställer effektiv resursallokering, översätter affärsmål till tekniska krav och hjälper till att identifiera potentiella flaskhalsar.
Förstå data: Granska tillgängliga historiska data och förstå dess struktur, format och relevans för kapacitetsplanering. Granskningen kan omfatta mått för resursanvändning, arbetsbelastningsmönster, prestandamått och andra relevanta datapunkter. Förstå affärsprocesserna och programmens allvarlighetsgrad. Identifiera de högsta användningstiderna, användarbelastningen, transaktionshastigheterna och andra relevanta mått.
Rensa och förbearbeta data: Förbered data för analys genom att ta bort eventuella inkonsekvenser, fel eller extremvärden. Förberedelse av data kan omfatta datarensningstekniker som dataimputation, hantering av saknade värden eller normalisering.
Identifiera viktiga mått: Identifiera de mått som är relevanta för kapacitetsplanering. Mått kan vara processoranvändning, minnesanvändning, nätverksdataflöde och svarstider.
Identifiera flaskhalsar: Mät dataflödes- och svarstider för att identifiera de specifika komponenter i systemet som kan bli flaskhalsar när arbetsbelastningen växer. Begäranden per sekund och användning av databas-CPU kan vara bra indikatorer på kapacitet.
Visualisera data: Skapa visualiseringar, till exempel diagram eller diagram, för att få bättre insikter om historiska data. Visualiseringar kan hjälpa dig att identifiera mönster, trender och avvikelser i data för att ge dig en tydligare förståelse för arbetsbelastningens beteende.
Förstå en ny arbetsbelastning
Att förstå en ny arbetsbelastning för kapacitetsplanering syftar på att förutsäga resurskraven för en framtida aktivitet utan historiska data. Det kan vara svårare att förutsäga framtida behov för en ny arbetsbelastning utan historiska data. Den här processen säkerställer att du allokerar resurser effektivt och justerar allokeringar med arbetsbelastningsmål när arbetsbelastningen introduceras. Överväg följande rekommendationer:
Marknadsundersökning: Marknadsundersökning för att förstå efterfrågan på liknande produkter eller tjänster kan ge värdefulla insikter om den potentiella efterfrågan på en ny arbetsbelastning. Forskningen kan handla om att analysera marknadstrender, genomföra undersökningar eller studera konkurrenterbjudanden.
Expertbedömning: Indata från ämnesexperter eller experter som har erfarenhet i branschen kan hjälpa dig att uppskatta efterfrågan på en ny arbetsbelastning. Deras expertis och insikter kan ge värdefulla indata för prognostisering.
Pilotprojekt eller prototyper: Småskaliga pilotprojekt eller prototyper kan hjälpa dig att samla in data och feedback i realtid. Du kan sedan använda dessa data för att informera kapacitetsplaneringsprocessen och justera den prognostiserade efterfrågan.
Externa datakällor: Externa datakällor som branschrapporter, marknadsstudier eller kundundersökningar kan ge ytterligare information för att uppskatta efterfrågan på en ny arbetsbelastning. Dessa källor kan ge värdefulla insikter om kundpreferenser, marknadstrender och potentiella efterfrågefaktorer.
Prognostiserad efterfrågan
Prognostisering av efterfrågan innebär att använda arbetsbelastningsdata för att förutsäga framtida behov för en tjänst eller produkt. Det är viktigt för kapacitetsplanering för att säkerställa effektiv resursallokering, förutse tillväxtmönster och förbereda för potentiella ökningar i efterfrågan. När du förutser framtida efterfrågan använder du data för att få en uppfattning om framtida behov. Du använder statistisk analys, trendanalys eller förutsägelsemodelleringstekniker för de data som du behöver för att förutse framtida efterfrågan. Dessa metoder tar hänsyn till historiska eller förväntade mönster och projicerar dem i framtiden för att ge uppskattningar av den förväntade efterfrågan på arbetsbelastningar. Tänk på följande strategier för att förutse efterfrågan:
Ta hänsyn till olika scenarier
När du utför kapacitetsplanering måste du planera för olika scenarier som kan uppstå. Den här planeringen bör omfatta både förutsägbara tillväxtmönster och oväntade ökningar i efterfrågan. Användningsmönster kan växa eller minska. De kan vara ekologiska (fler eller färre användare) eller oorganiska (en händelse eller säkerhetsincident). Du måste utföra kapacitetsplanering innan användningsändringar, vid viktiga tidpunkter:
- Design (förutsägelse)
- Regelbundna toppar (inloggningsrusning 08:00)
- Starta (förutsägelseverifiering)
- Ändring av affärsmodell
- Förvärv eller sammanslagning
- Marknadsförings-push
- Säsongsförändring
- Funktionsstart
- Regelbundet
Använda förutsägelsetekniker
Prognostisering av framtida efterfrågan på en tjänst eller produkt omfattar användning av tekniker som statistisk analys, trendanalys och förutsägelsemodellering. Här är en översikt över hur du kan använda dessa tekniker:
Statistisk analys: Statistiska metoder kan hjälpa dig att upptäcka mönster och relationer inom historiska data. Du kan använda dessa mönster för att förutse framtida efterfrågan. Du kan använda tekniker som tidsserieanalys, regressionsanalys och glidande medelvärden för att identifiera trender, säsongsvariationer och andra mönster i data.
Trendanalys: Trendanalys omfattar att undersöka historiska data för att identifiera konsekventa mönster och extrapolera dessa mönster in i framtiden. Om efterfrågan på arbetsbelastningar till exempel har ökat med 10 procent under det senaste året kan du förutse en fortsättning av den här trenden. När du analyserar historiska efterfrågedata under en viss tidsperiod kan du identifiera tillväxt- eller minskningstrender. Använd dessa trender som grund för prognostisering av framtida efterfrågan. Trendanalys kan också identifiera effekterna av engångshändelser som orsakar snabba trafikförskjutningar (oorganiska). Till exempel kan funktionsversioner konsekvent öka efterfrågan med 5 procent. Om du har fyra större versioner per år bör du planera för en tillväxt på 5 procent varje gång.
Förutsägelsemodellering: Förutsägelsemodellering är processen att skapa matematiska modeller som använder historiska data och andra relevanta variabler för att göra förutsägelser om framtida efterfrågan. Du kan använda tekniker som maskininlärningsalgoritmer, neurala nätverk eller beslutsträd. Dessa modeller kan ta hänsyn till flera faktorer och variabler för att ge mer exakta prognoser.
Justera prognoser med arbetsbelastningsmål
Att justera prognoser med arbetsbelastningsmål innebär att justera modeller för förutsägande kapacitet för att säkerställa att de uppfyller specifika mål och krav för en viss arbetsbelastning. Den här justeringen säkerställer att resurserna är tillräckligt etablerade, vilket förhindrar både underutnyttjande och potentiella överbelastningar av arbetsbelastningar. Om du till exempel vill stödja ett API för 1 miljon användare att ladda upp 1 MB filer på en sekund, men aktuella data visar långsamma skrivhastigheter, måste du justera systemet. Det är viktigt att prata med intressenter för att förstå arbetsbelastningens krav. Se till att dina planer överensstämmer med löftena (SLA) för dina tjänstleverantörer. Den här justeringen säkerställer att din kapacitet uppfyller den förväntade efterfrågan och hjälper dig att hitta områden i systemet som kan behöva ändras.
Fastställa resurskrav
Att fastställa resurskrav för kapacitetsplanering innebär att utvärdera de resurser som du behöver för att uppfylla prognostiserad efterfrågan. Om ett program till exempel förväntar sig en 50-procentig ökning av användare under en kampanj kan det behöva allokera fler molninstanser eller justera sina parametrar för automatisk skalning för att hantera den ökade belastningen.
En arbetsbelastning kan ha många resurser, så det finns inget mått att observera för att fastställa resurskraven. Du måste mäta kapaciteten på resursnivå för att få meningsfulla resultat. Beräkna den förväntade efterfrågan på dina resurser baserat på historiska data, marknadstrender och affärsprognoser. Överväg antalet transaktioner, samtidiga användare eller andra relevanta mått.
Baserat på den prognostiserade efterfrågan beräknar du de resurser som behövs för att möta efterfrågan. Överväg faktorer som serverkapacitet, nätverksbandbredd, lagringskapacitet och personal:
Serverkapacitet: Fastställa vilken serverkapacitet som krävs baserat på det uppskattade antalet samtidiga användare eller transaktioner. Överväg faktorer som processor, minne och diskutrymmeskrav för att säkerställa att servrarna kan hantera den förväntade arbetsbelastningen.
Nätverksbandbredd: Utvärdera den nätverksbandbredd som du behöver för att stödja den förväntade trafiknivån. Du bör inkludera både inkommande och utgående dataöverföringshastigheter för att säkerställa en smidig och effektiv kommunikation mellan servrar och klienter.
Lagringskapacitet: Beräkna mängden data som arbetsbelastningen genererar eller bearbetar under den prognostiserade efterfrågan. Överväg faktorer som databasstorlek, fillagringskrav och andra datalagringsbehov som är specifika för ditt program.
Personal: Utvärdera de personalresurser som krävs för att hantera och underhålla infrastrukturen, hantera kundsupport, utföra systemunderhåll och säkerställa smidig drift. Ta hänsyn till faktorer som arbetsbelastningsdistribution, kompetensuppsättning och nödvändig expertis.
Förstå resursbegränsningar
Resurser i din arbetsbelastning har prestandabegränsningar. Prestandabegränsningar gäller för tjänster och SKU:er i varje tjänst. Du måste förstå begränsningarna för resurserna i din arbetsbelastning och ta med dessa begränsningar i dina designbeslut. Du bör till exempel veta om resursbegränsningar kräver att du ändrar SKU:er eller ändrar resurser helt och hållet.
Du måste också identifiera gränser som kan nås. Den syftar på att fastställa de maximala tröskelvärdena eller gränserna för en arbetsbelastning. Dessa begränsningar gäller vanligtvis för infrastruktur (beräkning, minne, lagring, nätverk), program (samtidiga Databasanslutningar, svarstider, tillgänglighet), tjänst (begäranden per sekund) och skalning. När kapacitetsplaneringen identifierar nåbara gränser måste du ändra arbetsbelastningen innan gränsen skapar ett prestandaproblem. Prestandabaslinjer, kontinuerlig övervakning och testning är viktiga för att verifiera gränserna och lösningen.
Kompromiss: Felbedömd kapacitetsplanering kan leda till överetablering eller underetablering av resurser. Överetablering leder till högre kostnader. Underetablering kan resultera i dåliga prestanda. Försök att hitta rätt balans.
Azure-underlättande
Samla in kapacitetsdata och prognostisera efterfrågan: Med Azure Monitor kan du samla in och analysera telemetridata från dina program och din infrastruktur. Den stöder övervakning av olika Azure-resurser, inklusive virtuella datorer, containrar och lagringskonton. Viktiga verktyg är Application Insights och Log Analytics. Genom att konfigurera datainsamling och definiera mått och loggar som du vill övervaka kan du samla in värdefulla arbetsbelastningsdata för analys. För nätverksövervakning kombinerar du Azure Monitor med Azure Network Watcher, Azure Monitor-nätverksinsikter och Azure ExpressRoute-övervakning.
Med Azure Monitor kan du analysera historiska data och använda prognostekniker för att förutsäga framtida arbetsbelastningstrender och kapacitetskrav. Du kan generera prognoser som kan hjälpa dig med kapacitetsplanering. Dessa prognoser hjälper dig att uppskatta serverkapacitet, nätverksbandbredd, lagringskapacitet och andra resursbehov med hjälp av förutsagda efterfrågemönster.
Fastställa resurskrav: Eftersom de tillhandahåller en mängd olika konfigurationer kan Azure-verktyg och -tjänster hjälpa dig att definiera tekniska krav. Du kan anpassa dina arbetsbelastningskrav till tillgängliga Azure-resurser och se till att du väljer lämpliga komponenter och inställningar för att uppfylla dina funktionella behov.
Förstå resursbegränsningar: Azure tillhandahåller dokumentation och resurser som hjälper dig att förstå prestandabegränsningarna för olika Azure-tjänster och SKU:er. Med hänsyn till dessa begränsningar kan du fatta välgrundade designbeslut och optimera din arbetsbelastningsarkitektur för prestanda och kostnadseffektivitet.
Azure tillhandahåller skalbarhetsalternativ som automatisk skalning, som automatiskt kan justera resurser baserat på efterfrågan på arbetsbelastningar. Du kan skala lodrätt genom att öka kapaciteten för en resurs med hjälp av en större storlek på den virtuella datorn, eller så kan du skala horisontellt genom att lägga till nya instanser av en resurs. Azure-tjänster som har funktioner för automatisk skalning kan automatiskt skalas ut för att säkerställa kapacitet under arbetsbelastningstoppar och återgå till det normala när belastningen minskar. Det finns skalningsgränser i din konfiguration och dina tjänster som du bör känna till. Du kan läsa dokumentationen eller köra tester. Azure tillhandahåller verktyg som Azure Load Testing, som kan simulera belastning och olika användningsmönster som hjälper dig att samla in relevanta data om din arbetsbelastning.
Relaterade länkar
Checklista för prestandaeffektivitet
Se den fullständiga uppsättningen rekommendationer.