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 på 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 den här analysen på Chrome.
Steg 3
Kan förfrågningarna cachelagras?
Mer information om tillgängliga begäranden och allmänna råd om prestandaoptimering för Dispatcher finns i Dispatcher Performance Optimization.
Steg 4
Kommer förfrågningar från Dispatcher?
Kontrollera Dispatcher-felsökningsdokumentationen för att se om begäranden har cachelagrats korrekt.
Steg 5
Försöker Dispatcher autentisera varje begäran via AEM?
Kontrollera om Dispatcher skickar HEAD begäranden till AEM för autentisering innan den cachelagrade resursen levereras. Sök efter HEAD förfrågningar i AEM access.log. Mer information finns i Loggning.
Steg 6
Är Dispatcher geografiska plats långt från användarna?
Flytta Dispatcher närmare användarna.
Steg 7
Går nätverkslagret i 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 Tough Day för att replikera 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 en annan 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 på 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 om Riktlinjer för maskinvarustorlek.
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 begäranden 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 Analysera 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 avsnittet Skiva-I/O i dokumentationen för övervakning och underhåll.
Steg 22 och 22.1
Cachenivåer
Se Beräkna Dispatcher-cacheförhållandet.
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
Bästa praxis för hantering av flera webbplatser
Steg 27
Assets-justering
  1. Assets Synchronization Service
  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
Använd sessionshantering på Dispatcher-nivå för att avlasta AEM server
Aktivera säkra sessioner
Steg 33
Gör förfrågningar tillgängliga
  1. Allmän Dispatcher-konfiguration
  2. Konfigurera Dispatcher Cache

Hur man förbättrar cachekvoten; gör förfrågningar cachelagrade (Dispatcher bästa praxis)

Titta även på inställningarna nedan för att optimera cachelagringskonfigurationerna

  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

Du kan ladda ned den senaste Dispatcher-versionen här:

Följ länk

Steg 35
Konfigurera Dispatcher
Konfigurera Dispatcher
Steg 36
Kontrollera cacheminnets ogiltigförklaring
Steg 37 och 38
Lazyladdning
Visa Gem-sessionen AEM webbinsprestanda.
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 ta en titt på det här foruminlägget om HTTP/2-stöd.
Steg 49
Minska nyttolastens storlek
Aktivera Gzip och Minska bildstorleken.
Steg 42 och 43
Håll dig uppdaterad

Finns rubriken Keep-Alive i olika begäranden om 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 för att kontrollera om det finns anslutningar som inte används.

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 begäranden
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