Ambiente
Adobe Experience Manager
Problema/Sintomi
Questo articolo si concentra su come migliorare le prestazioni del sito. Abbiamo messo in evidenza i vari aspetti delle applicazioni e delle architetture Adobe Experience Manager (AEM) che hanno causato il maggior numero di problemi di prestazioni. Implementando le ottimizzazioni elencate qui, puoi evitare tali problemi comuni.
Prestazioni del sito
Prestazioni lato client
Utilizza e ottimizza AEM librerie client : le librerie client consentono di centralizzare facilmente la gestione e l’ottimizzazione del codice CSS e JavaScript nel sito.
Inserisci inclusioni CSS nel tag head di HTML : per evitare lo sfarfallio e il ridisegno della pagina dopo il caricamento.
Inserisci inclusioni di script JavaScript al termine del tag body o aggiungi il attributo script asincrono - questo consente al browser di caricare file JavaScript in parallelo mentre la pagina viene sottoposta a rendering.
Implementa il partizionamento del dominio : per impostazione predefinita, i browser web limitano il numero massimo di richieste parallele per dominio durante il caricamento della pagina. Questo può causare ritardi nel caricamento della pagina se disponi di molte risorse come CSS, JavaScript, ecc. che devono essere caricati prima del rendering della pagina. La condivisione dei domini è una soluzione che aiuta a risolvere questo problema. La condivisione del dominio è il punto in cui includi sul sito file come CSS e JavaScript tramite più sottodomini.
Ad esempio:
script src="//includes1.yoursite.com/etc/clientlibs/test.js"/script
script src="//includes2.yoursite.com/etc/clientlibs/test2.js"/script
Utilizzo ACS Commons - Rewriter di riferimento statico per implementare la condivisione del dominio.
Memorizza in cache JavaScript e CSS per lunghi periodi di tempo - Per consentire la memorizzazione in cache di javascript e css per lunghi periodi di tempo, utilizza ACS Commons - Clientlibs con versione.
Consulta la sezione Documentazione delle regole di Google PageSpeed per ulteriori indicazioni su come ottimizzare il sito.
Vedi questo Sessione AEM Gems per ulteriori informazioni sulle ottimizzazioni del sito.
Prestazioni di modifica dell’istanza dell’autore
Ottimizzazione della cache
In un’architettura comune del sito AEM, la richiesta HTTP passa attraverso più cache prima di raggiungere infine le istanze di pubblicazione AEM. Uno dei modi più semplici per migliorare le prestazioni del sito è quello di ottimizzare la capacità di memorizzazione in cache del sito.
Vedi articolo per passaggi dettagliati su come ottimizzare la memorizzazione in cache nel sito.
Ottimizzare gli indici per le query JCR personalizzate
Un'altra ottimizzazione che può essere effettuata per migliorare le prestazioni è quella di configurare e ottimizzare gli indici Oak per le query JCR personalizzate. Se utilizzi query JCR all’interno dell’applicazione, questa è generalmente un’attività obbligatoria.
Consulta la documentazione ufficiale (1 e 2) per informazioni su come implementare gli indici Oak per le query personalizzate dell’applicazione.:
Parametro guessTotal di QueryBuilder
Se si utilizza QueryBuilder AEM e si prevede che la query restituisca molti risultati, assicurarsi sempre di impostare la proprietà guessTotal sulla radice PredicateGroup in quanto ridurrà l'utilizzo della memoria. Vedi la documentazione ufficiale su questo per i dettagli: API di Query Builder