Prestandaträd performance-tree

Omfång scope

Följande diagram ger vägledning om hur du felsöker prestandaproblem. Den är uppdelad i fem avsnitt för enklare läsning.

Varje steg i diagrammet är länkat till en dokumentationsresurs eller en rekommendation.

Krav och antaganden prerequisites-and-assumptions

Antagandet är att ett prestandaproblem observeras på en viss sida (antingen en AEM konsol eller en webbsida) och kan återges på ett enhetligt sätt. Att kunna testa eller övervaka prestanda är en förutsättning innan undersökningen inleds.

Analysen börjar med steg 0. Målet är att avgöra vilken enhet (Dispatcher, extern värd eller AEM) som ansvarar för prestandaproblemet och sedan avgöra vilket område (server eller nätverk) som ska undersökas.

Avsnitt 1 section

chlimage_1-103

Avsnitt 2 section-1

chlimage_1-104

Avsnitt 3 section-2

chlimage_1-105

Avsnitt 4 section-3

chlimage_1-106

Avsnitt 5 section-4

chlimage_1-107

Steg
Titel
Resurser
Steg 0
Analysera flödet för förfrågningar

Du kan använda standardanalys av HTTP-begäran i webbläsaren för att analysera förfrågningsflödet. Mer information om hur du gör den här analysen i Chrome finns i:

https://developer.chrome.com/docs/devtools/

Steg 2
Kommer förfrågningar från externa värdar?
Du kan använda standardanalys av HTTP-begäran i webbläsaren för att analysera förfrågningsflödet. Se länkarna ovan om hur du gör analysen i Chrome.
Steg 3
Kan förfrågningarna cachelagras?
Mer information om tillgängliga förfrågningar och allmänna råd om prestandaoptimering för Dispatcher finns i Prestandaoptimering för Dispatcher.
Steg 4
Kommer förfrågningar från Dispatcher?
Om du vill se om begäranden cachelagras på rätt sätt kontrollerar du Felsökningsdokumentation för Dispatcher.
Steg 5
Försöker Dispatcher autentisera varje begäran via AEM?
Kontrollera om Dispatcher skickar HEAD begäranden om AEM för autentisering innan den cachelagrade resursen levereras. Leta efter HEAD begäranden i AEM access.log. Mer information finns i Loggning.
Steg 6
Är den geografiska platsen för Dispatcher långt från användarna?
Flytta Dispatcher närmare användarna.
Steg 7
Går nätverkslagret för Dispatcher bra?
Undersök nätverkslagret för problem med mättnad och fördröjning.
Steg 8
Kan långsamheten reproduceras med en lokal instans?
Använd Tålig dag för att återskapa"verkliga" förhållanden från produktionsinstanserna. Om det här scenariot inte är realistiskt för ditt utvecklingsområde måste du testa produktionsinstansen (eller en identisk mellanlagringsmodell) i ett annat nätverkskontext.
Steg 9
Är serverns geografiska plats långt från användarna?
Flytta servern närmare användarna.
Steg 10 och 29
Undersök nätverkslager

Undersök nätverkslagret för problem med mättnad och fördröjning.

För författarnivån rekommenderas att fördröjningen inte överstiger 100 millisekunder.

Mer information om tips för prestandaoptimering finns i den här sidan.

Steg 11
Flytta servern närmare eller lägg till en per region
Steg 12
Felsök AEM server
Mer information finns i följande delsteg i diagrammet.
Steg 13
Kontrollera maskinvarukraven
Läs dokumentationen på Riktlinjer för maskinvarans storlek.
Steg 14
Kontrollera om det finns vanliga orsaker till prestandaproblem
Steg 15
Hitta långsamma förfrågningar

Du kan söka efter långsamma begäranden genom att analysera request.log eller genom att använda rlog.jar.

Mer information om hur du använder rlog.jar finns på den här sidan.

Se Söka efter förfrågningar med lång varaktighet med rlog.jar.

