Nota:

Stai leggendo la versione AEM 5.x dei suggerimenti per la regolazione delle prestazioni. Questo articolo è disponibile anche per le versioni 6.x

Problema

Le prestazioni del mio CQ5 sono scarse.

Causa

I problemi di prestazioni in CQ5 possono essere dovuti a molte cose in combinazione. La causa più comune è dovuta al codice applicativo. Tuttavia, è possibile adottare alcune misure all'interno della configurazione CQ5 per migliorare le prestazioni.

Risoluzione

Per migliorare le prestazioni complessive dell'istanza CQ, Adobe raccomanda di fare quanto segue (su istanze autore e pubblicazione).

 

1. Installa gli hotfix consigliati

Ciò vale per l'AEM 5.6.1. Leggi attentamente https://helpx.adobe.com/it/experience-manager/kb/cq561-available-hotfixes.htmll e installa gli hotfix consigliati per i moduli, in particolare quello relativo alle prestazioni.

 

2. Aumento del bundleCacheSize CRX

Aumenta il parametro bundleCacheSize di CRX TarPersistenceManager facendo quanto segue:

Modifica ciascuno degli elementi di PersistenceManager nel repository.xml e tutti i file workspace.xml aggiungendo il seguente parametro all'interno dell'elemento <PersistenceManager class="com.day.crx.persistence.tar.TarPersistenceManager" />:
Per esempio

<PersistenceManager class="com.day.crx.persistence.tar.TarPersistenceManager"> <param name="bundleCacheSize" value="256" /> </PersistenceManager>

Per impostazione predefinita, questa cache è impostata a 8 MB. Aumentare ad almeno 256 MB, o anche 512 MB, a seconda di quanta memoria si può assegnare alla JVM. Se si dispone di una JVM con il parametro Xmx impostato a 10 GB, allora si imposta il bundleCacheSize a 1024 MB. Se utilizzi una JVM a 32 bit su Windows, il parametro Xmx è probabilmente inferiore a 1500 MB. Pertanto, un valore ragionevole per il bundleCacheSize è di 128 MB. Adobe consiglia di eseguire l'aggiornamento a una JVM a 64 bit per allocare più memoria al mucchio JVM.

3. Utilizza la funzione FineGrainedISMLocking (solo CRX 1.4.x)

Per configurarlo, aggiungi la seguente classe ISMLocking a workspace.xml e a repository.xml, direttamente dopo il blocco SearchIndex:

<Workspace ...> ... </SearchIndex> <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking"/> ... </Workspace>

4. Disattiva il servizio di sincronizzazione degli asset di CQ5 (solo CQ5.3)

Il servizio AssetSynchronizationService sincronizza le risorse dai repository montati (ad esempio, LiveLink, Documentum). Quando abilitato, è stato osservato che questo servizio assegna periodicamente molti oggetti che vengono raccolti. Pertanto, ha un impatto sulle prestazioni della JVM. Se non si usano i repository montati, si può disabilitare questo servizio.

Con la configurazione, il periodo di sincronizzazione può essere impostato su un numero maggiore di secondi (default 300), impedendo così di fatto il suo funzionamento.

Il pacchetto allegato imposta il periodo di sincronizzazione a un anno, disabilitando così il servizio.

5. Imposta i parametri dell'indice di ricerca resultFetchSize

Se il set di risultati di una query jcr è grande, allora caricare il set completo e controllrea le ACL su di esse è costoso. Per porvi rimedio, limita la dimensione del recupero a 50 come tramite l'elemento SearchIndex nell'area workspace.xml:

<param name="resultFetchSize" value="50"/> Ad esempio:






<SearchIndex class="com.day.crx.query.lucene.LuceneHandler"> <param name="path" value="${wsp.home}/index"/> <param name="resultFetchSize" value="50"/> </SearchIndex>

6. Imposta il parametro CRX Search cacheSize

La cache di ricerca può anche essere impostata nell'elemento SearchIndex in workspace.xml. Imposta questo parametro su 100000:

<param name="cacheSize" value="100000" />

Ad esempio:

<SearchIndex class="com.day.crx.query.lucene.LuceneHandler"> <param name="path" value="${wsp.home}/index"/> <param name="resultFetchSize" value="50"/> <param name="cacheSize" value="100000" /> </SearchIndex>

 

Questo parametro è documentato qui.

7. Disattivare il clustering CRX (CRX 1.4, 2.0, 2.1)

Quando si esegue un sistema con un elevato carico di scrittura (ad esempio, con massicce importazioni di asset DAM), a volte anche guadagni di performance di scrittura relativamente piccoli possono aiutare a raggiungere il benchmark di performance richiesto. In tal caso, considera la possibilità di disattivare il giornale di clustering nella distribuzione.

Per impostazione predefinita, CRX è impostato per funzionare in modalità cluster. Ma se c'è solo un'istanza nel cluster, allora aggiunge un po' di overhead I/O. Per ottenere prestazioni di scrittura, disabilita il clustering.

Nel repository.xml, commenta la sezione <Cluster ...>......</Cluster>.
Quindi utilizza lo script di esempio per spostare i file del repository dalla modalità cluster alla modalità singola.

Prima di effettuare questa procedura, contatta il daycare o l'account manager per discutere di questa opzione. La maggior parte delle distribuzioni del cliente viene eseguita con le configurazioni predefinite e con journaling. È meglio testare questo script su un'istanza di test che lo fa su un sistema di produzione.

8. Disattiva l'aggiornamento del Content Finder e il caricamento automatico (solo per l'istanza dell'autore)

Consulta questo articolo[2]

9. Disattiva DAM Sub Asset Generation

Consulta questo articolo [3]

10. Limita le dimensioni massime del diario in CRX

Se i file del diario CRX sotto share/journal diventano troppo grandi, allora la tua applicazione può subire un certo rallentamento. Consulta questo articolo [4] per sapere come limitare le dimensioni del diario e il numero massimo di file.

11. Disattiva i flussi di lavoro DAM su publish (CQ5.3 solo istanza Publish)

Consulta questo articolo [5]

12. Disattiva il Link Checker

Un guadagno in termini di prestazioni può essere ottenuto disattivando il link checker (specialmente con AEM 5.6.1). Fallo solo se decidi di non averne bisogno nel tuo ambiente.

Il link checker conferma che gli URL delle risorse sull'indirizzo delle tue pagine sono raggiungibili. Lo fa facendo una richiesta HTTP HEAD.

Se un link è contrassegnato come non valido sull'autore, allora il controllore del link mostra un'icona di catena rotta intorno ad esso. Se un link è contrassegnato come non valido al momento della pubblicazione, il tag <a href="..."> viene rimosso.

Alcuni clienti lo disattivano nelle loro istanze di pubblicazione per ottenere prestazioni migliori. Anche se questo fa guadagnare in termini di prestazioni, i link interrotti influenzano il SEO del tuo sito. Considera attentamente gli effetti prima di decidere di disabilitarlo.

Per istruzioni su come disabilitare questa funzione, vedi questo articolo [6].

13. Nascondi l'indice Tar PM

Fino a CRX 2.1

L'utilizzo di un cron job per leggere il file index*.tar di tanto in tanto, può aiutare a migliorare le prestazioni, dato che l'indice tar è memorizzato nella cache I/O hardware. Su UNIX, è possibile caricare l'index*.tar usando il comando "cat index*.tar > /dev/null". Fare questo ogni ora dovrebbe aiutare a migliorare le prestazioni del Tar Persistence Manager durante l'esecuzione del metodo TarFile.readFully().

Da CRX 2.2 + hotfixpack 2.2.0.26 e successivi

Controlla la dimensione globale dei file index_*.tar nell'area di lavoro crx.default, aumenta la dimensione massima dell'heap di tale dimensione e imposta il parametro indexInMemory a true per la sezione TarPersistenceManager di workspace.xml:

<PersistenceManager class="com.day.crx.persistence.tar.TarPersistenceManager">
<param name="indexInMemory" value="true" />
</PersistenceManager>

Lo spazio richiesto per un nodo JCR è di 128 byte. Se il file indice*.tar più grande di uno spazio di lavoro è di 1 GB, ciò significa che ci sono circa 16 milioni di nodi in questo spazio di lavoro, poiché ogni nodo ha bisogno di 64 byte di spazio su disco. L'utilizzo dell'opzione indice in-memory richiede circa 2 GB di spazio heap (raddoppia la dimensione del file per calcolare lo spazio heap richiesto, perché ci possono essere due versioni per file indice durante la fusione degli indici).

14. Scadenza della cache LDAP

Per migliorare le prestazioni e ridurre la latenza durante il processo di autenticazione, è bene aumentare la scadenza della cache LDAP, è possibile impostare cache.expiration a 86400 (un giorno) nella configurazione LDAP.

15. Ottimizza l'indice lucene per guadagnare spazio su disco ed efficienza

Consulta questo articolo [7]

Referenze

[1]
http://wiki.apache.org/jackrabbit/Search [2] Come modificare l'intervallo di aggiornamento di ContentFinder
[3] Come rimuovere la generazione di sottoasset dal flusso di lavoro DAM
[4] Journal consuma troppo spazio su disco
[5] Come disabilitare i flussi di lavoro DAM in caso di pubblicazione
[6] Disabilita Linkchecker
[7] Ottimizza l'indice lucene per guadagnare spazio su disco ed efficienza

 

Si applica a

CQ 5.x, CRX 2.X

Scarica

Questo prodotto è concesso in licenza in base alla licenza di Attribuzione-Non commerciale-Condividi allo stesso modo 3.0 Unported di Creative Commons.  I post su Twitter™ e Facebook non sono coperti dai termini di Creative Commons.

Note legali   |   Informativa sulla privacy online