AEM 6.4 ha raggiunto la fine del supporto esteso e questa documentazione non viene più aggiornata. Per maggiori dettagli, consulta la nostra periodi di assistenza tecnica. Trova le versioni supportate qui.
Una configurazione di Adobe Experience Manager Assets contiene diversi componenti hardware, software e di rete. A seconda dello scenario di distribuzione, potrebbe essere necessario apportare modifiche specifiche alla configurazione di hardware, software e componenti di rete per rimuovere i colli di bottiglia delle prestazioni.
Inoltre, l'identificazione e l'aderenza a determinate linee guida per l'ottimizzazione di hardware e software aiuta a creare una base audio che consenta al tuo Experience Manager Distribuzione delle risorse per soddisfare le aspettative relative a prestazioni, scalabilità e affidabilità.
Scarse prestazioni in Experience Manager Le risorse possono influenzare l’esperienza degli utenti in relazione alle prestazioni interattive, all’elaborazione delle risorse, alla velocità di download e ad altre aree.
L’ottimizzazione delle prestazioni è infatti un’attività fondamentale da eseguire prima di stabilire le metriche di destinazione per qualsiasi progetto.
Di seguito sono elencate alcune aree principali intorno alle quali puoi individuare e risolvere i problemi di prestazioni prima che abbiano un impatto sugli utenti.
Quando Experience Manager è supportato su diverse piattaforme, Adobe ha trovato il supporto più grande per gli strumenti nativi su Linux e Windows, che contribuisce alle prestazioni ottimali e alla facilità di implementazione. Idealmente, è necessario implementare un sistema operativo a 64 bit per soddisfare i requisiti di memoria elevati di un Experience Manager Distribuzione di risorse. Come qualsiasi Experience Manager implementa TarMK laddove possibile. Mentre TarMK non può scalare oltre una singola istanza di authoring, si scopre che funziona meglio di MongoMK. Puoi aggiungere istanze di offload TarMK per aumentare la potenza di elaborazione del flusso di lavoro del tuo Experience Manager Distribuzione di risorse.
Per migliorare i tempi di caricamento delle risorse, utilizza l’archiviazione ad alte prestazioni per la directory temporanea Java. Su Linux e Windows, è possibile utilizzare un'unità RAM o SSD. In ambienti basati su cloud, è possibile utilizzare un tipo di storage ad alta velocità equivalente. Ad esempio in Amazon EC2, un azionamento effimero L'unità può essere utilizzata per la cartella temporanea.
Supponendo che il server disponga di una memoria ampia, configura un'unità RAM. Su Linux, esegui questi comandi per creare un'unità RAM da 8 GB:
mkfs -q /dev/ram1 800000
mkdir -p /mnt/aem-tmp
mount /dev/ram1 /mnt/aem-tmp
df -H | grep aem-tmp
In Windows OS, è necessario utilizzare un driver di terze parti per creare un'unità RAM o semplicemente utilizzare un'unità di storage ad alte prestazioni come SSD.
Una volta pronto il volume temporaneo ad alte prestazioni, imposta il parametro JVM -Djava.io.tmpdir. Ad esempio, puoi aggiungere il parametro JVM qui sotto alla variabile CQ_JVM_OPTS nello script bin/start di AEM:
-Djava.io.tmpdir=/mnt/aem-tmp
Poiché Oracle ha cessato di rilasciare aggiornamenti per Java 7 a partire da aprile 2015, Adobe consiglia di implementare Experience Manager Risorse su Java 8. In alcuni casi, ha dimostrato prestazioni migliori.
Imposta i seguenti parametri JVM:
-XX:+UseConcMarkSweepGC
-Doak.queryLimitInMemory
=500000-Doak.queryLimitReads
=100000-Dupdate.limit
=250000-Doak.fastQuerySize
=veroÈ consigliabile separare l’archivio dati dall’archivio segmenti per tutti Experience Manager Utenti di Assets. Inoltre, configura la maxCachedBinarySize
e cacheSizeInMB
i parametri possono contribuire a massimizzare le prestazioni. Imposta maxCachedBinarySize
alla dimensione più piccola del file che può essere mantenuta nella cache. Specifica la dimensione della cache in memoria da utilizzare per l’archivio dati in cacheSizeInMB
. Adobe consiglia di impostare questo valore tra il 2 e il 10% della dimensione totale dell'heap. Tuttavia, il test di carico/prestazioni può aiutare a determinare l'impostazione ideale.
Quando si caricano grandi quantità di risorse in Adobe Experience Manager, per consentire picchi imprevisti nel consumo di memoria e per evitare errori JVM con OutOfMemoryErrors, ridurre la dimensione massima configurata della cache immagine bufferizzata. Considera un esempio di sistema con un heap massimo (- Xmx
param) di 5 GB, un Oak BlobCache impostato a 1 GB, e la cache del documento impostata a 2 GB. In questo caso, la cache bufferizzata richiederebbe un massimo di 1,25 GB e memoria, lasciando solo 0,75 GB di memoria per picchi imprevisti.
Configura la dimensione della cache bufferizzata nella console Web OSGi. A https://host:port/system/console/configMgr/com.day.cq.dam.core.impl.cache.CQBufferedImageCache
, imposta la proprietà cq.dam.image.cache.max.memory
in byte. Ad esempio, 1073741824 è 1 GB (1024 x 1024 x 1024 = 1 GB).
Da Experience Manager 6.1 SP1, se utilizzi un sling:osgiConfig
nodo per la configurazione di questa proprietà, assicurarsi di impostare il tipo di dati su Long. Per ulteriori dettagli, consulta CQBufferedImageCache consuma heap durante il caricamento delle risorse.
L'implementazione di un S3 o Shared File Datastore può aiutare a risparmiare spazio su disco e ad aumentare il throughput di rete nelle implementazioni su larga scala. Per ulteriori informazioni sui pro e i contro dell’utilizzo di un datastore condiviso, consulta Guida al dimensionamento delle risorse.
La seguente configurazione dell’archivio dati S3 ( org.apache.jackrabbit.oak.plugins.blob.datastore.S3DataStore.cfg
) ha aiutato Adobe ad estrarre 12,8 TB di oggetti BLOB (binari di grandi dimensioni) da un archivio dati di file esistente in un archivio dati S3 in un sito cliente:
accessKey=<snip>
secretKey=<snip>
s3Bucket=<snip>
s3Region=us-standard
s3EndPoint=<a href="https://s3.amazonaws.com/">s3.amazonaws.com</a>
connectionTimeout=120000
socketTimeout=120000
maxConnections=80
writeThreads=60
concurrentUploadsThreads=30
asyncUploadLimit=30
maxErrorRetry=1000
path=/opt/author/crx-quickstart/repository/datastore
s3RenameKeys=false
s3Encryption=SSE_S3
proactiveCaching=true
uploadRetries=1000
migrateFailuresCount=400
L’Adobe consiglia di abilitare HTTPS perché molte aziende dispongono di firewall per l’attivazione del traffico HTTP, il che influisce negativamente sui caricamenti e corrompe i file. Per caricamenti di file di grandi dimensioni, assicurati che gli utenti abbiano connessioni cablate alla rete perché una rete WiFi diventa rapidamente saturata. Per le linee guida sull'identificazione delle strozzature di rete, vedi Guida al dimensionamento delle risorse. Per valutare le prestazioni della rete analizzando la topologia di rete, vedi Considerazioni sulla rete delle risorse.
In primo luogo, la strategia di ottimizzazione della rete dipende dalla quantità di larghezza di banda disponibile e dal carico sul Experience Manager istanza. Opzioni di configurazione comuni, inclusi firewall o proxy, possono contribuire a migliorare le prestazioni di rete. Ecco alcuni punti chiave da tenere a mente:
Laddove possibile, imposta il flusso di lavoro Aggiorna risorsa DAM su Transitent. L’impostazione riduce notevolmente i costi generali necessari per elaborare i flussi di lavoro perché, in questo caso, i flussi di lavoro non devono passare attraverso i normali processi di tracciamento e archiviazione.
Per impostazione predefinita, il flusso di lavoro Aggiorna risorsa DAM è impostato su Transitent in Experience Manager 6.3. In questo caso, è possibile saltare la seguente procedura.
Apri http://localhost:4502/miscadmin
sulla Experience Manager istanza da configurare.
Dalla struttura di navigazione, espandi Strumenti > Flusso di lavoro > Modelli > dam.
Fare doppio clic Risorsa di aggiornamento DAM.
Dal pannello degli strumenti mobili, passa alla Pagina , quindi fai clic su Proprietà pagina.
Seleziona Flusso di lavoro transitorio Fai clic su OK.
Alcune funzionalità non supportano flussi di lavoro transitori. Se Experience Manager La distribuzione delle risorse richiede queste funzionalità e non configura flussi di lavoro transitori.
Nei casi in cui non è possibile utilizzare flussi di lavoro transitori, esegui regolarmente l’eliminazione del flusso di lavoro per eliminare i flussi di lavoro archiviati DAM Update Asset per garantire che le prestazioni del sistema non peggiorino.
Normalmente, è necessario eseguire lo svuotamento dei flussi di lavoro settimanalmente. Tuttavia, in scenari ad uso intensivo di risorse, ad esempio durante l’assimilazione di risorse su larga scala, puoi eseguirli più frequentemente.
Per configurare l’eliminazione del flusso di lavoro, aggiungi una nuova configurazione Adobe Granite Workflow Purge tramite la console OSGi. Quindi, configura e pianifica il flusso di lavoro come parte della finestra di manutenzione settimanale.
Se la pulizia viene eseguita per troppo tempo, si verifica un timeout. Pertanto, assicurati che i processi di eliminazione siano completi per evitare situazioni in cui l’eliminazione dei flussi di lavoro non riesce a essere completata a causa dell’elevato numero di flussi di lavoro.
Ad esempio, dopo aver eseguito numerosi flussi di lavoro non transitori (che creano nodi di istanza del flusso di lavoro), puoi eseguire Ripristino dei flussi di lavoro ACS AEM Commons su base ad hoc. Rimuove immediatamente le istanze del flusso di lavoro ridondanti e completate anziché attendere l’esecuzione della pianificazione di eliminazione del flusso di lavoro di Adobe Granite.
Per impostazione predefinita, Experience Manager esegue un numero massimo di processi paralleli uguale al numero di processori sul server. Il problema con questa impostazione è che durante i periodi di carico pesante, tutti i processori sono occupati dai flussi di lavoro DAM Update Asset, rallentando la reattività dell’interfaccia utente e impedendo Experience Manager dall'esecuzione di altri processi che salvaguardano le prestazioni e la stabilità del server. Come buona pratica, imposta questo valore a metà dei processori disponibili sul server eseguendo i seguenti passaggi:
Impostare una coda a metà dei processori disponibili è una soluzione praticabile con cui iniziare. Tuttavia, potrebbe essere necessario aumentare o diminuire questo numero per ottenere il massimo throughput e regolarlo in base all'ambiente. Sono presenti code separate per i flussi di lavoro transitori e non transitori e per altri processi, ad esempio quelli esterni. Se diverse code impostate al 50% dei processori sono attive contemporaneamente, il sistema può essere sovraccaricato rapidamente. Le code utilizzate in modo massiccio variano notevolmente a seconda delle implementazioni degli utenti. Pertanto, potrebbe essere necessario configurarli con attenzione per la massima efficienza senza sacrificare la stabilità del server.
Per flussi di lavoro o flussi di lavoro che richiedono un’elevata quantità di risorse, ad esempio la transcodifica video, puoi scaricare i flussi di lavoro Aggiorna risorsa DAM in una seconda istanza di authoring. Spesso, il problema dello scaricamento è che qualsiasi carico salvato scaricando l’elaborazione del flusso di lavoro viene compensato dal costo di replica del contenuto avanti e indietro tra le istanze.
A partire da Experience Manager 6.2 e con un pacchetto di funzioni per Experience Manager 6.1, è possibile eseguire lo scaricamento con la replica senza binario. In questo modello, le istanze dell’autore condividono un datastore comune e inviano i metadati avanti e indietro solo attraverso la replica in avanti. Anche se questo approccio funziona bene con un datastore di file condiviso, ci possono essere problemi con un datastore S3. Poiché i thread di scrittura in background possono causare latenza, è possibile che una risorsa non sia stata scritta nell’archivio dati prima dell’inizio del processo di scaricamento.
Il flusso di lavoro Risorsa di aggiornamento DAM contiene una suite completa di passaggi configurati per attività quali la generazione PTIFF di Dynamic Media Classic e l’integrazione con InDesign Server. Tuttavia, la maggior parte degli utenti potrebbe non richiedere diversi di questi passaggi. Adobe consiglia di creare una copia personalizzata del modello di flusso di lavoro Aggiorna risorsa DAM e di rimuovere eventuali passaggi superflui. In questo caso, aggiorna i moduli di avvio per DAM Update Asset in modo che faccia riferimento al nuovo modello.
L’esecuzione intensiva del flusso di lavoro Risorsa di aggiornamento DAM può aumentare notevolmente la dimensione del datastore dei file. I risultati di un esperimento eseguito da Adobe hanno dimostrato che la dimensione del datastore può aumentare di circa 400 GB se vengono eseguiti circa 5500 flussi di lavoro in 8 ore.
Si tratta di un aumento temporaneo e il datastore viene ripristinato alle dimensioni originali dopo aver eseguito l'attività di raccolta rifiuti del datastore.
In genere, l'attività di raccolta oggetti inattivi del datastore viene eseguita settimanalmente insieme ad altre attività di manutenzione pianificate.
Se hai uno spazio su disco limitato ed esegui i flussi di lavoro Aggiorna risorsa DAM in modo intensivo, considera la pianificazione dell’attività di raccolta degli oggetti inattivi con maggiore frequenza.
I clienti utilizzano immagini di varie dimensioni e formati sul proprio sito web o per la distribuzione ai partner commerciali. Poiché ogni rendering viene aggiunto all’impronta della risorsa nell’archivio, Adobe consiglia di utilizzare questa funzione in modo giudizioso. Per ridurre la quantità di risorse necessarie per elaborare e archiviare le immagini, puoi generarle in fase di esecuzione anziché come rappresentazioni durante l’acquisizione.
Molti clienti di Sites implementano un servlet immagine che ridimensiona e ritaglia le immagini al momento della richiesta, il che impone un carico aggiuntivo sull’istanza di pubblicazione. Tuttavia, finché queste immagini possono essere memorizzate nella cache, la sfida può essere attenuata.
Un approccio alternativo è quello di utilizzare la tecnologia Dynamic Media Classic per distribuire completamente la manipolazione delle immagini. Inoltre, puoi distribuire Brand Portal che non solo assume le responsabilità di generazione del rendering dal Experience Manager infrastruttura, ma anche l'intero livello di pubblicazione.
Se si personalizza il flusso di lavoro Aggiorna risorsa DAM per generare rappresentazioni utilizzando ImageMagick, Adobe consiglia di modificare il file policy.xml in /etc/ImageMagick/. Per impostazione predefinita, ImageMagick utilizza l'intero spazio su disco disponibile sul volume del sistema operativo e la memoria disponibile. Apporta le seguenti modifiche alla configurazione all’interno della policymap
sezione di policy.xml per limitare queste risorse.
<policymap>
<!-- <policy domain="system" name="precision" value="6"/> -->
<policy domain="resource" name="temporary-path" value="/ephemeral0/imagemagick_tmp"/>
<policy domain="resource" name="memory" value="1000MiB"/>
<policy domain="resource" name="map" value="1000MiB"/>
<!-- <policy domain="resource" name="area" value="1gb"/> -->
<policy domain="resource" name="disk" value="10000MiB"/>
<!-- <policy domain="resource" name="file" value="768"/> -->
<policy domain="resource" name="thread" value="1"/>
<policy domain="resource" name="throttle" value="50"/>
<!-- <policy domain="resource" name="time" value="3600"/> -->
</policymap>
Inoltre, imposta il percorso della cartella temporanea di ImageMagick nel configure.xml o impostando la variabile di ambiente MAGIC_TEMPORARY_PATH
) in una partizione disco con spazio sufficiente e IOPS.
Una configurazione errata può rendere instabile il server se ImageMagick utilizza tutto lo spazio su disco disponibile. Le modifiche dei criteri necessarie per elaborare file di grandi dimensioni utilizzando ImageMagick possono influire sul Experience Manager prestazioni. Per ulteriori informazioni, consulta installa e configura ImageMagick.
ImageMagick policy.xml
e configure.xml
i file si trovano in /usr/lib64/ImageMagick-*/config/
anziché /etc/ImageMagick/
. Vedi Documentazione di ImageMagick per informazioni dettagliate sulle posizioni dei file di configurazione.
Se utilizzi Experience Manager in Adobe Managed Services (AMS), contatta l’Assistenza clienti Adobe se intendi elaborare molti file PSD o PSB di grandi dimensioni. Experience Manager potrebbe non elaborare file PSB ad altissima risoluzione con una risoluzione superiore a 30000x23000 pixel.
XMP writeback aggiorna la risorsa originale ogni volta che i metadati vengono modificati in AEM, il che si traduce in quanto segue:
I risultati elencati consumano notevoli risorse. Pertanto, l'Adobe raccomanda disabilitazione XMP Writeback, se non è obbligatorio.
Se è selezionato il flag di esecuzione dei flussi di lavoro, l’importazione di una grande quantità di metadati può comportare un’attività di XMP write-back ad uso intensivo di risorse. Pianifica un'importazione di questo tipo durante l'utilizzo snello del server in modo che le prestazioni per altri utenti non siano influenzate.
Quando si replicano le risorse in un numero elevato di istanze di pubblicazione, ad esempio in un’implementazione di Sites, Adobe consiglia di utilizzare la replica a catena. In questo caso, l'istanza dell'autore si replica in una singola istanza di pubblicazione che a sua volta si replica alle altre istanze di pubblicazione, liberando l'istanza dell'autore.
Ad Adobe, non è consigliabile attivare automaticamente le risorse. Tuttavia, se necessario, Adobe consiglia di eseguire questo come passaggio finale in un flusso di lavoro, in genere DAM Update Asset.
Assicurati di implementare i service pack e gli hotfix più recenti relativi alle prestazioni, in quanto spesso includono aggiornamenti agli indici di sistema. Vedi Suggerimenti per l’ottimizzazione delle prestazioni | 6.x per alcune ottimizzazioni dell'indice che possono essere applicate, a seconda della versione di AEM.
Crea indici personalizzati per le query che esegui spesso. Per maggiori dettagli, vedi metodologia per l’analisi delle query lente e creazione di indici personalizzati. Per ulteriori informazioni sulle best practice relative a query e indice, consulta Tecniche consigliate per query e indicizzazione.
Alcune ottimizzazioni possono essere fatte sulle configurazioni dell'indice Oak che possono aiutare a migliorare Experience Manager Prestazioni delle risorse:
Aggiorna la configurazione LuceneIndexProvider:
Aggiorna le configurazioni dell'indice per migliorare il tempo di reindicizzazione:
(Solo AEM6.1 e 6.2) Aggiorna l'indice ntBaseLucene per migliorare le prestazioni di eliminazione e spostamento delle risorse:
Sfoglia per /oak:index/ntBaseLucene/indexRules/nt:base/properties
Aggiungi due nodi nt:unstructured slingResource e damResolvedPath sotto /oak:index/ntBaseLucene/indexRules/nt:base/properties
Imposta le proprietà seguenti sui nodi (dove le proprietà ordered e propertyIndex sono di tipo Booleano:
slingResource
name="sling:resource"
ordered=false
propertyIndex= true
type="String"
damResolvedPath
name="dam:resolvePath"
ordered=false
propertyIndex=true
type="String"
Sul nodo /oak:index/ntBaseLucene , imposta la proprietà reindex=true
Fai clic su Salva tutto
Monitora il file error.log per vedere quando l'indicizzazione è completata:
Reindicizzazione completata per gli indici: [/oak:index/ntBaseLucene]
Puoi anche vedere che l'indicizzazione è completata aggiornando il nodo /oak:index/ntBaseLucene in CRXDe in quanto la proprietà reindicizzazione tornerebbe a false
Una volta completata l'indicizzazione, torna a CRXDe e imposta il type su questi due indici
Fai clic su Salva tutto
Disattiva estrazione testo Lucene:
Se gli utenti non devono essere in grado di cercare il contenuto delle risorse, ad esempio ricercando il testo contenuto nei documenti di PDF, puoi migliorare le prestazioni dell’indice disattivando questa funzione.
Quando crei query che generano set di risultati di grandi dimensioni, utilizza la variabile guessTotal
per evitare l'utilizzo di memoria pesante quando vengono eseguiti.
Ci sono due importanti problemi noti relativi ai file di grandi dimensioni in AEM. Quando i file raggiungono dimensioni superiori a 2 GB, la sincronizzazione standby a freddo può trovarsi in una situazione di esaurimento della memoria. In alcuni casi, impedisce l’esecuzione della sincronizzazione in standby. In altri casi, causa l’arresto anomalo dell’istanza primaria. Questo scenario si applica a qualsiasi file in Experience Manager superiore a 2 GB, inclusi i pacchetti di contenuti.
Allo stesso modo, quando i file raggiungono le dimensioni di 2 GB durante l'utilizzo di un datastore S3 condiviso, potrebbe essere necessario un po' di tempo perché il file venga mantenuto completamente dalla cache al filesystem. Di conseguenza, quando si utilizza la replica senza binario, è possibile che i dati binari non siano stati persistenti prima del completamento della replica. Questa situazione può causare problemi, soprattutto se la disponibilità di dati è importante, ad esempio in scenari di scarico.
Per ogni Experience Manager implementazione, stabilire un regime di test delle prestazioni in grado di identificare e risolvere rapidamente i colli di bottiglia. Ecco alcune aree chiave su cui concentrarsi.
Per tutti i problemi di prestazioni della rete da parte del cliente, eseguire le seguenti operazioni:
Per ridurre al minimo la latenza e ottenere un throughput elevato grazie all'utilizzo efficiente della CPU e alla condivisione del carico, controlla le prestazioni del tuo Experience Manager istanza regolarmente. In particolare:
guessTotal
per ottimizzare le prestazioni della query.