Steg 16
Profilserver
Mer information om profileringsverktyg som du kan använda med AEM finns i Verktyg för övervakning och analys av prestanda.
Steg 17
Hitta långsamma metoder i profilering
Steg 18
Vanliga scenarier för profilering
Se Analyserar specifika scenarier i avsnittet Prestandaoptimering.
Steg 19
100 % CPU
https://experienceleague.adobe.com/docs/experience-manager-release-information/aem-release-updates/previous-updates/aem-previous-versions.html?lang=sv-SE
Steg 20
Slut på minne
  1. Slut på minne
  2. Mitt program orsakar fel av typen slut på minne
  3. Analysera minnesproblem.
Steg 21
Skiva-I/O
Se Skiva-I/O i övervakningsdokumentationen.
Steg 22 och 22.1
Cachenivåer
Se Beräkna Dispatcher-cachens förhållande.
Steg 23
Långsamma frågor
Metodtips för frågor och indexering
Steg 24
Databasjustering
Steg 25
Arbetsflöden som körs
Steg 26
MSM-infrastruktur
Metodtips för hantering av flera webbplatser
Steg 27
Resursjustering
  1. Resurssynkroniseringstjänst
  2. Flera DAM-instanser
  3. Tipsartikel för prestandajustering här.
Steg 28
Oavslutade sessioner
Söker efter oavslutade JCR-sessioner
Steg 30
Flytta Dispatcher närmare (lägg till en per region?)
Steg 31
Använd CDN framför Dispatcher
Använda Dispatcher med ett CDN
Steg 32
Avlasta AEM server med sessionshantering på Dispatcher-nivå
Aktivera säkra sessioner
Steg 33
Gör förfrågningar tillgängliga
  1. Allmän Dispatcher-konfiguration
  2. Konfigurera Dispatcher Cache

Så här förbättrar du cacheförhållandet: gör förfrågningar cachelagrade (Bästa tillvägagångssätt för Dispatcher)

Titta också på inställningarna nedan för att optimera dina cachelagringskonfigurationer

  1. Ange en regel utan cache för HTTP-begäran som inte är GET
  2. Konfigurera frågesträngar som inte ska kunna cachelagras
  3. Cachelagra inte URL:er som saknar tillägg
  4. Cacheautentiseringsrubriker (möjligt sedan Dispatcher version 4.1.10)
Steg 34
Uppgradera Dispatcher-version

Du kan hämta den senaste Dispatcher-versionen på den här platsen:

Följ länk

Steg 35
Konfigurera Dispatcher
Konfigurera Dispatcher
Steg 36
Kontrollera cacheminnets ogiltigförklaring
Steg 37 och 38
Lazyladdning
Se Gem Session om AEM webbprestanda.
Steg 39
Använd pre-connect för att minska anslutningens belastning
Se Gem-sessionen ovan. Ytterligare föranslutningsdokumentation på W3c: https://html.spec.whatwg.org/#linkTypes
Steg 40 och 41
Latens och svarstid för externa värdar
Undersök latens och svarstid för externa värdar.
Steg 45
och 47
Använda HTTP/2
Se Gem Session för steg 37, 38 och 39. Du kan även checka ut this foruminlägg om HTTP/2-stöd.
Steg 49
Minska nyttolastens storlek
Aktivera Gzip och minska bildstorleken.
Steg 42 och 43
Håll dig uppdaterad

Är Keep-Alive finns det en rubrik i de olika begärandena att återanvända anslutningar? I annat fall innebär det att varje begäran leder till en annan anslutningsanläggning, vilket medför onödiga kostnader. (Standardanalys av HTTP-begäran i webbläsaren)

Du kan kontrollera Proxyserververktyget om du vill kontrollera om det finns anslutningar som inte fungerar.

Steg 44
Hur många förfrågningar görs?
Utför standardanalys av HTTP-begäran i webbläsaren.
Steg 46
Minska antalet förfrågningar
  1. Sammanfoga resurser (bilder, CSS-sprites, JSON)
  2. Inbäddning av klienter:
    1. Skapar klientbiblioteksmappar - se rubriken Använda inbäddning för att minimera förfrågningar
Steg 48
Vilken är nyttolastens storlek?
Standardanalys av HTTP-begäran i webbläsaren
Steg 50 och 51
JS-kodblockering
https://experienceleague.adobe.com/docs/experience-manager-gems-events/gems/gems2016/aem-web-performance.html?lang=sv-SE
recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2