Questa pagina fornisce linee guida generali su come ottimizzare le prestazioni della distribuzione di AEM. Se non hai ancora AEM, passa alle pagine seguenti prima di iniziare a leggere le linee guida sulle prestazioni:
Di seguito sono illustrate le opzioni di distribuzione disponibili per AEM (scorri per visualizzare tutte le opzioni):
AEM Prodotto |
Topologia |
Sistema operativo |
Server applicazioni |
JRE |
Sicurezza |
Micro Kernel |
Datastore |
Indicizzazione |
Server web |
Browser |
Marketing Cloud |
Sites |
Non HA |
Windows |
CQSE |
Oracle |
LDAP |
Tar |
Segmento |
Proprietà |
Apache |
Bordo |
Target |
Assets |
Publish-HA |
Solaris |
WebLogic |
IBM |
SAML |
MongoDB |
File |
Lucene |
IIS |
IE |
Analytics |
Communities |
Autore-CS |
Cappello rosso |
WebSphere |
HP |
Oauth |
RDB/Oracle |
S3/Azure |
Solr |
iPlanet |
FireFox |
Campaign |
Forms |
Author-Offload |
HP-UX |
Tomcat |
|
|
RDB/DB2 |
MongoDB |
|
|
Chrome |
Social network |
Mobile |
Autore-cluster |
IBM AIX |
JBoss |
|
|
RDB/MySQL |
RDBMS |
|
|
Safari |
Pubblico |
Sito multiplo |
ASRP |
SOSPENDERE |
|
|
|
RDB/SQLServer |
|
|
|
|
Risorse |
Commerce |
MSRP |
Sistema operativo Apple |
|
|
|
|
|
|
|
|
Attivazione |
Dynamic Media |
JSRP |
|
|
|
|
|
|
|
|
|
Mobile |
Brand Portal |
J2E |
|
|
|
|
|
|
|
|
|
|
AoD |
|
|
|
|
|
|
|
|
|
|
|
LiveFyre |
|
|
|
|
|
|
|
|
|
|
|
Screens |
|
|
|
|
|
|
|
|
|
|
|
Sicurezza dei documenti |
|
|
|
|
|
|
|
|
|
|
|
Mgt del processo |
|
|
|
|
|
|
|
|
|
|
|
App desktop |
|
|
|
|
|
|
|
|
|
|
|
Le linee guida sulle prestazioni si applicano principalmente ad AEM Sites.
Utilizza le linee guida sulle prestazioni nelle situazioni seguenti:
Questo capitolo offre una panoramica generale dell'architettura AEM e dei suoi componenti più importanti. Fornisce inoltre linee guida di sviluppo e descrive gli scenari di test utilizzati nei test di benchmark TarMK e MongoMK.
La piattaforma AEM è costituita dai seguenti componenti:
Per ulteriori informazioni sulla piattaforma AEM, consulta AEM.
Sono disponibili tre importanti elementi di base per una distribuzione AEM. L’ Istanza autore viene utilizzata da autori di contenuti, editor e approvatori per creare e rivedere i contenuti. Quando il contenuto viene approvato, viene pubblicato in un secondo tipo di istanza denominato Istanza di pubblicazione da cui gli utenti finali vi accedono. Il terzo blocco predefinito è il Dispatcher, un modulo che gestisce la memorizzazione in cache e il filtro URL e che viene installato sul server web. Per ulteriori informazioni sull'architettura AEM, vedere Scenari di distribuzione tipici.
I micro kernel agiscono come gestori di persistenza in AEM. Esistono tre tipi di Micro Kernel utilizzati con AEM: TarMK, MongoDB e database relazionale (con supporto limitato). La scelta di un MicroKernel adatto alle tue esigenze dipende dallo scopo della tua istanza e dal tipo di implementazione che prevedi di effettuare. Per ulteriori informazioni sui Micro Kernel, vedere la pagina Implementazioni consigliate.
In AEM, i dati binari possono essere memorizzati indipendentemente dai nodi di contenuto. La posizione in cui vengono memorizzati i dati binari è indicata come Archivio dati, mentre la posizione dei nodi e delle proprietà di contenuto è denominata Archivio nodi.
Adobe consiglia a TarMK di essere la tecnologia di persistenza predefinita utilizzata dai clienti sia per le istanze di authoring AEM che per quelle di pubblicazione.
Supporto limitato per il Micro Kernel del database relazionale. Contatta l' Adobe Customer Care prima di utilizzare questo tipo di Micro Kernel.
Quando si gestisce un numero elevato di binari, si consiglia di utilizzare un archivio dati esterno al posto degli archivi nodi predefiniti per massimizzare le prestazioni. Ad esempio, se il progetto richiede un numero elevato di risorse multimediali, memorizzarle nel file o nell’archivio dati di Azure/S3 renderà l’accesso più rapido rispetto all’archiviazione diretta all’interno di un MongoDB.
Per ulteriori dettagli sulle opzioni di configurazione disponibili, consulta Configurazione del nodo e degli archivi dati.
Adobe consiglia di scegliere l’opzione di distribuire AEM su Azure o Amazon Web Services (AWS) utilizzando Adobe Managed Services, in cui i clienti potranno beneficiare di un team che dispone dell’esperienza e delle competenze necessarie per distribuire e operare AEM in questi ambienti cloud computing. Consulta la nostra documentazione aggiuntiva su Adobe Managed Services.
Per raccomandazioni su come distribuire AEM su Azure o AWS, al di fuori di Adobe Managed Services, si consiglia vivamente di lavorare direttamente con il provider cloud o con uno dei nostri partner per supportare la distribuzione di AEM nell’ambiente cloud desiderato. Il fornitore o partner cloud selezionato è responsabile delle specifiche di dimensionamento, della progettazione e dell'implementazione dell'architettura che supporterà per soddisfare i requisiti specifici di prestazioni, carico, scalabilità e sicurezza.
Per ulteriori dettagli, consulta anche la pagina requisiti tecnici .
In questa sezione sono elencati i provider di indice personalizzati utilizzati con AEM. Per ulteriori informazioni sull'indicizzazione, consulta Query e indicizzazione Oak.
Per la maggior parte delle distribuzioni, Adobe consiglia di utilizzare l'Indice Lucene. Utilizza Solr solo per la scalabilità in implementazioni specializzate e complesse.
Sviluppare per AEM mirare a prestazioni e scalabilità. Di seguito sono riportate alcune best practice che puoi seguire:
ANNULLA
NON
Non utilizzare direttamente le API JCR, se puoi
Non modificare /libs, ma utilizzare le sovrapposizioni
Non utilizzare le query laddove possibile
Non utilizzare i binding Sling per ottenere i servizi OSGi nel codice Java, ma utilizza piuttosto:
Per ulteriori dettagli sullo sviluppo di in AEM, leggi Sviluppo - Nozioni di base. Per ulteriori best practice, consulta Best practice per lo sviluppo.
Tutti i test di riferimento visualizzati in questa pagina sono stati eseguiti in un ambiente di laboratorio.
Gli scenari di test descritti di seguito sono utilizzati per le sezioni di riferimento dei capitoli TarMK, MongoMk e TarMK rispetto a MongoMk. Per vedere quale scenario è stato utilizzato per un particolare test di benchmark, leggi il campo Scenario dalla tabella Specifiche tecniche .
Scenario di prodotto singolo
AEM Assets:
Scenario di prodotti misti
AEM Sites + Risorse:
Scenario d'uso verticale
File multimediali:
Questo capitolo fornisce linee guida generali sulle prestazioni per TarMK che specificano i requisiti minimi di architettura e la configurazione delle impostazioni. Sono inoltre previste prove di riferimento per ulteriori chiarimenti.
Adobe consiglia a TarMK di essere la tecnologia di persistenza predefinita utilizzata dai clienti in tutti gli scenari di implementazione, sia per le istanze di authoring AEM che per quelle di pubblicazione.
Per ulteriori informazioni su TarMK, consulta Scenari di distribuzione e Tar Storage.
Le linee guida di architettura minima presentate di seguito sono per gli ambienti di produzione e i siti a traffico elevato. Si tratta di non le specifiche minime necessarie per eseguire AEM.
Per stabilire buone prestazioni quando si utilizza TarMK, è necessario partire dalla seguente architettura:
Di seguito sono illustrate le linee guida dell’architettura per AEM siti e AEM Assets.
La replica senza binario deve essere attivata ON se il file Datastore è condiviso.
Linee guida sull’architettura Tar per AEM Sites
Linee guida sull’architettura Tar per AEM Assets
Per ottenere prestazioni ottimali, segui le linee guida sulle impostazioni illustrate di seguito. Per istruzioni su come modificare le impostazioni, consulta questa pagina.
Impostazione | Parametro | Valore | Descrizione |
Code di lavoro Sling | queue.maxparallel |
Imposta il valore a metà del numero di core della CPU. | Per impostazione predefinita, il numero di thread simultanei per coda di lavoro è uguale al numero di core della CPU. |
Coda flusso di lavoro transitorio di Granite | Max Parallel |
Imposta il valore a metà del numero di core della CPU | |
Parametri JVM |
|
500000 100000 250000 Vero |
Aggiungi questi parametri JVM nello script di avvio AEM per evitare che le query espansive sovraccarichino i sistemi. |
Configurazione dell'indice Lucene |
|
Abilitato Abilitato Abilitato |
Per ulteriori dettagli sui parametri disponibili, consulta questa pagina. |
Archivio dati = Datastore S3 |
|
1048576 (1 MB) o inferiore 2-10% della dimensione massima dell'heap |
Vedere anche Configurazioni archivio dati. |
Flusso di lavoro Aggiorna risorsa DAM | Transient Workflow |
spuntato | Questo flusso di lavoro gestisce l'aggiornamento delle risorse. |
Writeback di metadati DAM | Transient Workflow |
spuntato | Questo flusso di lavoro gestisce XMP write-back del binario originale e imposta l'ultima data modificata in JCR. |
Le prove di riferimento sono state eseguite sulle seguenti specifiche:
Nodo autore | |
---|---|
Server | Hardware a metallo nudo (HP) |
Sistema operativo | RedHat Linux |
CPU/core | CPU Intel® Xeon® E5-2407 @2,40 GHz, 8 core |
RAM | 32 GB |
Disco | Magnetico |
Java | Oracle JRE versione 8 |
Heap JVM | 16 GB |
Prodotto | AEM 6.2 |
Nodestore | TarMK |
Datastore | File DS |
Scenario | Prodotto singolo: Risorse / 30 thread simultanei |
I numeri riportati di seguito sono stati normalizzati a 1 come linea di base e non sono i numeri effettivi della velocità effettiva.
La ragione principale per scegliere il backend di persistenza MongoMK su TarMK è la scalabilità orizzontale delle istanze. Ciò significa che due o più istanze di authoring attive vengono sempre in esecuzione e utilizzano MongoDB come sistema di storage di persistenza. La necessità di eseguire più di un'istanza dell'autore deriva generalmente dal fatto che la CPU e la capacità di memoria di un singolo server, che supportano tutte le attività di authoring simultanee, non sono più sostenibili.
Per ulteriori informazioni su TarMK, consulta Scenari di distribuzione e Mongo Storage.
Per stabilire buone prestazioni quando si utilizza MongoMK, è necessario partire dalla seguente architettura:
Negli ambienti di produzione, MongoDB verrà sempre utilizzato come set di repliche con un database primario e due secondari. Le letture e le scritture vanno al primo e le letture possono andare ai secondi. Se lo spazio di archiviazione non è disponibile, è possibile sostituire uno dei secondari con un arbitro, ma i set di repliche MongoDB devono sempre essere composti da un numero dispari di istanze.
La replica senza binario deve essere attivata ON se il file Datastore è condiviso.
Per ottenere prestazioni ottimali, segui le linee guida sulle impostazioni illustrate di seguito. Per istruzioni su come modificare le impostazioni, consulta questa pagina.
Impostazione | Parametro | Valore (predefinito) | Descrizione |
Code di lavoro Sling | queue.maxparallel |
Imposta il valore a metà del numero di core della CPU. | Per impostazione predefinita, il numero di thread simultanei per coda di lavoro è uguale al numero di core della CPU. |
Coda flusso di lavoro transitorio di Granite | Max Parallel |
Imposta il valore a metà del numero di core della CPU. | |
Parametri JVM |
|
500000 100000 250000 Vero 60000 |
Aggiungi questi parametri JVM nello script di avvio AEM per evitare che le query espansive sovraccarichino i sistemi. |
Configurazione dell'indice Lucene |
|
Abilitato Abilitato Abilitato |
Per ulteriori dettagli sui parametri disponibili, consulta questa pagina. |
Archivio dati = Datastore S3 |
|
1048576 (1 MB) o inferiore 2-10% della dimensione massima dell'heap |
Vedere anche Configurazioni archivio dati. |
DocumentNodeStoreService |
|
2048 35 (25) 20 (10) 30 (3) 4 ./cache,size=2048,binary=0,-compact,-compress |
La dimensione predefinita della cache è impostata su 256 MB. Ha un impatto sul tempo necessario per eseguire l’annullamento della validità della cache. |
osservazione della quercia |
|
min & max = 20 50000 |
Le prove di riferimento sono state eseguite sulle seguenti specifiche:
Nodo autore | Nodo MongoDB | |
---|---|---|
Server | Hardware a metallo nudo (HP) | Hardware a metallo nudo (HP) |
Sistema operativo | RedHat Linux | RedHat Linux |
CPU/core | CPU Intel® Xeon® E5-2407 @2,40 GHz, 8 core | CPU Intel® Xeon® E5-2407 @2,40 GHz, 8 core |
RAM | 32 GB | 32 GB |
Disco | Magnetico - >1k IOPS | Magnetico - >1k IOPS |
Java | Oracle JRE versione 8 | N/D |
Heap JVM | 16 GB | N/D |
Prodotto | AEM 6.2 | MongoDB 3.2 WiredTiger |
Nodestore | MongoMK | N/D |
Datastore | File DS | N/D |
Scenario | Prodotto singolo: Risorse / 30 thread simultanei | Prodotto singolo: Risorse / 30 thread simultanei |
I numeri riportati di seguito sono stati normalizzati a 1 come linea di base e non sono i numeri effettivi della velocità effettiva.
La regola di base di cui tenere conto nella scelta tra i due è che TarMK è progettato per le prestazioni, mentre MongoMK è utilizzato per la scalabilità. Adobe consiglia a TarMK di essere la tecnologia di persistenza predefinita utilizzata dai clienti in tutti gli scenari di implementazione, sia per le istanze di authoring AEM che per quelle di pubblicazione.
La ragione principale per scegliere il backend di persistenza MongoMK su TarMK è la scalabilità orizzontale delle istanze. Ciò significa che due o più istanze di authoring attive vengono sempre in esecuzione e utilizzano MongoDB come sistema di storage di persistenza. La necessità di eseguire più di un’istanza di authoring generalmente deriva dal fatto che la CPU e la capacità di memoria di un singolo server, che supportano tutte le attività di authoring simultanee, non sono più sostenibili.
Per ulteriori dettagli su TarMK e MongoMK, consulta Implementazioni consigliate.
Vantaggi di TarMK
Criteri per la scelta di MongoMK
I numeri riportati di seguito sono stati normalizzati a 1 come linea di base e non sono numeri effettivi del throughput.
Nodo OAK autore | Nodo MongoDB | ||
Server | Hardware a metallo nudo (HP) | Hardware a metallo nudo (HP) | |
Sistema operativo | RedHat Linux | RedHat Linux | |
CPU/core | CPU Intel(R) Xeon(R) E5-2407 @2,40 GHz, 8 core | CPU Intel(R) Xeon(R) E5-2407 @2,40 GHz, 8 core | |
RAM | 32 GB | 32 GB | |
Disco | Magnetico - >1k IOPS | Magnetico - >1k IOPS | |
Java | Oracle JRE versione 8 | N/D | |
Heap JVM da 16 GB | 16 GB | N/D | |
Prodotto | AEM 6.2 | MongoDB 3.2 WiredTiger | |
Nodestore | TarMK o MongoMK | N/D | |
Datastore | File DS | N/D | |
Scenario |
|
Per abilitare lo stesso numero di autori con MongoDB come con un sistema TarMK è necessario un cluster con due nodi AEM. Un cluster MongoDB a quattro nodi può gestire 1,8 volte il numero di autori rispetto a un'istanza TarMK. Un cluster MongoDB a otto nodi può gestire 2,3 volte il numero di autori rispetto a un'istanza TarMK.
Nodo TarMK autore | Nodo MongoMK autore | Nodo MongoDB | |
Server | AWS c3.8xlarge | AWS c3.8xlarge | AWS c3.8xlarge |
Sistema operativo | RedHat Linux | RedHat Linux | RedHat Linux |
CPU/core | 32 | 32 | 32 |
RAM | 60 GB | 60 GB | 60 GB |
Disco | SSD - 10.000 IOPS | SSD - 10.000 IOPS | SSD - 10.000 IOPS |
Java | Oracle JRE versione 8 | Oracle JRE versione 8 |
N/D |
Heap JVM da 16 GB | 30 GB | 30 GB | N/D |
Prodotto | AEM 6.2 | AEM 6.2 | MongoDB 3.2 WiredTiger |
Nodestore | TarMK | MongoMK | N/D |
Datastore | File DS | File DS |
N/D |
Scenario |
|
Le linee guida presentate in questa pagina possono essere riassunte come segue:
TarMK con File Datastoreè l'architettura consigliata per la maggior parte dei clienti:
MongoMK con File Datastoreè l'architettura consigliata per la scalabilità orizzontale del livello di authoring:
I nodi devono essere memorizzati sul disco locale, non su uno storage NAS (Network Attached Storage).
Quando si utilizza Amazon S3:
L'indice personalizzato deve essere creato in aggiunta all'indice preconfigurato in base alle ricerche più comuni
La personalizzazione del flusso di lavoro può migliorare notevolmente le prestazioni, ad esempio rimuovendo il passaggio video nel flusso di lavoro "Aggiorna risorsa", disabilitando gli ascoltatori che non vengono utilizzati, ecc.
Per ulteriori dettagli, consulta anche la pagina Implementazioni consigliate .