Delen via


Problemen met hoog CPU-gebruik oplossen op virtuele Azure Windows-machines

Van toepassing op: ✔️ Windows-VM's

Samenvatting

Prestatieproblemen treden op in verschillende besturingssystemen of toepassingen, en voor elk probleem is een unieke benadering vereist om problemen op te lossen. De meeste van deze problemen hebben betrekking op CPU, geheugen, netwerken en invoer/uitvoer (I/O) als belangrijke locaties waar het probleem zich voordoet. Elk van deze gebieden genereert verschillende symptomen (soms tegelijkertijd) en vereist een andere diagnose en oplossing.

In dit artikel worden problemen met hoog CPU-gebruik besproken die optreden op virtuele Azure-machines (VM's) waarop het Windows-besturingssysteem wordt uitgevoerd.

Problemen met hoog CPU-gebruik op Virtuele Azure Windows-machines

Afgezien van de problemen met I/O- en netwerklatentie, zijn voor het oplossen van problemen met CPU en geheugen dezelfde hulpprogramma's en stappen vereist als voor de on-premises servers. Een van de hulpprogramma's die Microsoft doorgaans ondersteunt, is PerfInsights (beschikbaar voor zowel Windows als Linux). PerfInsights kan een diagnose van best practices voor Azure-VM's bieden in een gebruiksvriendelijk rapport. PerfInsights is ook een wrapper-hulpprogramma waarmee u Perfmon-, Xperf- en Netmon-gegevens kunt verzamelen, afhankelijk van de vlaggen die in het hulpprogramma zijn geselecteerd.

De meeste van uw bestaande hulpprogramma's voor het oplossen van prestatieproblemen, zoals Perfmon of Procmon, die worden gebruikt voor on-premises servers, werken op Virtuele Windows-machines van Azure. PerfInsights is echter expliciet ontworpen voor Azure-VM's om meer inzicht te krijgen, waaronder Aanbevolen procedures voor Azure, BEST Practices voor SQL, I/O-latentiegrafieken met hoge resolutie, CPU- en geheugentabbladen, enzovoort.

Ongeacht of deze wordt uitgevoerd als gebruikersmodus of kernelmodus, vereist een thread van een actief proces CPU-cycli om de code uit te voeren waaruit deze is gebouwd. Veel problemen zijn rechtstreeks gerelateerd aan de workload. Het type workload dat zich op de server bevindt, verbruikt resources, inclusief CPU.

Algemene factoren

De volgende factoren zijn gebruikelijk in een situatie met een hoog CPU-gebruik:

  • Een recente codewijziging of -implementatie die voornamelijk van toepassing is op apps zoals Internet Information Services (IIS), Microsoft SharePoint, Microsoft SQL Server of toepassingen van derden.

  • Een recente update die betrekking kan hebben op een update op besturingssysteemniveau of op cumulatieve updates en oplossingen op toepassingsniveau.

  • Een querywijziging of verouderde indexen. SQL Server- en Oracle-gegevenslaagtoepassingen hebben ook een optimalisatie van queryplannen als een andere factor. Gegevenswijzigingen of een gebrek aan geschikte indexen kunnen ertoe leiden dat verschillende query's rekenintensief worden.

  • Azure VM-specifiek. Er zijn bepaalde processen zoals RDAgent en extensiespecifieke processen, zoals bewakingsagent, MMA-agent of beveiligingsclient, die een hoog CPU-verbruik kunnen veroorzaken. Deze processen moeten vanuit het perspectief van een configuratie of bekende problemen worden bekeken.

Het probleem oplossen

Dit artikel is gericht op het isoleren van het problematische proces. Verdere analyse is specifiek voor het proces dat een hoog CPU-verbruik aansturen.

Als het proces bijvoorbeeld SQL Server (sqlservr.exe) is, worden de volgende stappen uitgevoerd om te analyseren welke query de meeste CPU-cycli in een bepaalde periode gebruikte.

Beperk het probleem

Hier volgen enkele vragen die u kunt stellen wanneer u het probleem oplost:

  • Is er een patroon voor het probleem? Treedt het probleem met een hoog CPU-gebruik bijvoorbeeld op een bepaald tijdstip elke dag, week of maand op? Zo ja, kunt u dit probleem correleren met een taak, rapport of gebruikersaanmelding?

  • Is het probleem met een hoog CPU-gebruik gestart na een recente codewijziging? Hebt u een update toegepast in Windows of in een toepassing?

  • Is het probleem met een hoog CPU-gebruik begonnen na een wijziging in de werkbelasting, zoals een toename van het aantal gebruikers, een hogere toename van gegevens of een groter aantal rapporten?

  • Voor Azure is het probleem met een hoog CPU-gebruik begonnen in een van de volgende omstandigheden?

    • Na een recente herverdeling of opnieuw opstarten
    • Wanneer een SKU of VM-type is gewijzigd
    • Wanneer een nieuwe extensie is toegevoegd
    • Nadat de load balancer is gewijzigd

Azure-opmerkingen

Inzicht in uw workload. Wanneer u een virtuele machine selecteert, kunt u het aantal virtuele CPU(vCPU's) onderschat wanneer u de totale maandelijkse hostingkosten bekijkt. Als uw workload rekenintensief is, kan het selecteren van een kleinere VM-SKU met een of twee vCPU's problemen met de werkbelasting veroorzaken. Test verschillende configuraties voor uw workload om de beste rekencapaciteit te bepalen die nodig is.

Er zijn bepaalde VM-serie, zoals B (Burst Mode) Series, die worden aanbevolen voor kwaliteitscontrole (QA) en testen. Door deze reeksen in de productieomgeving te gebruiken, wordt de rekencapaciteit beperkt nadat het CPU-tegoed is uitgeput.

Voor bekende toepassingen zoals SQL Server, Oracle, RDS (Extern bureaublad-services), Azure Virtual Desktop, IIS of SharePoint zijn er artikelen over aanbevolen procedures voor Azure met aanbevelingen voor minimale configuratie voor deze workloads.

Doorlopende problemen met hoog CPU-verbruik

Als het probleem zich op dit moment voordoet, is dit de beste mogelijkheid om de procestracering vast te leggen om te bepalen wat het probleem veroorzaakt. U kunt bestaande hulpprogramma's gebruiken die u hebt gebruikt voor on-premises Windows-servers om het proces te vinden. De volgende hulpprogramma's worden aanbevolen door Azure-ondersteuning voor Azure-VM's.

PerfInsights

PerfInsights is het aanbevolen hulpprogramma van ondersteuning voor Azure voor prestatieproblemen met vm's. Het is ontworpen voor best practices en speciale analysetabbladen voor CPU-, geheugen- en I/O-grafieken met hoge resolutie. U kunt deze OnDemand uitvoeren via Azure Portal of vanuit de VIRTUELE machine. U kunt de gegevens delen met het ondersteuning voor Azure team.

PerfInsights uitvoeren

PerfInsights is beschikbaar voor zowel het Windows- als linux-besturingssysteem. Voor Windows zijn dit de opties.

Rapporten uitvoeren en analyseren via Azure Portal

Wanneer deze wordt geïnstalleerd via Azure Portal, installeert u daadwerkelijk een extensie op de VIRTUELE machine. Gebruikers kunnen PerfInsights ook installeren als een extensie door rechtstreeks naar extensies op de vm-blade te gaan en vervolgens een optie voor prestatiediagnose te kiezen.

Optie 1 van Azure Portal

Blader door de vm-blade en selecteer de optie Prestatiediagnose . U wordt gevraagd om de optie (gebruikt extensies) te installeren op de VIRTUELE machine waarvoor u deze hebt geselecteerd.

Schermopname van de knop Prestatiediagnose installeren in de optie Prestatiediagnose.

Azure-portal optie 2

Blader naar Problemen vaststellen en oplossen op de blade VM en zoek naar prestatieproblemen van vm's.

Schermopname van de prestatieproblemen van de VIRTUELE machine in de optie Probleem vaststellen en oplossen.

Als u Problemen oplossen selecteert, wordt het installatiescherm perfInsights geladen.

Als u Installeren selecteert, biedt de installatie verschillende verzamelingsopties.

Schermopname van de instellingen voor prestatieanalyse in de optie Prestatiediagnose.

De genummerde opties in de schermafbeelding hebben betrekking op de volgende opmerkingen:

  1. Selecteer Prestatieanalyse of Geavanceerd voor de optie Hoog CPU-gebruik.

  2. Wanneer u hier symptomen toevoegt, worden deze toegevoegd aan het rapport, zodat u informatie kunt delen met azure-ondersteuning.

  3. Selecteer de duur van het verzamelen van gegevens. Voor de optie Hoog CPU-gebruik selecteert u ten minste 15 minuten of meer. In de azure-portalmodus kunt u maximaal 15 minuten aan gegevens verzamelen. Voor langere verzamelingsperioden moet u het programma uitvoeren als uitvoerbaar bestand binnen de VIRTUELE machine.

  4. Als u wordt gevraagd door Azure-ondersteuning om deze gegevens te verzamelen, kunt u hier het ticketnummer toevoegen. Dit veld is optioneel.

  5. Selecteer dit veld om de gebruiksrechtovereenkomst (EULA) te accepteren.

  6. Selecteer dit veld als u van plan bent dit rapport beschikbaar te maken voor het Ondersteuningsteam van Azure.

Het rapport wordt opgeslagen in een van de opslagaccounts onder uw abonnement. Het is beschikbaar om later weer te geven en te downloaden.

PerfInsights uitvoeren vanuit de VIRTUELE machine

Deze methode kan worden gebruikt als u PerfInsights voor langere duur wilt uitvoeren. Het artikel PerfInsights bevat een gedetailleerd overzicht van de verschillende opdrachten en vlaggen die nodig zijn om PerfInsights uit te voeren als uitvoerbaar bestand. Voor hoog CPU-gebruik hebt u een van de volgende modi nodig:

  • Geavanceerd scenario

    • PerfInsights /run advanced xp /d 300 /AcceptDisclaimerAndShareDiagnostics
  • Scenario voor trage VM's (prestaties)

    • PerfInsights /run vmslow /d 300 /AcceptDisclaimerAndShareDiagnostics /sa <StorageAccountName> /sk <StorageAccountKey>

De uitvoer van de opdracht bevindt zich in dezelfde map waarin u het uitvoerbare bestand PerfInsights hebt opgeslagen.

Wat u zoekt in het rapport

Nadat u het rapport hebt uitgevoerd, is de locatie van de inhoud afhankelijk van of het is uitgevoerd via Azure Portal of als uitvoerbaar bestand. Voor beide opties opent u de gegenereerde logboekmap of downloadt u lokaal (indien Azure Portal) voor analyse.

Uitvoeren via De Azure-portal

Schermopname van diagnostische gegevens over hoge impactprestaties.

Schermopname van de knop Rapport downloaden op de rapportpagina Prestatiediagnose.

Uitvoeren vanuit een VM

De mapstructuur moet er ongeveer uitzien als de volgende afbeeldingen:

Schermopname van de uitvoermap en het HTML-bestand perfInsight-rapport in de mapstructuur.

Schermopname van de GeneralCounters_000001.blg en System.evtx in de mapstructuur.

  1. Aanvullende verzamelingen, zoals Perfmon, Xperf, Netmon, SMB-logboeken, gebeurtenislogboeken, enzovoort, vindt u in de uitvoermap.

  2. Het werkelijke rapport samen met analyse en aanbevelingen.

  3. Voor zowel prestaties (VMlow) als Geavanceerd verzamelt het rapport prestatiegegevens voor de duur van de PerfInsights-uitvoering.

  4. In de gebeurtenislogboeken ziet u een snelle weergave van nuttige systeem- of procescrashdetails.

Waar te beginnen

Open het PerfInsights-rapport. Op het tabblad Bevindingen worden eventuele uitbijters in termen van resourceverbruik in logboeken opgeslagen. Als er gevallen van hoog CPU-gebruik zijn, wordt het tabblad Bevindingen gecategoriseert als hoge impact of gemiddelde impact.

Schermopname van het tabblad Resultaten in het CPU-gedeelte van de pagina PerfInsights-rapport. In dit voorbeeld is het impactniveau Gemiddeld.

Net als in het vorige voorbeeld werd PerfInsights 30 minuten uitgevoerd. Gedurende de helft van die tijd was het gemarkeerde proces de CPU aan de hogere kant uitgeput. Als hetzelfde proces gedurende de verzamelingstijd werd uitgevoerd, zou het impactniveau zijn gewijzigd in HIGH.

Als u de gebeurtenis Resultaten uitvouwt , ziet u verschillende belangrijke details. Het tabblad bevat de processen in aflopende volgorde, per gemiddeld CPU-verbruik en geeft aan of het proces is gerelateerd aan het systeem, een microsoft-app (SQL, IIS) of een proces van derden.

Meer informatie

Er is een speciaal subtabblad onder CPU dat kan worden gebruikt voor gedetailleerde patroonanalyse, per kern of per proces.

Het tabblad Belangrijkste CPU-verbruikers heeft twee afzonderlijke secties van belang en u kunt hier statistieken per processor bekijken. Het toepassingsontwerp is vaak single-threaded of maakt zichzelf vast aan één processor. In dit scenario worden een of enkele kernen 100 procent uitgevoerd, terwijl andere kernen op verwachte niveaus worden uitgevoerd. Deze scenario's zijn complexer omdat de gemiddelde CPU op de server lijkt te worden uitgevoerd zoals verwacht, maar de processen die zijn vastgemaakt aan kernen met een hoog gebruik, zijn langzamer dan verwacht.

Schermopname van het tabblad Belangrijkste CPU-verbruikers in het CPU-gedeelte van de pagina PerfInsights-rapport, waarin de analyseperiode voor prestatiediagnose en perioden voor hoog CPU-gebruik wordt weergegeven.

De tweede sectie (even belangrijk) is de belangrijkste langlopende CPU-verbruikers. In deze sectie worden zowel de procesdetails als het CPU-gebruikspatroon weergegeven. De lijst wordt gesorteerd op een hoog gemiddeld CPU-verbruik bovenaan.

Schermopname van de sectie Langlopende CPU-verbruikers.

Deze twee tabbladen zijn voldoende om het pad in te stellen voor de volgende stappen voor probleemoplossing. Afhankelijk van het proces dat de hoge CPU-voorwaarde aansturen, moet u de eerder gestelde vragen aanpakken. Processen zoals SQL Server (sqlservr.exe) of IIS (w3wp.exe) vereisen een specifieke inzoomfunctie op query- of codewijzigingen die deze voorwaarde veroorzaken. Voor systeemprocessen zoals WMI of Lsass.exe moet u een ander pad volgen.

Voor azure VM-gerelateerde processen, zoals RDAgent, OMS en uitvoerbare bestanden voor bewakingsuitbreidingen, moet u mogelijk een nieuwe build of versie herstellen door hulp te krijgen van het ondersteuningsteam van Azure.

Perfmon

Perfmon is een van de eerste hulpprogramma's voor het oplossen van een resourceprobleem op Windows Server. Het geeft geen duidelijk rapport met aanbevelingen of bevindingen. In plaats daarvan moet de gebruiker de verzamelde gegevens verkennen en een specifiek filter gebruiken onder de verschillende tellercategorieën.

PerfInsights verzamelt Perfmon als extra logboek voor VMSlow en geavanceerde scenario's. Perfmon kan echter onafhankelijk worden verzameld en heeft deze extra voordelen:

  • Het kan op afstand worden verzameld.

  • Deze kan worden gepland via Taken.

  • Het kan worden verzameld voor langere duur of in de doorlopende modus met behulp van de functie roll-over.

Bekijk hetzelfde voorbeeld dat wordt weergegeven in PerfInsights om te zien hoe Perfmon deze gegevens weergeeft. De vereiste tellercategorieën zijn als volgt:

  • Processorinformatie > %processortijd > _Total

  • %ProcessorTime > alle exemplaren verwerken >

Waar te beginnen

De namen van de uitvoerbestanden van Perfmon hebben een .blg extensie. U kunt deze bestanden onafhankelijk verzamelen of perfInsights gebruiken. Voor deze discussie gebruikt u de Perfmon .blg die is opgenomen in PerfInsights-gegevens en die zijn verzameld in het vorige voorbeeld.

Er zijn geen standaard rapporten beschikbaar die gereed zijn voor gebruikers in Perfmon. Er zijn verschillende weergaven die het grafiektype wijzigen, maar het procesfilter (of het werk dat nodig is om de schuldprocessen te identificeren) is handmatig.

Notitie

Het PAL-hulpprogramma kan bestanden gebruiken .blg en gedetailleerde rapporten genereren.

Als u wilt beginnen, selecteert u de categorie Tellers toevoegen.

  1. Selecteer onder Beschikbare tellers de teller %ProcessorTime in de categorie Processorinformatie .

  2. Selecteer _Total, waarmee u de statistieken van alle gecombineerde kernen krijgt.

  3. Selecteer Toevoegen. In het venster wordt %ProcessorTime weergegeven onder Toegevoegde tellers.

Schermopname van het dialoogvenster Tellers toevoegen in Prestatiemeter.

Nadat de tellers zijn geladen, ziet u lijntrenddiagrammen in het tijdsbestek van de verzameling. U kunt de tellers selecteren of wissen. Tot nu toe hebt u slechts één teller toegevoegd.

Schermopname van de lijntrenddiagrammen in het tijdsbestek van de verzameling.

Elke teller heeft de waarden Gemiddelde, Minimum en Maximum . Focus op zowel gemiddelde als maximumwaarden , omdat de gemiddelde waarde kan variëren, afhankelijk van de duur van de gegevensverzameling. Als de activiteit met een hoog CPU-gebruik gedurende 10 minuten werd gezien terwijl de totale verzameling 40 minuten was, zijn de gemiddelde waarden veel lager.

In de vorige trendgrafiek ziet u dat de totale processor ongeveer 80 procent gedurende ongeveer 15 minuten varieerde.

Het proces identificeren

We hebben vastgesteld dat de server een hoog CPU-verbruik had voor een opgegeven tijdsduur, maar we hebben het stuurprogramma nog niet geïdentificeerd. In tegenstelling tot het gebruik van PerfInsights, moet u in dit geval handmatig zoeken naar het schuldige proces.

Voor deze taak moet u de eerder toegevoegde %ProcessorTime-tellers wissen of verwijderen en vervolgens een nieuwe categorie toevoegen:

  • %ProcessorTime > alle exemplaren verwerken >

Met deze categorie worden tellers geladen voor alle processen die op dat moment worden uitgevoerd.

Schermopname van de stappen voor het toevoegen van de nieuwe categorie.

Op een typische productiecomputer kunnen honderden of processen worden uitgevoerd. Daarom kan het even duren voordat elke teller die een lage of platte trendgrafiek lijkt te hebben, wist.

Als u dit proces wilt versnellen, gebruikt u de weergave Histogram en wijzigt u het weergavetype van Lijn in Histogram, zodat u een staafdiagram krijgt. U zult het gemakkelijker vinden om de processen te kiezen die een hoog CPU-gebruik ervaren tijdens de verzamelingstijd.

Omdat er altijd een staaf voor Totaal is, richt u zich op balken die een hoge uitputtingssnelheid vertonen. U kunt de andere balken verwijderen om de weergave op te schonen. Ga nu terug naar de lijnweergave .

Schermopname van de knop Histogramweergave in Prestatiemeter en een voorbeelddiagram met 2 balken met een hoge uitputtingssnelheid.

Het is nu gemakkelijker om het proces van de dader te vangen. De waarden Max en Min zijn standaard veelvouden van het aantal kernen op de server of threads van het proces.

Schermopname van een lijntrenddiagram waarin het proces van de dader duidelijk wordt weergegeven.

De lijst met beschikbare hulpprogramma's eindigt niet op PerfInsights voor Perfmon. U hebt toegang tot andere hulpprogramma's, zoals ProcessMonitor (ProcMon) of Xperf. Er zijn veel hulpprogramma's van derden beschikbaar die u indien nodig kunt gebruiken.

Bewakingsprogramma's in Azure

Azure-VM's hebben betrouwbare metrische gegevens die basisinformatie bevatten, zoals CPU, netwerk-I/O en I/O-bytes. Voor geavanceerde metrische gegevens, zoals Azure Monitor, moet u slechts enkele selecties maken om een opslagaccount te configureren en te gebruiken dat u opgeeft.

Basistellers (standaard)

Schermopname van de pagina Metrische gegevens van Azure Monitor. In dit voorbeeld is de optie Cpu-percentage in aggregatie-instelling geselecteerd.

Azure Monitor inschakelen

Nadat u metrische gegevens van Azure Monitor hebt ingeschakeld, installeert de software een extensie op de VIRTUELE machine en begint u vervolgens met het verzamelen van gedetailleerde metrische gegevens, waaronder Prestatiemeteritems.

Schermopname van het veld Diagnostische opslagaccount op het tabblad Overzicht van de pagina Diagnostische instellingen.

De basistellercategorieën zijn standaard ingesteld. U kunt echter ook een aangepaste verzameling instellen.

Schermopname van de optie Basiscategorieën op het tabblad Prestatiemeteritems van de pagina Diagnostische instellingen.

Nadat de instellingen zijn ingeschakeld, kunt u deze gasttellers bekijken in de sectie Metrische gegevens . U kunt ook waarschuwingen (inclusief e-mailberichten) instellen als de metrische gegevens een bepaalde drempelwaarde bereiken.

Schermopname van het veld Metrische naamruimte en de knop Nieuwe waarschuwingsregel op de pagina Metrische gegevens.

Zie Virtuele Azure-machines bewaken met Azure Monitor voor meer informatie over het gebruik van Azure Monitor voor het beheren van virtuele Azure-machines.

Reactieve probleemoplossing

Als het probleem al is opgetreden, moet u ontdekken wat het probleem met een hoog CPU-gebruik heeft veroorzaakt. De reactieve houding kan lastig zijn. De modus voor gegevensverzameling is niet zo nuttig omdat het probleem al is opgetreden.

Als dit probleem eenmalig is opgetreden, kan het lastig zijn om te bepalen welke app dit heeft veroorzaakt. Als de Azure-VM is geconfigureerd voor het gebruik van OMS of andere diagnostische gegevens, kunt u nog steeds inzicht krijgen in wat het probleem heeft veroorzaakt.

Als u te maken hebt met een herhalend patroon, verzamelt u de gegevens tijdens de periode dat het probleem waarschijnlijk zal optreden.

PerfInsights heeft nog geen mogelijkheid voor geplande uitvoering . Perfmon kan echter worden uitgevoerd en gepland via de opdrachtregel.

Logman-opdracht

De opdracht Logman Create Counter wordt gebruikt om perfmon-verzameling uit te voeren via de opdrachtregel, om deze te plannen via Taakbeheer of om deze op afstand uit te voeren.

Voorbeeld (inclusief modus voor externe verzameling)

Logman create counter LOGNAME -u DOMAIN\USERNAME * -f bincirc -v mmddhhmm -max 300 -c "\\SERVERNAME\LogicalDisk(*)\*" "\\SERVERNAME\Memory\*" "\\SERVERNAME\Network Interface(*)\*" "\\SERVERNAME\Paging File(*)\*" "\\SERVERNAME\PhysicalDisk(*)\*" "\\SERVERNAME\Process(*)\*" "\\SERVERNAME\Redirector\*" "\\SERVERNAME\Server\*" "\\SERVERNAME\System\*" "\\SERVERNAME\Terminal Services\*" "\\SERVERNAME\Processor(*)\*" "\\SERVERNAME\Cache\*" -si 00:01:00

Logman.exe kan ook worden gestart vanaf een azure-VM-peercomputer in hetzelfde VNET.

Zie logman create counter voor meer informatie over deze parameters.

Nadat de Perfmon-gegevens zijn verzameld terwijl het probleem optreedt, zijn de resterende stappen voor het analyseren van de gegevens hetzelfde als eerder besproken.

Conclusie

Voor elk prestatieprobleem is het belangrijk om inzicht te krijgen in uw workload om het probleem op te lossen. De opties voor verschillende VM-SKU's en verschillende schijfopslagopties moeten worden geëvalueerd door de focus te houden op de productieworkload. Het proces van het testen van oplossingen op verschillende VM's kan u helpen de beste beslissing te nemen.

Omdat de gebruikersbewerkingen en de hoeveelheid gegevens variëren, houdt u altijd een buffer in de computing-, netwerk- en I/O-mogelijkheden van de VIRTUELE machine. Een plotselinge wijziging in de werkbelasting heeft nu niet zo groot effect.

Als u verwacht dat de workload binnenkort toeneemt, gaat u naar een hogere SKU met meer rekenkracht. Als de workload rekenintensief is, kiest u de VM-SKU's verstandig.

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.