Een installatie van Adobe Experience Manager Assets bevat een aantal hardware-, software- en netwerkcomponenten. Afhankelijk van uw plaatsingsscenario, kunt u specifieke configuratieveranderingen in hardware, software, en netwerkcomponenten vereisen om prestatiesknelpunten te verwijderen.
Daarnaast draagt het identificeren en naleven van bepaalde richtlijnen voor de optimalisatie van hardware en software bij aan het opbouwen van een solide basis waarmee uw Experience Manager-middelenimplementatie voldoet aan de verwachtingen op het gebied van prestaties, schaalbaarheid en betrouwbaarheid.
Slechte prestaties in Experience Manager Elementen kunnen van invloed zijn op de gebruikerservaring op het gebied van interactieve prestaties, verwerking van bedrijfsmiddelen, downloadsnelheid en andere gebieden.
In feite, is de prestatiesoptimalisering een fundamentele taak die u uitvoert alvorens u doelmetriek voor om het even welk project vestigt.
Hier zijn bepaalde belangrijke aandachtsgebieden waaromheen u prestatieproblemen ontdekt en verhelpt voordat deze van invloed zijn op gebruikers.
Hoewel Experience Manager op een aantal platforms wordt ondersteund, heeft Adobe op Linux en Windows de grootste ondersteuning voor native gereedschappen gevonden. Dit levert optimale prestaties en vereenvoudigt de implementatie. In het ideale geval moet u een 64-bits besturingssysteem implementeren om te voldoen aan de hoge geheugenvereisten van een Experience Manager-middelenimplementatie. Net als bij elke Experience Manager-implementatie moet u TarMK waar mogelijk implementeren. Hoewel TarMK niet voorbij één enkele auteurinstantie kan schrapen, wordt het gevonden om beter te presteren dan MongoMK. U kunt TarMK-offloadinstanties toevoegen om de verwerkingskracht van de workflow voor de implementatie van Experience Manager Middelen te verhogen.
Om de uploadtijden van middelen te verbeteren, gebruik krachtige opslag voor de folder van de Temp van Java. In Linux en Windows kan een RAM-station of SSD worden gebruikt. In cloudomgevingen kan een vergelijkbaar type snelle opslag worden gebruikt. In Amazon EC2 kan bijvoorbeeld een ephalals station worden gebruikt voor de tijdelijke map.
Ervan uitgaande dat de server over voldoende geheugen beschikt, configureert u een RAM-station. Voer in Linux de volgende opdrachten uit om een 8 GB RAM-station te maken:
mkfs -q /dev/ram1 800000
mkdir -p /mnt/aem-tmp
mount /dev/ram1 /mnt/aem-tmp
df -H | grep aem-tmp
In Windows OS moet u een stuurprogramma van een andere fabrikant gebruiken om een RAM-station te maken of gewoon krachtige opslagruimte zoals SSD gebruiken.
Zodra het hoge prestaties tijdelijke volume klaar is, dan plaats de parameter JVM -Djava.io.tmpdir. U kunt bijvoorbeeld de JVM-parameter hieronder toevoegen aan de CQ_JVM_OPTS-variabele in het bin/start-script van AEM:
-Djava.io.tmpdir=/mnt/aem-tmp
Omdat Oracle de release van updates voor Java 7 sinds april 2015 heeft stopgezet, raadt Adobe aan Experience Manager Middelen in Java 8 te implementeren. In sommige gevallen heeft het een verbeterde prestatie aangetoond.
U moet de volgende JVM-parameters instellen:
-XX:+UseConcMarkSweepGC
-Doak.queryLimitInMemory
=500000-Doak.queryLimitReads
=100000-Dupdate.limit
=250000-Doak.fastQuerySize
=trueHet wordt aanbevolen de gegevensopslag te scheiden van de segmentopslag voor alle gebruikers van Experience Manager Middelen. Bovendien kunt u de prestaties maximaliseren door de parameters maxCachedBinarySize
en cacheSizeInMB
te configureren. Stel maxCachedBinarySize
in op de kleinste bestandsgrootte die in de cache kan worden opgeslagen. Geef de grootte op van de cache in het geheugen die moet worden gebruikt voor de datastore in cacheSizeInMB
. Adobe raadt u aan deze waarde in te stellen tussen 2 en 10 procent van de totale heapgrootte. Het testen van de belasting/prestaties kan echter helpen de ideale instelling te bepalen.
Wanneer u grote hoeveelheden assets uploadt naar Adobe Experience Manager, om onverwachte pieken in het geheugenverbruik mogelijk te maken en om te voorkomen dat JVM uitvalt met OutOfMemoryErrors, verkleint u de geconfigureerde maximumgrootte van de cache voor gebufferde images. Bekijk een voorbeeld van een systeem met een maximale heap (- Xmx
param) van 5 GB, een Oak BlobCache ingesteld op 1 GB en een documentcache ingesteld op 2 GB. In dit geval neemt de gebufferde cache maximaal 1,25 GB en geheugen in beslag, waardoor er slechts 0,75 GB geheugen overblijft voor onverwachte pieken.
Vorm de als buffer opgetreden voor geheim voorgeheugengrootte in de Console van het Web OSGi. Stel bij https://host:port/system/console/configMgr/com.day.cq.dam.core.impl.cache.CQBufferedImageCache
de eigenschap cq.dam.image.cache.max.memory
in bytes in. 1073741824 is bijvoorbeeld 1 GB (1024 x 1024 x 1024 = 1 GB).
Van Experience Manager 6.1 SP1, als u een sling:osgiConfig
knoop voor het vormen van dit bezit gebruikt, zorg ervoor om het gegevenstype aan Lang te plaatsen. Zie CQBufferedImageCache verbruikt heap tijdens het uploaden van middelen voor meer informatie.
Het uitvoeren van S3 of de Gedeelde Datastore van het Dossier kan helpen om schijfruimte te besparen en netwerkproductie in grootschalige implementaties te verhogen. Voor meer informatie over de voor- en nadelen van het gebruik van een gedeelde datastore, zie Gids van de Grootte van Activa.
De volgende S3 configuratie van de Opslag van Gegevens ( org.apache.jackrabbit.oak.plugins.blob.datastore.S3DataStore.cfg
) hielp Adobe 12.8 TB binaire grote voorwerpen (BLOBs) uit een bestaande opslag van dossiergegevens in een S3 gegevensopslag bij een klantenplaats halen:
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
Adobe raadt aan HTTPS in te schakelen omdat veel bedrijven firewalls hebben die HTTP-verkeer sluizen, wat het uploaden van bestanden negatief beïnvloedt en bestanden beschadigt. Bij grote bestanden uploaden dient u ervoor te zorgen dat gebruikers een bekabelde verbinding met het netwerk hebben omdat een WiFi-netwerk snel verzadigd raakt. Zie Hulplijn voor grootte van elementen voor richtlijnen voor het identificeren van netwerkknelpunten. Om netwerkprestaties te beoordelen door netwerktopologie te analyseren, zie Overwegingen van het Netwerk van Activa.
In de eerste plaats is de optimalisatiestrategie van uw netwerk afhankelijk van de hoeveelheid beschikbare bandbreedte en de belasting van uw Experience Manager-instantie. De gemeenschappelijke configuratieopties, met inbegrip van firewalls of volmachten kunnen helpen netwerkprestaties verbeteren. Hier volgen enkele belangrijke punten:
Stel waar mogelijk de DAM Update Asset-workflow in op Transient. De instelling verlaagt aanzienlijk de overheadkosten die nodig zijn voor het verwerken van workflows, omdat workflows in dit geval niet door de normale tracking- en archiveringsprocessen hoeven te gaan.
Standaard is de DAM Update Asset-workflow ingesteld op Transient in Experience Manager 6.3. In dit geval kunt u de volgende procedure overslaan.
Open http://localhost:4502/miscadmin
op de Experience Manager instantie u wilt vormen.
Vouw in de navigatiestructuur Tools > Workflow > Models > dam uit.
Dubbelklik op DAM Update Asset.
Ga in het zwevende gereedschapsvenster naar de tab Page en klik op Page Properties.
Selecteer Transient Workflow Klik OK.
Bepaalde functies ondersteunen geen tijdelijke workflows. Als deze functies vereist zijn voor de implementatie van Experience Manager Middelen, configureert u geen tijdelijke workflows.
Als er geen tijdelijke workflows kunnen worden gebruikt, voert u de workflow regelmatig uit om gearchiveerde DAM Update Asset-workflows te verwijderen om ervoor te zorgen dat de systeemprestaties niet afnemen.
Normaal gesproken dient u wekelijks penseelworkflows uit te voeren. Nochtans, in middel-intensieve scenario's, zoals tijdens brede activaopname, kunt u het vaker in werking stellen.
Om werkschemazuivering te vormen, voeg een nieuwe Adobe Granite configuratie van de Wrijving van het Werkschema door de console OSGi toe. Vervolgens configureert en plant u de workflow als onderdeel van het wekelijkse onderhoudsvenster.
Als het leegmaken te lang duurt, is het wel even. Daarom dient u ervoor te zorgen dat uw reinigingstaken zijn voltooid om situaties te voorkomen waarin het leegmaken van werkstromen mislukt vanwege het grote aantal werkstromen.
Bijvoorbeeld, na het in werking stellen van talrijke niet-transient werkschema's (die tot werkschemainstantieknooppunten) leidt, kunt u ACS AEM Terugkeer van het Werkschema van Commons op een ad hoc basis in werking stellen. Het verwijdert overtollige, voltooide werkschemainstanties onmiddellijk eerder dan het wachten op de Adobe Granite planner van de Wrijving van het Werkschema van de.
Experience Manager voert standaard een maximumaantal parallelle taken uit dat gelijk is aan het aantal processors op de server. Het probleem met deze instelling is dat tijdens perioden van zware belasting alle processors worden gebruikt door DAM Update Asset-workflows, waardoor de reactiesnelheid van de gebruikersinterface wordt vertraagd en wordt voorkomen dat Experience Manager andere processen uitvoert die de prestaties en stabiliteit van de server waarborgen. U kunt deze waarde als een goede praktijk instellen op de helft van de processors die beschikbaar zijn op de server door de volgende stappen uit te voeren:
Het instellen van een wachtrij op de helft van de beschikbare processors is een werkbare oplossing om mee te beginnen. Het kan echter zijn dat u dit aantal moet verhogen of verlagen om een maximale doorvoer te bereiken en dat aantal aan te passen aan de omgeving. Er zijn afzonderlijke rijen voor tijdelijke en niet-tijdelijke werkstromen evenals andere processen, zoals externe werkschema's. Als meerdere wachtrijen die zijn ingesteld op 50% van de processors tegelijkertijd actief zijn, kan het systeem snel overbelast raken. De rijen die zwaar worden gebruikt variëren zeer over gebruikersimplementaties. Daarom moet u ze mogelijk nauwkeurig configureren voor maximale efficiëntie zonder dat dit ten koste gaat van de stabiliteit van de server.
Voor grote workflows of workflows die veel resources vereisen, zoals videotranscodering, kunt u de DAM Update Asset-workflows verschuiven naar een tweede auteurinstantie. Vaak is het probleem met offloaden dat elke belasting die wordt bespaard door het offloaden van de workflowverwerking, wordt gecompenseerd door de kosten voor het heen en weer repliceren van de inhoud tussen instanties.
Vanaf Experience Manager 6.2 en met een eigenschapspak voor Experience Manager 6.1, kunt u het ontladen met binair-minder replicatie uitvoeren. In dit model, delen de auteursinstanties een gemeenschappelijke datastore en verzenden slechts de meta-gegevens heen en weer door voorwaartse replicatie. Hoewel deze aanpak goed werkt met een datastore voor gedeelde bestanden, kunnen er problemen zijn met een S3-datastore. Omdat achtergrondschrijfthreads latentie kunnen veroorzaken, is het mogelijk dat een element niet naar de datastore is geschreven voordat de offloadtaak wordt gestart.
De DAM Update Asset-workflow bevat een volledige reeks stappen die zijn geconfigureerd voor taken, zoals het genereren en integreren van Dynamic Media Classic PTIFF. Het is echter mogelijk dat de meeste gebruikers niet meerdere van deze stappen nodig hebben. Adobe raadt u aan een aangepaste kopie van het workflowmodel voor DAM Update Asset te maken en overbodige stappen te verwijderen. In dit geval werkt u de draagraketten voor DAM Update Asset bij en wijst u deze naar het nieuwe model.
Als u de DAM Update Asset-workflow intensief uitvoert, kan de bestandsdatatastore aanzienlijk groter worden. De resultaten van een door Adobe uitgevoerd experiment hebben aangetoond dat de datastore-grootte met ongeveer 400 GB kan toenemen als binnen 8 uur ongeveer 5500 workflows worden uitgevoerd.
Het is een tijdelijke verhoging, en datastore wordt hersteld aan zijn originele grootte nadat u de taak van de datastore huisvuilinzameling in werking stelt.
Typisch, loopt de de inzamelingstaak van de datastore wekelijks samen met andere geplande onderhoudstaken.
Als u een beperkte schijfruimte hebt en de werkschema's van de Activa van de Update van DAM intensief in werking stelt, overweeg de taak van de huisvuilinzameling vaker te plannen.
Klanten gebruiken afbeeldingen van verschillende grootten en indelingen op hun website of voor distributie aan zakelijke partners. Aangezien elke uitvoering de afdruk van het middel in de opslagplaats vergroot, raadt Adobe u aan deze functie zorgvuldig te gebruiken. Om de hoeveelheid bronnen te verminderen die nodig is om afbeeldingen te verwerken en op te slaan, kunt u deze afbeeldingen tijdens runtime genereren in plaats van als uitvoeringen tijdens het opnemen.
Vele klanten van Plaatsen voeren een beeldservlet uit die resizes en teelten beelden op het ogenblik zij worden gevraagd, wat extra lading aan de publicatieinstantie oplegt. Maar zolang deze afbeeldingen in het cachegeheugen kunnen worden opgeslagen, kan de uitdaging worden beperkt.
Een andere manier is om Dynamic Media Classic-technologie te gebruiken om beeldmanipulatie volledig uit te schakelen. Daarnaast kunt u Brand Portal implementeren die niet alleen taken voor het genereren van vertoningen overneemt van de Experience Manager-infrastructuur, maar ook de volledige publicatielaag.
Als u de DAM Update Asset-workflow aanpast om uitvoeringen te genereren met ImageMagick, raadt Adobe u aan het bestand policy.xml te wijzigen op /etc/ImageMagick/. Standaard gebruikt ImageMagick de volledige beschikbare schijfruimte op het volume van het besturingssysteem en het beschikbare geheugen. Breng de volgende configuratieveranderingen binnen policymap
sectie van policy.xml aan om deze middelen te beperken.
<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>
Stel bovendien het pad van de tijdelijke map van ImageMagick in het bestand configure.xml (of door de omgevingsvariabele MAGIC_TEMPORARY_PATH
in te stellen) in op een schijfpartitie met voldoende ruimte en IOPS.
Een fout-configuratie kan uw server onstabiel maken als ImageMagick alle beschikbare schijfruimte gebruikt. De beleidswijzigingen die vereist zijn om grote bestanden met ImageMagick te verwerken, kunnen van invloed zijn op de prestaties van Experience Manager. Zie ImageMagick installeren en configureren voor meer informatie.
De ImageMagick policy.xml
en configure.xml
dossiers kunnen onder /usr/lib64/ImageMagick-*/config/
in plaats van /etc/ImageMagick/
worden gevonden. Zie documentatie ImageMagick voor details op de plaatsen van het configuratiedossier.
Als u Experience Manager gebruikt op Adobe Managed Services (AMS), kunt u contact opnemen met de Adobe Klantenondersteuning als u van plan bent een groot aantal grote PSD- of PSB-bestanden te verwerken. Experience Manager verwerkt PSB-bestanden met zeer hoge resolutie die groter zijn dan 30000 x 23000 pixels mogelijk niet.
XMP terugschrijven werkt het oorspronkelijke element bij wanneer metagegevens worden gewijzigd in AEM. Dit resulteert in het volgende:
De vermelde resultaten verbruiken aanzienlijke middelen. Daarom adviseert Adobe onbruikbaar makend XMP Terugschrijven, als het niet wordt vereist.
Het invoeren van een grote hoeveelheid meta-gegevens kan in middel-intensieve XMP terugzetactiviteit resulteren als de loopwerkstroomvlag wordt gecontroleerd. Plan zo'n import tijdens het gebruik van een slanke server, zodat de prestaties voor andere gebruikers niet worden beïnvloed.
Bij het repliceren van activa aan een groot aantal publiceer instanties, bijvoorbeeld in een implementatie van Plaatsen, adviseert Adobe u kettingreplicatie te gebruiken. In dit geval dupliceert de auteurinstantie naar één enkel publicatiegeval dat beurtelings aan andere publiceert instanties herhaalt, die de auteursinstantie vrijmaken.
Adobe beveelt geen automatische activering van elementen aan. Indien nodig raadt Adobe u echter aan dit als de laatste stap in een workflow te doen, meestal DAM Update Asset.
Zorg ervoor u de recentste de dienstpakken en op prestaties betrekking hebbende hotfixes uitvoert aangezien zij vaak updates aan systeemindexen omvatten. Zie Tips voor het afstemmen van prestaties | 6.x voor sommige indexoptimalisaties die, afhankelijk van uw versie van AEM kunnen worden toegepast.
Maak aangepaste indexen voor query's die u vaak uitvoert. Zie methodologie voor het analyseren van langzame query's en Aangepaste indexen maken voor meer informatie. Voor extra inzichten rond vraag en index beste praktijken, zie Beste praktijken voor Vragen en het Indexeren.
Sommige optimalisaties kunnen worden uitgevoerd op de indexconfiguraties van de eikel die de prestaties van de elementen kunnen helpen verbeteren Experience Manager:
Werk de configuratie van LuceneIndexProvider bij:
Indexconfiguraties bijwerken om de herindexatietijd te verbeteren:
(Alleen AEM6.1 en 6.2) Werk de index ntBaseLucene bij om de prestaties van het verwijderen en verplaatsen van elementen te verbeteren:
Bladeren naar /oak:index/ntBaseLucene/indexRules/nt:base/properties
Voeg twee nt:ongestructureerde knopen slingResource en damResolvedPath onder /eak:index/ntBaseLucene/indexRules/nt:base/properties toe
Stel de eigenschappen hieronder op de knooppunten in (waarbij ordered en propertyIndex-eigenschappen van het type Boolean zijn:
slingResource
name="sling:resource"
ordered=false
propertyIndex= true
type="String"
damResolvedPath
name="dam:resolvedPath"
ordered=false
propertyIndex=true
type="String"
Voor de /oak:index/ntBaseLucene knoop, plaats het bezit reindex=true
Klik op Save All
Controleer error.log om te zien wanneer het indexeren wordt voltooid:
Indexering voltooid voor indexen: [/oak:index/ntBaseLucene]
U kunt ook zien dat het indexeren door de /oak:index/ntBaseLucene knoop in CRXDe te verfrissen wordt voltooid aangezien het herindexbezit aan vals zou terugkeren
Nadat het indexeren is voltooid, gaat u terug naar CRXDe en stelt u de eigenschap type in op uitgeschakeld voor deze twee indexen
Klik op Save All
Lucene-tekstextractie uitschakelen:
Als uw gebruikers niet de inhoud van activa hoeven te kunnen zoeken, bijvoorbeeld, zoekend de tekst in de documenten van de PDF, dan kunt u indexprestaties verbeteren door deze eigenschap onbruikbaar te maken.
Wanneer het creëren van vragen die grote resultaatreeksen produceren, gebruik de guessTotal
parameter om zwaar geheugengebruik te vermijden wanneer u hen in werking stelt.
Er zijn twee belangrijke bekende problemen met betrekking tot grote bestanden in AEM. Wanneer de dossiers grootten groter dan 2 GB bereiken, kan de koude reserve synchronisatie in een uit-van-geheugensituatie lopen. In sommige gevallen wordt de stand-bysynchronisatie niet uitgevoerd. In andere gevallen loopt de primaire instantie vast. Dit scenario is van toepassing op elk bestand in Experience Manager dat groter is dan 2 GB, inclusief inhoudspakketten.
Op dezelfde manier kan het enige tijd duren voordat het bestand, wanneer bestanden een grootte van 2 GB bereiken terwijl een gedeelde S3-datastore wordt gebruikt, volledig doorloopt van de cache naar het bestandssysteem. Dientengevolge, wanneer het gebruiken van binair-minder replicatie, is het mogelijk dat de binaire gegevens niet kunnen zijn voortgeduurd alvorens de replicatie voltooit. Deze situatie kan tot problemen leiden, vooral als de beschikbaarheid van gegevens belangrijk is, bijvoorbeeld in offloadscenario's.
Stel voor elke Experience Manager-implementatie een testregeling voor prestaties in waarmee knelpunten snel kunnen worden geïdentificeerd en opgelost. Hier volgen enkele belangrijke aandachtsgebieden.
Voor alle kwesties van netwerkprestaties van de klant, voer de volgende taken uit:
Om latentie te minimaliseren en hoge productie door efficiënt gebruik van cpu en ladingdeling te bereiken, controleer regelmatig de prestaties van uw Experience Manager instantie. Met name:
guessTotal
om vraagprestaties te optimaliseren.