Prestandaträd

Senaste uppdatering: 2023-12-07
  • Skapat för:
  • Developer

Omfång

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

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

chlimage_1-103

Avsnitt 2

chlimage_1-104

Avsnitt 3

chlimage_1-105

Avsnitt 4

chlimage_1-106

Avsnitt 5

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=en

På denna sida