Das Setup Experience Manager Assets von umfasst eine Reihe von Hardware-, Software- und Netzwerkkomponenten. Je nach Ihrem Bereitstellungsszenario benötigen Sie möglicherweise bestimmte Konfigurationsänderungen an den Hardware-, Software- und Netzwerkkomponenten, um Leistungsengpässe zu vermeiden.
Außerdem schaffen Sie eine solide Grundlage für Ihre Experience Manager Assets-Bereitstellung, mit der Sie alle Anforderungen an Leistung, Skalierbarkeit und Zuverlässigkeit erfüllen, wenn Sie sich an bestimmte Richtlinien zur Optimierung der Hardware und Software halten.
Eine schwache Leistung von Experience Manager Assets kann sich auf die Benutzerfreundlichkeit auswirken und die interaktive Leistung, Asset-Verarbeitung und Download-Geschwindigkeit und andere Bereiche beeinträchtigen.
Daher gehört die Leistungsoptimierung zu den grundlegenden Aufgaben, bevor Sie Zielmetriken für Ihre Projekte erstellen.
In den folgenden Schlüsselbereichen sollten Sie besonders darauf achten, dass Leistungsprobleme erkannt und behoben werden, bevor sie sich auf das Benutzererlebnis auswirken.
Experience Manager wird auf einer Reihe von Plattformen unterstützt. Adobe zufolge werden die nativen Tools jedoch unter Linux und Windows besonders gut unterstützt und können dort zur optimalen Leistung und Vereinfachung der Implementierung beitragen. Ein 64-Bit-Betriebssystem ist ideal für die hohen Speicheranforderungen einer Experience Manager Assets-Bereitstellung. Wie bei jeder Experience Manager-Bereitstellung sollten Sie nach Möglichkeit TarMK implementieren. TarMK kann zwar nicht über eine einzelne Autoreninstanz skaliert werden, erzielt jedoch erfahrungsgemäß eine bessere Leistung als MongoMK. Sie können TarMK-Offload-Instanzen hinzufügen, um die Leistung der Workflow-Verarbeitung Ihrer Experience Manager Assets-Bereitstellung zu erhöhen.
Nutzen Sie einen Hochleistungsspeicher für das temporäre Java-Verzeichnis, um das Hochladen der Assets zu beschleunigen. Unter Linux und Windows können Sie beispielsweise ein RAM- oder SSD-Laufwerk verwenden. In Cloud-basierten Umgebungen kann ein äquivalenter Hochgeschwindigkeitsspeicher verwendet werden. In Amazon EC2 beispielsweise kann ein Laufwerk vom Typ flüchtiges Laufwerk als temporärer Ordner eingesetzt werden.
Bei einer großen Speicherkapazität des Servers kann ein RAM-Laufwerk konfiguriert werden. Führen Sie unter Linux die folgenden Befehle aus, um ein RAM-Laufwerk von 8 GB zu erstellen:
mkfs -q /dev/ram1 800000
mkdir -p /mnt/aem-tmp
mount /dev/ram1 /mnt/aem-tmp
df -H | grep aem-tmp
Unter Windows müssen Sie den Treiber eines Drittanbieters nutzen, um ein RAM-Laufwerk zu erstellen, oder einen Hochleistungsspeicher wie SSD verwenden.
Sobald das temporäre Hochleistungs-Volume bereit ist, stellen Sie den JVM-Parameter -Djava.io.tmpdir
ein. Sie können beispielsweise den JVM-Parameter unter der Variablen CQ_JVM_OPTS
im Skript bin/start
von Experience Manager einfügen:
-Djava.io.tmpdir=/mnt/aem-tmp
Adobe empfiehlt die Bereitstellung von Experience Manager Assets auf Java 8, um die Leistung zu optimieren.
Legen Sie die folgenden JVM Parameter fest:
-XX:+UseConcMarkSweepGC
-Doak.queryLimitInMemory
=500000-Doak.queryLimitReads
=100000-Dupdate.limit
=250000-Doak.fastQuerySize
=trueAllen Experience Manager Assets-Benutzern von wird angeraten, Datenspeicher und Segmentspeicher zu trennen. Außerdem kann die Leistung durch die Konfiguration der Parameter maxCachedBinarySize
und cacheSizeInMB
maximiert werden. Stellen Sie maxCachedBinarySize
auf die kleinste im Cache unterstützte Dateigröße ein. Geben Sie die Größe des Arbeitsspeicher-Cache für den Datenspeicher in cacheSizeInMB
ein. Adobe empfiehlt, diesen Wert zwischen 2 und 10 % der gesamten Heap-Größe festzulegen. Lasttests können jedoch bei der Ermittlung der optimalen Einstellung helfen.
Verringern Sie beim Hochladen großer Mengen an Assets in Adobe Experience Manager zur Berücksichtigung unerwarteter Spitzen bei der Speichernutzung und zur Verhinderung von JVM-Fehlern mit OutOfMemoryErrors die konfigurierte Maximalgröße des gepufferten Bilder-Caches. Betrachten wir ein Beispiel mit einem System, das über eine maximale Heap-Größe (-Xmx
param) von 5 GB verfügt und bei dem der Oak-Blob-Cache auf 1 GB und der Dokumenten-Cache auf 2 GB eingestellt ist. In diesem Fall würde der gepufferte Cache maximal 1,25 GB und Arbeitsspeicher belassen, was bei unerwarteten Spitzen nur 0,75 GB Arbeitsspeicher belassen würde.
Konfigurieren Sie die gepufferte Cachegröße in der OSGi-Web-Konsole. Legen Sie bei https://host:port/system/console/configMgr/com.day.cq.dam.core.impl.cache.CQBufferedImageCache
die Eigenschaft cq.dam.image.cache.max.memory
in Byte fest. 1073741824 entspricht beispielsweise 1 GB (1024 x 1024 x 1024 = 1 GB).
Wenn Sie über Experience Manager 6.1 SP1 einen sling:osgiConfig
-Knoten zur Konfiguration dieser Eigenschaft verwenden, stellen Sie sicher, dass Sie diesen Datentyp auf „Long“ einstellen. Weitere Informationen finden Sie unter CQBufferedImageCache nutzt Heap während Asset-Uploads.
Mit der Implementierung eines S3-Datenspeichers oder Shared File Datastore sparen Sie Speicherplatz auf der Festplatte und erhöhen den Netzwerkdurchsatz in großen Implementierungen. Weitere Informationen zu den Vor- und Nachteilen des gemeinsamen Datenspeichers finden Sie in der Anleitung zur Größenänderung von Assets.
Mit der folgenden Konfiguration des S3-Datenspeichers (org.apache.jackrabbit.oak.plugins.blob.datastore.S3DataStore.cfg
) konnte Adobe binäre große Objekte (BLOBs) mit einer Größe von 12,8 TB von einem vorhandenen Dateidatenspeicher in einen S3-Datenspeicher am Standort eines Kunden extrahieren:
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 empfiehlt die Aktivierung von HTTPS, da viele Unternehmen über Firewalls verfügen, die den HTTP-Verkehr überprüfen und sich dadurch negativ auf Uploads auswirken und Dateien beschädigen. Stellen Sie bei großen Datei-Uploads sicher, dass Benutzer über Kabelverbindungen zum Netzwerk verfügen, da ein WLAN-Netzwerk schnell überfordert ist. Richtlinien zur Ermittlung von Engpässen im Netzwerk finden Sie in der Anleitung zur Größenänderung von Assets. Informationen zur Beurteilung der Netzwerkleistung mit einer Analyse der Netzwerktopologie finden Sie unter Überlegungen zum Assets-Netzwerk.
Welche Strategie der Netzwerkoptimierung Sie verwenden, hängt in erster Linie von der verfügbaren Bandbreite und der Last auf Ihrer Experience Manager-Instanz ab. Allgemeine Konfigurationsoptionen wie Firewalls oder Proxys können zur Verbesserung der Netzwerkleistung beitragen. Im Folgenden sind einige wichtige Punkte zu beachten:
Stellen Sie den Workflow DAM-Update-Asset nach Möglichkeit auf „Übergang“ ein. Die Einstellung trägt zu einer erheblichen Reduzierung des Overheads bei, der für die Verarbeitung der Workflows benötigt wird, da die Workflows in diesem Fall nicht die normalen Tracking- und Archivierungsprozesse durchlaufen.
Navigieren Sie zu /miscadmin
in der Experience Manager-Bereitstellung unter https://[aem_server]:[port]/miscadmin
.
Erweitern Sie Tools > Workflow > Modelle > dam.
Öffnen Sie DAM-Update-Asset. Wechseln Sie im unverankerten Tool-Fenster auf die Registerkarte Seite und klicken Sie auf Seiteneigenschaften.
Wählen Sie Übergangs-Workflow und klicken Sie dann auf OK.
Einige Funktionen unterstützen keine Übergangs-Workflows. Wenn diese Funktionen in Ihrer Assets-Bereitstellung benötigt werden, konfigurieren Sie keine Übergangs-Workflows.
Wenn keine Übergangs-Workflows verwendet werden können, führen Sie regelmäßig Workflow-Bereinigungen durch, um archivierte DAM-Update-Asset-Workflows zu löschen. So verhindern Sie eine Beeinträchtigung der Systemleistung.
Führen Sie die Bereinigungs-Workflows normalerweise wöchentlich aus. In ressourcenintensiven Szenarien wie z. B. einer umfangreichen Asset-Erfassung kann die Bereinigung auch häufiger ausgeführt werden.
Um die Workflow-Bereinigung zu konfigurieren, fügen Sie über die OSGi-Konsole eine neue Adobe Granite Workflow Purge-Konfiguration hinzu. Konfigurieren und planen Sie anschließend den Workflow als Teil des wöchentlichen Wartungsfensters.
Wenn die Bereinigung zu lange läuft, wird die Zeit überschritten. Daher sollten Sie sicherstellen, dass Ihre Bereinigungsaufträge abgeschlossen sind, um zu vermeiden, dass Bereinigungs-Workflows aufgrund der hohen Anzahl an Workflows nicht abgeschlossen werden können.
Wenn Sie zahlreiche Nicht-Übergangs-Workflows ausgeführt haben, die Workflow-Instanzknoten erstellen, können Sie das Tool ACS AEM Commons Workflow Remover auf Ad-hoc-Basis ausführen. Es entfernt redundante, abgeschlossene Workflow-Instanzen sofort, ohne dass Sie auf die Ausführung des Adobe Granite-Workflow-Bereinigungsplaners warten müssen.
Standardmäßig kann Experience Manager maximal so viele Aufträge parallel ausführen wie Prozessoren auf dem Server vorhanden sind. In Zeiten hoher Auslastung ist diese Einstellung jedoch problematisch, da alle Prozessoren von den DAM-Update-Asset-Workflows beansprucht werden und dadurch die Reaktionsfähigkeit der Benutzeroberfläche verlangsamt wird und Experience Manager andere Prozesse zum Schutz von Serverleistung und -stabilität nicht ausführen kann. Es hat sich bewährt, diese Einstellung so zu wählen, dass nur die Hälfte der auf dem Server verfügbaren Prozessoren verwendet wird:
Greifen Sie in der Experience Manager-Autoreninstanz auf https://[aem_server]:[port]/system/console/slingevent
zu.
Klicken Sie für jede für Ihre Implementierung relevante Workflow-Warteschlange, z. B. für die Ganite-Übergangs-Workflows-Warteschlange, auf Bearbeiten.
Ändern Sie den Wert der maximal parallel ausführbaren Aufträge und klicken Sie auf Speichern.
Das Festlegen einer Warteschlange auf die Hälfte der verfügbaren Prozessoren ist eine praktikable Lösung, mit der begonnen werden kann. Möglicherweise müssen Sie diese Zahl jedoch erhöhen oder verringern, um den maximalen Durchsatz zu erzielen und sie nach Umgebung zu verfeinern. Es gibt separate Warteschlangen für Übergangs- und Nicht-Übergangs-Workflows sowie für andere Prozesse wie beispielsweise externe Workflows. Wenn mehrere Warteschlangen, die auf 50 % der Prozessoren eingestellt sind, gleichzeitig aktiv sind, kann das System schnell überlastet werden. Die stark verwendeten Warteschlangen variieren je nach Benutzerimplementierung erheblich. Daher müssen Sie sie möglicherweise sorgfältig für maximale Effizienz konfigurieren, ohne die Serverstabilität zu beeinträchtigen.
Der DAM-Update-Asset-Workflow enthält eine vollständige Suite an für Aufgaben konfigurierten Schritten, beispielsweise Dynamic Media PTIFF-Generierung und Adobe InDesign Server-Integration. Die meisten Benutzer benötigen jedoch nicht alle diese Schritte. Adobe empfiehlt die Erstellung einer benutzerdefinierten Kopie des DAM-Update-Asset-Workflow-Modells, in der alle unnötigen Schritte entfernt wurden. Ändern Sie dann die Launcher für DAM-Update-Asset so, dass sie auf das neue Modell zeigen.
Wenn Sie den Workflow DAM-Update-Asset häufig ausführen, kann hierdurch die Größe Ihres Dateidatenspeichers deutlich ansteigen. Die Ergebnisse eines von Adobe durchgeführten Experiments haben gezeigt, dass die Datenspeichergröße um ca. 400 GB erhöht werden kann, wenn innerhalb von 8 Stunden etwa 5.500 Workflows ausgeführt werden.
Es handelt sich um eine vorübergehende Erhöhung, und der Datenspeicher wird nach Ausführung der Speicherbereinigungsaufgabe wieder in seiner ursprünglichen Größe angezeigt.
In der Regel wird die Speicherbereinigung wöchentlich zusammen mit anderen geplanten Wartungsaufgaben ausgeführt.
Wenn Sie nur über eingeschränkten Speicherplatz verfügen und den Workflow DAM-Update-Asset häufig ausführen, sollten Sie die Speicherbereinigung öfter planen.
Kunden verwenden Bilder unterschiedlicher Größe und Formate auf ihrer Website oder zur Weitergabe an Geschäftspartner. Da jede Ausgabedarstellung den Platzbedarf des Assets im Repository erhöht, empfiehlt Adobe, diese Funktion umsichtig zu verwenden. Um die für die Verarbeitung und Speicherung von Bildern erforderliche Ressourcenmenge zu reduzieren, können Sie diese Bilder zur Laufzeit und nicht als Ausgabeformate während der Aufnahme generieren.
Viele Sites-Kunden implementieren ein Bildservlet, das die Größe von Bildern zum Zeitpunkt ihrer Anforderung ändert und zuschneidet. Dadurch wird die Veröffentlichungsinstanz zusätzlich geladen. Solange diese Bilder jedoch zwischengespeichert werden können, kann die Herausforderung abgemildert werden.
Ein alternativer Ansatz besteht darin, die Dynamic Media-Technologie zu verwenden, um die Bildbearbeitung vollständig abzugeben. Darüber hinaus können Sie Brand Portal bereitstellen, das nicht nur die Verantwortung für die Generierung von Ausgabedarstellungen von der Experience Manager-Infrastruktur übernimmt, sondern auch die gesamte Veröffentlichungsebene.
Wenn Sie den Workflow DAM-Update-Asset so anpassen, dass Ausgabeformate mit ImageMagick generiert werden, empfiehlt Adobe die Bearbeitung der Datei policy.xml
unter /etc/ImageMagick/
. Standardmäßig beansprucht ImageMagick den gesamten verfügbaren Speicherplatz auf dem Betriebssystem-Volume sowie den verfügbaren Arbeitsspeicher. Nehmen Sie im Abschnitt policymap
der Datei policy.xml
die folgenden Konfigurationsänderungen vor, um diese Ressourcen zu beschränken.
<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>
Stellen Sie darüber hinaus in der Datei configure.xml
(alternativ in der Umgebungsvariable MAGICK_TEMPORARY_PATH
) den Pfad zum temporären Ordner von ImageMagick auf eine Festplattenpartition ein, die über ausreichend Speicherplatz und IOPS verfügt.
Eine falsche Konfiguration kann den Server instabil machen, wenn ImageMagick sämtlichen verfügbaren Festplattenspeicher verwendet. Die Regeländerungen, die zum Verarbeiten großer Dateien mit ImageMagick erforderlich sind, können sich auf die Leistung von Experience Manager auswirken. Weitere Informationen finden Sie unter Installieren und Konfigurieren von ImageMagick.
Die Dateien policy.xml
und configure.xml
von ImageMagick sind unter /usr/lib64/ImageMagick-*/config/
verfügbar, anstelle von /etc/ImageMagick/
. In der Dokumentation zu ImageMagick finden Sie den Speicherort der Konfigurationsdateien.
Wenn Sie Experience Manager in Adobe Managed Services (AMS) verwenden, wenden Sie sich an den Adobe Support, wenn Sie viele große PSD- oder PSB-Dateien verarbeiten möchten. Wenden Sie sich an den Support-Mitarbeiter von Adobe, um diese Best Practices für Ihre AMS-Bereitstellung zu implementieren und die bestmöglichen Tools und Modelle für die proprietären Formate von Adobe auszuwählen. Experience Manager kann keine sehr hochauflösenden PSB-Dateien verarbeiten, die mehr als 30000 x 23000 Pixel groß sind.
XMP-Writeback aktualisiert das Original-Asset, sobald Metadaten in Experience Manager geändert werden. Folgende Änderungen werden vorgenommen:
Die aufgeführten Ergebnisse beanspruchen umfangreiche Ressourcen. Adobe empfiehlt daher, die XMP Writeback zu deaktivieren, wenn sie nicht erforderlich ist. Weitere Informationen finden Sie unter XMP Writeback.
Das Importieren einer großen Menge an Metadaten kann zu ressourcenintensiven XMP Writeback-Aktivitäten führen, wenn das Flag "Workflows ausführen"aktiviert ist. Planen Sie einen solchen Import während der schlanken Server-Nutzung, damit die Leistung für andere Benutzer nicht beeinträchtigt wird.
Beim Replizieren von Assets auf eine große Anzahl von Veröffentlichungsinstanzen, z. B. in einer Sites-Implementierung, empfiehlt Adobe die Verwendung der Kettenreplikation. In diesem Fall repliziert die Autoreninstanz auf eine einzelne Veröffentlichungsinstanz, die wiederum auf die anderen Veröffentlichungsinstanzen repliziert, wodurch die Autoreninstanz freigeschaltet wird.
Adobe rät von der automatischen Aktivierung von Assets ab. Bei Bedarf empfiehlt Adobe jedoch, dies als letzten Schritt in einem Workflow zu tun, normalerweise DAM Update Asset .
Installieren Sie die neuesten Service Packs und leistungsbezogene Hotfixes, da diese häufig Aktualisierungen von Systemindizes enthalten. Informationen zur Indexoptimierung finden Sie unter Tipps zur Leistungsoptimierung.
Erstellen Sie eigene Indizes für Abfragen, die Sie häufig ausführen. Weitere Informationen finden Sie unter Methoden zur Analyse von langsamen Abfragen und Erstellen benutzerdefinierter Indizes. Weitere Einblicke in Best Practices bezüglich Abfragen und Indizes finden Sie unter Best Practices für Abfragen und Indizierung.
Für die Oak-Indexkonfigurationen können Optimierungen vorgenommen werden, mit denen sich die Leistung von Experience Manager Assets verbessern lässt. Aktualisieren Sie die Indexkonfigurationen, um die Neuindizierungszeit zu verbessern:
/crx/de/index.jsp
und melden Sie sich als Benutzer mit Administratorrechten an./oak:index/lucene
.String[]
-Eigenschaft excludedPaths
mit den Werten /var
, /etc/workflow/instances
und /etc/replication
hinzu./oak:index/damAssetLucene
. Fügen Sie eine String[]
-Eigenschaft includedPaths
mit dem Wert /content/dam
hinzu. Speichern Sie die Änderungen.Wenn Ihre Benutzer keine Volltextsuche nach Assets durchführen müssen, z. B. durch die Textsuche in PDF-Dokumenten, deaktivieren Sie sie. Sie verbessern die Indexleistung, indem Sie die Volltextindizierung deaktivieren. Um die Apache Lucene-Textextraktion zu deaktivieren, führen Sie die folgenden Schritte aus:
Verwenden Sie beim Erstellen von Abfragen mit großen Ergebnismengen den Parameter guessTotal
, um eine übermäßige Belastung des Arbeitsspeichers bei der Ausführung zu vermeiden.
Zwei bekannte Probleme beziehen sich auf große Dateien in Experience Manager. Wenn Dateien größer als 2 GB sind, kann es bei der Cold-Standby-Synchronisation zu Speicherausfällen kommen. In einigen Fällen verhindert dies die Ausführung der Standby-Synchronisation. In anderen Fällen führt dies zum Absturz der primären Instanz. Dieses Szenario gilt für alle Dateien in Experience Manager, die größer als 2 GB sind, darunter auch Inhaltspakete.
Entsprechend kann es bei Dateien, die in einem gemeinsamen S3-Datenspeicher eine Größe von 2 GB erreichen, einige Zeit dauern, bis die Datei vollständig aus dem Cache in das Dateisystem gespeichert werden kann. Wenn Sie die Binaryless-Replikation verwenden, kann es passieren, dass die binären Daten vor dem Abschluss der Replikation nicht dauerhaft gespeichert werden. Diese Situation kann zu Problemen führen, insbesondere wenn es auf hohe Datenverfügbarkeit ankommt.
Erstellen Sie für jede Experience Manager-Implementierung einen Plan für Leistungstests, der Engpässe schnell identifizieren und beseitigen kann. Konzentrieren Sie sich dabei auf die folgenden Schlüsselaspekte.
Führen Sie für alle vom Kunden angesprochenen Probleme mit der Netzwerkleistung die folgenden Aufgaben aus:
Überwachen Sie die Leistung Ihrer Experience Manager-Bereitstellung regelmäßig, um die Latenz zu reduzieren und mithilfe von effizienter CPU-Auslastung und -Freigabe einen hohen Durchsatz zu erzielen. Führen Sie insbesondere die folgenden Aufgaben aus: