Un Experience Manager Assets La configurazione contiene diversi componenti hardware, software e di rete. A seconda dello scenario di distribuzione, per rimuovere i colli di bottiglia delle prestazioni potrebbe essere necessario apportare modifiche specifiche alla configurazione di hardware, software e componenti di rete.
Inoltre, l'identificazione e il rispetto di determinate linee guida per l'ottimizzazione hardware e software consentono di creare una solida base che consente Experience Manager Assets per soddisfare le aspettative in termini di prestazioni, scalabilità e affidabilità.
Prestazioni insoddisfacenti in Experience Manager Assets può influenzare l’esperienza utente in termini di prestazioni interattive, elaborazione delle risorse, velocità di download e altre aree.
In effetti, l’ottimizzazione delle prestazioni è un’attività fondamentale che esegui prima di stabilire metriche target per qualsiasi progetto.
Di seguito sono elencate alcune aree chiave intorno alle quali individuare e risolvere i problemi di prestazioni prima che abbiano un impatto sugli utenti.
Experience Manager è supportato su diverse piattaforme, ma Adobe ha trovato il supporto più esteso per gli strumenti nativi su Linux e Windows, il che contribuisce a migliorare le prestazioni e a semplificare l’implementazione. È consigliabile implementare un sistema operativo a 64 bit per soddisfare i requisiti di memoria elevati di un Experience Manager Assets distribuzione. Come per qualsiasi implementazione di Experience Manager, è necessario implementare TarMK laddove possibile. Anche se TarMK non può essere scalato oltre una singola istanza di authoring, ha prestazioni migliori di MongoMK. Puoi aggiungere istanze di offload TarMK per aumentare la potenza di elaborazione del flusso di lavoro del tuo Experience Manager Assets distribuzione.
Per migliorare i tempi di caricamento delle risorse, utilizza uno storage ad alte prestazioni per la directory temporanea Java. Su Linux e Windows, è possibile utilizzare un'unità RAM o un'unità SSD. Negli ambienti basati su cloud è possibile utilizzare un tipo di storage equivalente ad alta velocità. Ad esempio, in Amazon EC2, un’ trasmissione effimera può essere utilizzata per la cartella temporanea.
Se il server dispone di memoria sufficiente, configurare un'unità RAM. Su Linux, eseguire i comandi seguenti 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
Nel sistema operativo Windows, utilizzare un driver di terze parti per creare un'unità RAM o semplicemente utilizzare storage ad alte prestazioni come SSD.
Quando il volume temporaneo ad alte prestazioni è pronto, impostare il parametro JVM -Djava.io.tmpdir
. Ad esempio, puoi aggiungere il parametro JVM seguente al CQ_JVM_OPTS
variabile in bin/start
script di Experience Manager:
-Djava.io.tmpdir=/mnt/aem-tmp
L’Adobe consiglia di distribuire Experience Manager Assets su Java 8 per prestazioni ottimali.
Imposta i seguenti parametri JVM:
-XX:+UseConcMarkSweepGC
-Doak.queryLimitInMemory
=500000-Doak.queryLimitReads
=100000-Dupdate.limit
=250000-Doak.fastQuerySize
=veroSi consiglia di separare l’archivio dati dall’archivio segmenti per tutti Experience Manager Assets utenti. Inoltre, la configurazione di maxCachedBinarySize
e cacheSizeInMB
I parametri possono aiutare a massimizzare le prestazioni. Imposta maxCachedBinarySize
alle dimensioni di file più piccole che possono essere mantenute nella cache. Specifica la dimensione della cache in memoria da utilizzare per l’archivio dati in cacheSizeInMB
. L’Adobe consiglia di impostare questo valore tra il 2 e il 10% della dimensione heap totale. 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 nell’utilizzo della memoria e impedire errori JVM con OutOfMemoryErrors, riduci la dimensione massima configurata della cache immagine nel buffer. Prendi in considerazione un esempio di sistema con un heap massimo (- Xmx
param) di 5 GB, un Oak BlobCache impostato su 1 GB e una cache dei documenti impostata su 2 GB. In questo caso, la cache nel buffer richiederebbe al massimo 1,25 GB e memoria, che lascerebbe solo 0,75 GB di memoria per picchi imprevisti.
Configura la dimensione della cache nel buffer 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).
Dall'Experience Manager 6.1 SP1, se si utilizza un sling:osgiConfig
per configurare questa proprietà, assicurarsi di impostare il tipo di dati su Long. Per ulteriori dettagli, consulta CQBufferedImageCache utilizza l’heap durante il caricamento delle risorse.
L’implementazione di un archivio dati di file S3 o condiviso può contribuire a risparmiare spazio su disco e aumentare la velocità effettiva di rete nelle implementazioni su larga scala. Per ulteriori informazioni sui pro e i contro dell’utilizzo di un archivio dati condiviso, consulta Guida al dimensionamento di Assets.
La seguente configurazione dell’archivio dati S3 ( org.apache.jackrabbit.oak.plugins.blob.datastore.S3DataStore.cfg
) ha aiutato Adobe a estrarre 12,8 TB di oggetti BLOB binari di grandi dimensioni da un archivio dati di file esistente in un archivio dati S3 presso un sito del 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, in quanto molte aziende dispongono di firewall che rilevano il traffico HTTP, con un conseguente impatto negativo sui caricamenti e sul danneggiamento dei file. Per i caricamenti di file di grandi dimensioni, accertati che gli utenti dispongano di connessioni cablate alla rete perché una rete WiFi si satura rapidamente. Per le linee guida sull'identificazione dei colli di bottiglia della rete, vedere Guida al dimensionamento di Assets. Per valutare le prestazioni della rete analizzando la topologia di rete, vedere Considerazioni sulla rete delle risorse.
La strategia di ottimizzazione della rete dipende principalmente dalla quantità di larghezza di banda disponibile e dal carico Experience Manager dell'istanza. Opzioni di configurazione comuni, inclusi firewall o proxy, possono migliorare le prestazioni della rete. Di seguito sono riportati alcuni punti chiave da considerare:
Se possibile, imposta Aggiorna risorsa DAM del flusso di lavoro a Transient. L'impostazione consente di ridurre in modo significativo i costi generali necessari per l'elaborazione dei flussi di lavoro, poiché in questo caso non è necessario che i flussi di lavoro passino attraverso i normali processi di tracciamento e archiviazione.
Accedi a /miscadmin
nel Experience Manager distribuzione in https://[aem_server]:[port]/miscadmin
.
Espandi Strumenti > Flusso di lavoro > Modelli > dam.
Apri Aggiorna risorsa DAM. Dal pannello strumenti mobile, passare alla Pagina e quindi fare clic su Proprietà pagina.
Seleziona Flusso di lavoro transitorio e fai clic su OK.
Alcune funzioni non supportano flussi di lavoro transitori. Se il Assets La distribuzione richiede queste funzioni, non configurare flussi di lavoro transitori.
Nei casi in cui non è possibile utilizzare flussi di lavoro transitori, esegui regolarmente la rimozione del flusso di lavoro per eliminare quelli archiviati Aggiorna risorsa DAM per garantire che le prestazioni del sistema non si deteriorino.
In genere, l’eliminazione dei flussi di lavoro viene eseguita settimanalmente. Tuttavia, in scenari che richiedono molte risorse, ad esempio durante l’inserimento di risorse su vasta scala, puoi eseguirle con maggiore frequenza.
Per configurare l’eliminazione del flusso di lavoro, aggiungi una nuova configurazione di eliminazione del flusso di lavoro Adobe Granite tramite la console OSGi. Quindi, configura e pianifica il flusso di lavoro come parte della finestra di manutenzione settimanale.
Se la rimozione dura troppo a lungo, si verifica un timeout. È quindi necessario assicurarsi che i processi di rimozione siano completati per evitare situazioni in cui la rimozione dei flussi di lavoro non riesce a completare a causa del numero elevato di flussi di lavoro.
Ad esempio, dopo l’esecuzione di numerosi flussi di lavoro non transitori (che creano nodi di istanze del flusso di lavoro), puoi eseguire Rimozione flusso di lavoro ACS AEM Commons su base ad hoc. Rimuove immediatamente le istanze di flusso di lavoro completate e ridondanti anziché attendere l’esecuzione dello scheduler di eliminazione del flusso di lavoro Adobe Granite.
Per impostazione predefinita, Experience Manager esegue un numero massimo di processi paralleli uguale al numero di processori sul server. Il problema di questa impostazione è che durante i periodi di carico elevato, tutti i processori sono occupati da Aggiorna risorsa DAM rallentamento dei tempi di risposta dell’interfaccia utente e prevenzione Experience Manager dall'esecuzione di altri processi che salvaguardano le prestazioni e la stabilità del server. Come buona prassi, impostare questo valore su metà dei processori disponibili sul server eseguendo le operazioni seguenti:
On Experience Manager Autore, accesso https://[aem_server]:[port]/system/console/slingevent
.
Clic Modifica su ogni coda di flusso di lavoro rilevante per l’implementazione, ad esempio Coda del flusso di lavoro transitorio Granite.
Aggiorna il valore di Numero massimo processi paralleli e fai clic su Salva.
Se si imposta una coda su metà dei processori disponibili, è possibile iniziare da. Tuttavia, potrebbe essere necessario aumentare o diminuire questo numero per raggiungere la velocità effettiva massima e regolarla in base all’ambiente. Esistono code separate per i flussi di lavoro transitori e non transitori e per altri processi, ad esempio i flussi di lavoro esterni. Se più code impostate sul 50% dei processori sono attive contemporaneamente, il sistema può sovraccaricare rapidamente. Le code utilizzate con maggiore frequenza variano notevolmente da un utente all’altro. Di conseguenza, potrebbe essere necessario configurarli accuratamente per la massima efficienza senza sacrificare la stabilità del server.
Il Aggiorna risorsa DAM Il flusso di lavoro contiene una suite completa di passaggi configurati per le attività, ad esempio la generazione di file PTIFF di Dynamic Media e Adobe InDesign Server integrazione. Tuttavia, la maggior parte degli utenti potrebbe non richiedere diversi di questi passaggi. L’Adobe consiglia di creare una copia personalizzata del Aggiorna risorsa DAM modello di flusso di lavoro e rimuovi eventuali passaggi non necessari. In questo caso, aggiorna i moduli di avvio per Aggiorna risorsa DAM per puntare al nuovo modello.
Esecuzione di Aggiorna risorsa DAM un flusso di lavoro intensivo può aumentare notevolmente le dimensioni dell’archivio dati dei file. I risultati di un esperimento condotto da Adobe hanno mostrato che la dimensione dell’archivio dati può aumentare di circa 400 GB se vengono eseguiti circa 5500 flussi di lavoro entro 8 ore.
Si tratta di un aumento temporaneo e l'archivio dati viene ripristinato alle dimensioni originali dopo l'esecuzione dell'attività di raccolta oggetti inattivi dell'archivio dati.
In genere, l’attività di Garbage Collection dell’archivio dati viene eseguita settimanalmente insieme ad altre attività di manutenzione pianificate.
Se lo spazio su disco è limitato ed è in esecuzione Aggiorna risorsa DAM nei flussi di lavoro intensivi, è consigliabile pianificare l’attività di garbage collection con maggiore frequenza.
I clienti utilizzano immagini di varie dimensioni e formati sul proprio sito web o per la distribuzione ai partner aziendali. Poiché ogni rappresentazione si aggiunge all’impronta della risorsa nell’archivio, l’Adobe consiglia di utilizzare questa funzione in modo giudizioso. Per ridurre la quantità di risorse necessarie per elaborare e archiviare le immagini, è possibile generarle in fase di esecuzione anziché come rappresentazioni durante l’acquisizione.
Molti clienti Sites implementano un servlet per le immagini che ridimensiona e ritaglia le immagini al momento in cui vengono richieste, imponendo un carico aggiuntivo all’istanza Publish. Tuttavia, se queste immagini possono essere memorizzate nella cache, il problema può essere attenuato.
Un approccio alternativo consiste nell'utilizzare la tecnologia Dynamic Media per gestire completamente la manipolazione delle immagini. Inoltre, puoi implementare Brand Portal che non solo si assume le responsabilità di generazione delle rappresentazioni dal Experience Manager ma anche l'intero livello di pubblicazione.
Se si personalizza Aggiorna risorsa DAM per generare le rappresentazioni utilizzando ImageMagick, l'Adobe consiglia di modificare policy.xml
file 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 di 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, impostare il percorso della cartella temporanea di ImageMagick in configure.xml
file (o impostando la variabile di ambiente MAGICK_TEMPORARY_PATH
) a una partizione del disco che disponga di spazio sufficiente e IOPS.
Se ImageMagick utilizza tutto lo spazio disponibile su disco, un errore di configurazione può rendere il server instabile. Le modifiche alla policy necessarie per elaborare file di grandi dimensioni tramite ImageMagick possono influire sul Experience Manager prestazioni. Per ulteriori informazioni, consulta installare e configurare ImageMagick.
ImageMagick policy.xml
e configure.xml
I file sono disponibili all'indirizzo /usr/lib64/ImageMagick-*/config/
invece di /etc/ImageMagick/
Vedere Documentazione di ImageMagick per il percorso dei file di configurazione.
Se sta usando Experience Manager in Adobe Managed Services (AMS), contatta l’Assistenza clienti di Adobe se intendi elaborare molti file PSD o PSB di grandi dimensioni. Collabora con il rappresentante dell’Assistenza clienti di Adobe per implementare queste best practice per la tua implementazione di AMS e scegliere i migliori strumenti e modelli possibili per i formati proprietari di Adobe. Experience Manager potrebbe non elaborare file PSB ad altissima risoluzione con una risoluzione superiore a 30000x23000 pixel.
Il writeback dell'XMP aggiorna la risorsa originale ogni volta che i metadati vengono modificati in Experience Manager, che determina quanto segue:
I risultati elencati consumano risorse considerevoli. Pertanto, Adobe consiglia di disabilitare il writeback dell’XMP se non è necessario. Per ulteriori informazioni, consulta Write-back XMP.
Se si seleziona il flag Esegui flussi di lavoro, l’importazione di una grande quantità di metadati può causare un’attività di writeback XMP che richiede molte risorse. Pianifica tale importazione durante l’utilizzo snello del server in modo che le prestazioni per altri utenti non siano influenzate.
Quando replichi le risorse in un numero elevato di istanze di pubblicazione, ad esempio in un’implementazione Sites, l’Adobe consiglia di utilizzare la replica a catena. In questo caso, l’istanza di authoring viene replicata in una singola istanza di pubblicazione che a sua volta viene replicata nelle altre istanze di pubblicazione, liberando l’istanza di authoring.
L’Adobe non consiglia l’attivazione automatica delle risorse. Tuttavia, se necessario, Adobe consiglia di eseguire questo passaggio come passaggio finale in un flusso di lavoro, in genere Aggiorna risorsa DAM.
Installa Service Pack più recenti e gli hotfix relativi alle prestazioni, in quanto spesso includono aggiornamenti agli indici di sistema. Consulta suggerimenti per l'ottimizzazione delle prestazioni per alcune ottimizzazioni dell’indice.
Creare indici personalizzati per le query eseguite spesso. Per ulteriori informazioni, consulta metodologia per l’analisi delle query lente e creazione di indici personalizzati. Per ulteriori informazioni sulle best practice per query e indici, consulta Best practice per query e indicizzazione.
È possibile eseguire alcune ottimizzazioni sulle configurazioni dell’indice Oak per migliorare Experience Manager Assets prestazioni. Aggiorna le configurazioni dell’indice per migliorare il tempo di reindicizzazione:
/crx/de/index.jsp
e accedere come utente amministrativo./oak:index/lucene
.String[]
proprietà excludedPaths
con valori /var
, /etc/workflow/instances
, e /etc/replication
./oak:index/damAssetLucene
. Aggiungi un String[]
proprietà includedPaths
con valore /content/dam
. Salva le modifiche.Se gli utenti non devono eseguire ricerche full-text delle risorse, ad esempio cercare il testo nei documenti PDF, disattivalo. È possibile migliorare le prestazioni dell'indice disabilitando l'indicizzazione full-text. Per disattivare Apache Lucene estrazione del testo, segui questi passaggi:
Quando si creano query che generano set di risultati di grandi dimensioni, utilizzare guessTotal
per evitare l'utilizzo intensivo della memoria durante l'esecuzione.
Esistono due importanti problemi noti relativi ai file di grandi dimensioni in Experience Manager. Quando le dimensioni dei file superano i 2 GB, la sincronizzazione in standby a freddo può esaurire la memoria. In alcuni casi, impedisce l'esecuzione della sincronizzazione in standby. In altri casi, provoca 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 archivio dati S3 condiviso, potrebbe essere necessario un po’ di tempo per la completa persistenza del file dalla cache al file system. Di conseguenza, quando si utilizza la replica senza binario, è possibile che i dati binari non siano persistiti prima del completamento della replica. Questa situazione può causare problemi, soprattutto se la disponibilità dei dati è importante.
Per ogni Experience Manager distribuzione, 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 relativi alle prestazioni di rete del cliente, eseguire le operazioni seguenti:
Per ridurre al minimo la latenza e ottenere un throughput elevato grazie a un utilizzo efficiente della CPU e alla condivisione del carico, monitorare le prestazioni delle Experience Manager distribuzione regolare. In particolare: