Deze pagina biedt algemene richtlijnen voor het optimaliseren van de prestaties van uw AEM-implementatie. Als u nog niet eerder hebt AEM, bekijkt u eerst de volgende pagina's voordat u de prestatierichtlijnen gaat lezen:
Hieronder ziet u de implementatieopties die beschikbaar zijn voor AEM (schuiven om alle opties weer te geven):
AEM Product |
Topologie |
Besturingssysteem |
Toepassingsserver |
JRE |
Beveiliging |
Micro Kernel |
Datastore |
Indexeren |
Webserver |
Browser |
Experience Cloud |
Sites |
Niet-HA |
Windows |
CQSE |
Oracle |
LDAP |
Tar |
Segment |
Eigenschap |
Apache |
Rand |
Doel |
Assets |
Publiceren-HA |
Solaris™ |
WebLogic |
IBM® |
SAML |
MongoDB |
Bestand |
Lucene |
IIS |
IE |
Analyse |
Gemeenschappen |
Auteur-CS |
Rode hoed® |
WebSphere® |
HP |
Oauth |
RDB/Oracle |
S3/Azure |
Solr |
iPlanet |
FireFox |
Campagne |
Forms |
Auteur-offload |
HP-UX |
Tomcat |
|
|
RDB/DB2 |
MongoDB |
|
|
Chroom |
Sociaal |
Mobiel |
Auteur-cluster |
IBM® AIX® |
JBoss® |
|
|
RDB/MySQL |
RDBMS |
|
|
Safari |
Publiek |
Meerdere sites |
ASRP |
SUSE® |
|
|
|
RDB/SQLServer |
|
|
|
|
Assets |
Handel |
MSRP |
Apple OS |
|
|
|
|
|
|
|
|
Activering |
Dynamic Media |
JSRP |
|
|
|
|
|
|
|
|
|
Mobiel |
Brand Portal |
J2E |
|
|
|
|
|
|
|
|
|
|
AoD |
|
|
|
|
|
|
|
|
|
|
|
LiveFyre |
|
|
|
|
|
|
|
|
|
|
|
Schermen |
|
|
|
|
|
|
|
|
|
|
|
Documentbeveiliging |
|
|
|
|
|
|
|
|
|
|
|
Procesbeheer |
|
|
|
|
|
|
|
|
|
|
|
bureaubladtoepassing |
|
|
|
|
|
|
|
|
|
|
|
De prestatierichtsnoeren zijn voornamelijk van toepassing op AEM Sites.
Gebruik de prestatierichtlijnen in de volgende situaties:
In dit hoofdstuk wordt een algemeen overzicht gegeven van de AEM architectuur en de belangrijkste onderdelen ervan. Zij bevat ook ontwikkelingsrichtsnoeren en beschrijft de testscenario's die in de TarMK- en MongoMK-benchmarktests worden gebruikt.
Het AEM platform bestaat uit de volgende onderdelen:
Ga voor meer informatie over het AEM Wat is AEM.
Er zijn drie belangrijke bouwstenen aan een AEM plaatsing. De Instantie van auteur wordt gebruikt door auteurs van inhoud, editors en fiatteurs om inhoud te maken en te reviseren. Wanneer de inhoud is goedgekeurd, wordt deze gepubliceerd naar een tweede instantietype met de naam Exemplaar publiceren vanaf waar de eindgebruiker toegang tot het apparaat heeft. De derde bouwsteen is de Dispatcher Dit is een module die het in cache plaatsen en URL filtreren behandelt en op de webserver geïnstalleerd is. Voor meer informatie over de AEM architectuur raadpleegt u Typische implementatiescenario's.
Micro Kernels fungeert als persistentiemanagers in AEM. Er worden drie soorten Micro Kernels gebruikt met AEM: TarMK, MongoDB, en Relationele Gegevensbestand (onder beperkte steun). Het kiezen van één om uw behoefte te passen hangt van het doel van uw instantie en het plaatsingstype af u overweegt. Voor meer informatie over Micro Kernels raadpleegt u de Aanbevolen implementaties pagina.
In AEM kunnen binaire gegevens onafhankelijk van inhoudsknooppunten worden opgeslagen. De locatie waar de binaire gegevens worden opgeslagen, wordt aangeduid als de locatie Gegevensopslag, terwijl de locatie van de inhoudknooppunten en -eigenschappen de Node Store.
Adobe raadt TarMK aan de standaardpersistentietechnologie te zijn die door klanten voor zowel de auteur AEM als de Publish instanties wordt gebruikt.
De relationele Database Micro Kernel wordt beperkt ondersteund. Contact Adobe Klantenservice voordat u dit type Micro Kernel gebruikt.
Wanneer het behandelen van groot aantal binaire getallen, adviseert men dat u een externe gegevensopslag in plaats van de standaardknoopopslag gebruikt om prestaties te maximaliseren. Als uw project bijvoorbeeld veel media-elementen vereist, kunt u deze sneller openen dan ze rechtstreeks in een MongoDB opslaan als de File of Azure/S3 Data Store.
Voor meer informatie over de beschikbare configuratieopties raadpleegt u Knooppunt en gegevensopslag configureren.
Adobe raadt u aan de optie te kiezen voor het implementeren van AEM op Azure of Amazon Web Services (AWS) met Adobe Managed Services. Klanten profiteren van een team dat de ervaring en vaardigheden heeft om AEM in deze cloud computing-omgevingen te implementeren en te gebruiken. Zie aanvullende documentatie over Adobe Managed Services.
Voor aanbevelingen voor de implementatie van AEM op Azure of AWS, buiten Adobe Managed Services, raadt Adobe u aan rechtstreeks met de cloud provider te werken. Of werk met een van de Adobe die de implementatie van AEM in de cloud-omgeving van uw keuze ondersteunen. De geselecteerde wolkenleverancier of partner is verantwoordelijk voor de rangschikkingsspecificaties, het ontwerp, en de implementatie van de architectuur zij steunen om aan uw specifieke prestaties, lading, scalability, en veiligheidseisen te voldoen.
Zie ook de technische voorschriften pagina.
In deze sectie worden de aangepaste indexproviders vermeld die met AEM worden gebruikt. Zie voor meer informatie over indexering Oak-query's en indexering.
Voor de meeste plaatsingen, adviseert Adobe het gebruiken van de Index van Lucene. Gebruik Solr alleen voor schaalbaarheid in gespecialiseerde en complexe implementaties.
Ontwikkelen voor AEM gericht op prestaties en schaalbaarheid. Hier volgt een overzicht van aanbevolen procedures:
DO
NIET
Gebruik niet direct JCR-API's, als dat mogelijk is
Wijzig geen /libs, maar gebruik overlays
Gebruik waar mogelijk geen query's
Gebruik geen Sling Bindings om de diensten OSGi in code te krijgen Java™, maar eerder gebruik:
Lees voor meer informatie over het ontwikkelen op AEM Ontwikkelen - De basisbeginselen. Zie voor meer tips en trucs Aanbevolen werkwijzen voor ontwikkeling.
Alle benchmarktests die op deze pagina worden weergegeven, zijn uitgevoerd in een laboratoriumomgeving.
De hieronder beschreven testscenario's worden gebruikt voor de benchmarksecties van de hoofdstukken TarMK, MongoMk en TarMK vs MongoMk. Om te zien welk scenario voor een bepaalde benchmarktest werd gebruikt, lees het gebied van het Scenario van Technische specificaties tabel.
Scenario één product
AEM Assets:
Productscenario mixen
AEM Sites + Middelen:
Het verticale Scenario van het Geval van het Gebruik
Media:
Read Article Page (27.4%), Read Page (10.9%), Create Session (2.6%), Activate Content Page (1.7%), Create Content Page (0.4%), Create Paragraph (4.3%), Edit Paragraph (0.9%), Image Component (0.9%), Browse Assets (20%), Read Asset Metadata (8.5%), Download Asset (4.2%), Search Asset (0.2%), Update Asset Metadata (2.4%), Upload Asset (1.2%), Browse Project (4.9%), Read Project (6.6%), Project Add Asset (1.2%), Project Add Site (1.2%), Create Project (0.1%), Author Search (0.4%)
Dit hoofdstuk geeft algemene prestatiesrichtlijnen voor TarMK die de minimumarchitectuurvereisten en de montageconfiguratie specificeren. Er wordt ook voorzien in benchmarktests voor verdere verduidelijking.
Adobe raadt TarMK aan om de standaardpersistentietechnologie te zijn die door klanten in alle plaatsingsscenario's, voor zowel auteur AEM als Publish instanties wordt gebruikt.
Voor meer informatie over TarMK, zie Implementatiescenario's en Teeropslag.
De hieronder voorgestelde minimale architectuurrichtlijnen zijn voor productiemilieu's en hoge verkeersplaatsen. Deze richtsnoeren zijn niet de minimumspecificaties om AEM uit te voeren.
Om goede prestaties te vestigen wanneer het gebruiken van TarMK, zou u van de volgende architectuur moeten beginnen:
Hieronder ziet u de architectuurrichtlijnen voor AEM sites en AEM Assets.
Binair-less replicatie zou moeten worden gedraaid ON als de datastore van het Dossier wordt gedeeld.
Richtlijnen voor de Tar Architecture voor AEM Sites
Richtlijnen voor de Tar Architecture voor AEM Assets
Voor goede prestaties, zou u de montages hieronder voorgestelde richtlijnen moeten volgen. Voor instructies over het wijzigen van de instellingen, zie deze pagina.
Instelling | Parameter | Waarde | Beschrijving |
Taakwachtrijen voor verkopen | queue.maxparallel |
Stel waarde in op de helft van het aantal CPU-cores. | Standaard is het aantal gelijktijdige threads per taakwachtrij gelijk aan het aantal CPU-cores. |
Graniet Transient Workflow Queue | Max Parallel |
Stel waarde in op de helft van het aantal CPU-cores | |
JVM-parameters |
|
500000 100000 250000 Waar |
Om expansieve vragen te verhinderen de systemen te overbelasten, voeg deze parameters JVM in het AEM beginmanuscript toe. |
Lucene-indexconfiguratie |
|
Ingeschakeld Ingeschakeld Ingeschakeld |
Zie voor meer informatie over de beschikbare parameters deze pagina. |
Data Store = S3 Datastore |
|
1048576 (1 MB) of kleiner 2-10% van maximale heapgrootte |
Zie ook Configuraties van gegevensopslag. |
Workflow voor DAM-update-middelen | Transient Workflow |
ingeschakeld | Deze workflow beheert de update van elementen. |
DAM MetaData Writeback | Transient Workflow |
ingeschakeld | Deze workflow beheert XMP terugschrijven naar het oorspronkelijke binaire getal en stelt de datum van laatste wijziging in JCR in. |
De benchmarktests werden uitgevoerd op de volgende specificaties:
Auteursknooppunt | |
---|---|
Server | Hardware voor onbewerkte metalen (HP) |
Besturingssysteem | Red Hat® Linux® |
CPU/kernen | Intel® Xeon® CPU E5-2407 @2,40 GHz, 8 kernen |
RAM | 32 GB |
Schijf | Magnetisch |
Java™ | Oracle JRE versie 8 |
JVM Heap | 16 GB |
Product | AEM 6,2 |
Nodestore | TarMK |
Datastore | Bestand DS |
Scenario | Enkel product: Elementen / 30 gelijktijdige threads |
De hieronder vermelde aantallen zijn genormaliseerd aan 1 als basislijn en zijn niet de daadwerkelijke productienummers.
De primaire reden voor het kiezen van de MongoMK persistence backend over TarMK is de instanties horizontaal te schalen. Deze mogelijkheid houdt in dat twee of meer actieve auteur-instanties altijd worden uitgevoerd en dat MongoDB wordt gebruikt als het opslagsysteem voor persistentie. De noodzaak om meer dan één auteurinstantie in werking te stellen vloeit over het algemeen voort uit het feit dat de cpu en geheugencapaciteit van één enkele server, die alle gezamenlijke auteursactiviteiten steunt, niet meer duurzaam is.
Voor meer informatie over TarMK, zie Implementatiescenario's en Mongo-opslag.
Om goede prestaties te vestigen wanneer het gebruiken van MongoMK, zou u van de volgende architectuur moeten beginnen:
In productieomgevingen wordt MongoDB altijd gebruikt als een replicaset met een primaire en twee secundaire server. Lezen en schrijven gaan naar de primaire website en lezen kan naar de secundaire medewerkers gaan. Als opslag niet beschikbaar is, kan een van de secundaire bestanden worden vervangen door een arbiter, maar MongoDB-replicasets moeten altijd uit een oneven aantal instanties bestaan.
Binair-less replicatie zou moeten worden gedraaid ON als de datastore van het Dossier wordt gedeeld.
Voor goede prestaties, zou u de montages hieronder voorgestelde richtlijnen moeten volgen. Voor instructies over het wijzigen van de instellingen, zie deze pagina.
Instelling | Parameter | Waarde (standaardwaarde) | Beschrijving |
Taakwachtrijen voor verkopen | queue.maxparallel |
Stel waarde in op de helft van het aantal CPU-cores. | Standaard is het aantal gelijktijdige threads per taakwachtrij gelijk aan het aantal CPU-cores. |
Graniet Transient Workflow Queue | Max Parallel |
Stel waarde in op de helft van het aantal CPU-cores. | |
JVM-parameters |
|
500000 100000 250000 Waar 60000 |
Om expansieve vragen te verhinderen de systemen te overbelasten, voeg deze parameters JVM in het AEM beginmanuscript toe. |
Lucene-indexconfiguratie |
|
Ingeschakeld Ingeschakeld Ingeschakeld |
Zie voor meer informatie over de beschikbare parameters deze pagina. |
Data Store = S3 Datastore |
|
1048576 (1 MB) of kleiner 2-10% van maximale heapgrootte |
Zie ook Configuraties van gegevensopslag. |
DocumentNodeStoreService |
|
2048 35 (25) 20 (10) 30 (5) 10 (3) 4 (4) ./cache,size=2048,binary=0,-compact,-compress |
De standaardgrootte van de cache is ingesteld op 256 MB. Heeft invloed op de tijd die nodig is om cachevalidatie uit te voeren. |
eik-waarneming |
|
min & max = 20 50000 |
De benchmarktests werden uitgevoerd op de volgende specificaties:
Auteur-knooppunt | MongoDB-knooppunt | |
---|---|---|
Server | Hardware voor onbewerkte metalen (HP) | Hardware voor onbewerkte metalen (HP) |
Besturingssysteem | Red Hat® Linux® | Red Hat® Linux® |
CPU/kernen | Intel® Xeon® CPU E5-2407 @2,40 GHz, 8 kernen | Intel® Xeon® CPU E5-2407 @2,40 GHz, 8 kernen |
RAM | 32 GB | 32 GB |
Schijf | Magnetisch - >1k IOPS | Magnetisch - >1k IOPS |
Java™ | Oracle JRE versie 8 | N.v.t. |
JVM Heap | 16 GB | N.v.t. |
Product | AEM 6,2 | MongoDB 3.2 WiredTiger |
Nodestore | MongoMK | N.v.t. |
Datastore | Bestand DS | N.v.t. |
Scenario | Enkel product: Elementen / 30 gelijktijdige threads | Enkel product: Elementen / 30 gelijktijdige threads |
De hieronder vermelde aantallen zijn genormaliseerd aan 1 als basislijn en zijn niet de daadwerkelijke productienummers.
De basisregel om voor rekening te brengen wanneer het kiezen tussen twee is dat TarMK voor prestaties wordt ontworpen, terwijl MongoMK voor scalability wordt gebruikt. Adobe raadt TarMK aan om de standaardpersistentietechnologie te zijn die door klanten in alle plaatsingsscenario's, voor zowel auteur AEM als Publish instanties wordt gebruikt.
De primaire reden voor het kiezen van de MongoMK persistence backend over TarMK is de instanties horizontaal te schalen. Deze functionaliteit houdt in dat twee of meer actieve auteur-instanties altijd worden uitgevoerd en dat MongoDB wordt gebruikt als het opslagsysteem voor persistentie. De noodzaak om meer dan één auteurinstantie in werking te stellen vloeit over het algemeen voort uit het feit dat de cpu en geheugencapaciteit van één enkele server, die alle gezamenlijke auteursactiviteiten steunt, niet meer duurzaam is.
Voor meer informatie over TarMK vs MongoMK, zie Aanbevolen implementaties.
Voordelen van TarMK
Criteria voor de keuze van MongoMK
De hieronder vermelde aantallen zijn genormaliseerd aan 1 als basislijn en zijn geen daadwerkelijke productienummers.
Auteur-OAK-knooppunt | MongoDB-knooppunt | ||
Server | Hardware voor onbewerkte metalen (HP) | Hardware voor onbewerkte metalen (HP) | |
Besturingssysteem | Red Hat® Linux® | Red Hat® Linux® | |
CPU/kernen | Intel(R) Xeon(R) CPU E5-2407 @2,40 GHz, 8 kernen | Intel(R) Xeon(R) CPU E5-2407 @2,40 GHz, 8 kernen | |
RAM | 32 GB | 32 GB | |
Schijf | Magnetisch - >1k IOPS | Magnetisch - >1k IOPS | |
Java™ | Oracle JRE versie 8 | N.v.t. | |
JVM Heap16 GB | 16 GB | N.v.t. | |
Product | AEM 6,2 | MongoDB 3.2 WiredTiger | |
Nodestore | TarMK of MongoMK | N.v.t. | |
Datastore | Bestand DS | N.v.t. | |
Scenario |
|
Als u hetzelfde aantal auteurs met MongoDB wilt inschakelen als met één TarMK-systeem, hebt u een cluster met twee AEM knooppunten nodig. Een cluster met vier knooppunten in MongoDB kan 1,8 keer het aantal auteurs afhandelen dan één TarMK-instantie. Een achtnodencluster MongoDB kan 2.3 keer het aantal Auteurs behandelen dan één instantie TarMK.
Auteur TarMK-knooppunt | Auteur MongoMK Node | MongoDB-knooppunt | |
Server | AWS c3.8xlarge | AWS c3.8xlarge | AWS c3.8xlarge |
Besturingssysteem | Red Hat® Linux® | Red Hat® Linux® | Red Hat® Linux® |
CPU/kernen | 32 | 32 | 32 |
RAM | 60 GB | 60 GB | 60 GB |
Schijf | SSD - 10.000 IOPS | SSD - 10.000 IOPS | SSD - 10.000 IOPS |
Java™ | Oracle JRE versie 8 | Oracle JRE versie 8 |
N.v.t. |
JVM Heap16 GB | 30 GB | 30 GB | N.v.t. |
Product | AEM 6,2 | AEM 6,2 | MongoDB 3.2 WiredTiger |
Nodestore | TarMK | MongoMK | N.v.t. |
Datastore | Bestand DS | Bestand DS |
N.v.t. |
Scenario |
|
De richtsnoeren op deze pagina kunnen als volgt worden samengevat:
TarMK met bestandsdatastore - De aanbevolen architectuur voor de meeste klanten:
MongoMK met bestandsdatastore - De aanbevolen architectuur voor horizontale schaalbaarheid van het niveau Auteur:
Nodestore - Opgeslagen op de lokale schijf, niet een netwerk aangesloten opslag (NAS)
Wanneer u Amazon S3:
De aangepaste index moet worden gemaakt naast de index voor het uiteinde van het vak - Gebaseerd op de meeste gangbare zoekopdrachten
De prestaties kunnen aanzienlijk worden verbeterd door de workflow aan te passen - Verwijder de videostap in de workflow Element bijwerken, schakel listeners uit die niet worden gebruikt, enzovoort.
Lees voor meer informatie ook de Aanbevolen implementaties pagina.