Ein Experience Manager Assets -Setup enthält 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.
Darüber hinaus hilft die Identifizierung und Einhaltung bestimmter Richtlinien zur Hardware- und Softwareoptimierung dabei, eine solide Grundlage zu schaffen, die Ihre Experience Manager Assets Implementierung, um Erwartungen hinsichtlich Leistung, Skalierbarkeit und Zuverlässigkeit zu erfüllen.
Schlechte Leistung in Experience Manager Assets kann sich auf die Benutzererfahrung im Hinblick auf interaktive Leistung, Asset-Verarbeitung, Download-Geschwindigkeit und andere Bereiche auswirken.
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.
Obwohl Experience Manager auf einer Reihe von Plattformen unterstützt wird, hat Adobe die größte Unterstützung für native Tools unter Linux und Windows gefunden, was zu einer optimalen Leistung und einfachen Implementierung beiträgt. Idealerweise sollten Sie ein 64-Bit-Betriebssystem bereitstellen, um die hohen Speicheranforderungen eines Experience Manager Assets Implementierung. Wie bei jeder Experience Manager-Implementierung sollten Sie TarMK möglichst implementieren. TarMK kann zwar nicht über eine einzelne Autoreninstanz skaliert werden, erzielt jedoch erfahrungsgemäß eine bessere Leistung als MongoMK. Sie können TarMK-Ablade-Instanzen hinzufügen, um die Verarbeitungsleistung Ihres Workflows zu erhöhen. Experience Manager Assets Implementierung.
Verwenden Sie zur Verbesserung der Asset-Upload-Zeit Hochleistungsspeicher für den temporären Java-Ordner. 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 wird eine Kurzfahrwerk -Laufwerk kann für den temporären Ordner verwendet 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
Verwenden Sie unter Windows OS einen Treiber eines Drittanbieters, um ein RAM-Laufwerk zu erstellen, oder verwenden Sie einfach Hochleistungsspeicher wie SSD.
Sobald das temporäre Hochleistungs-Volume bereit ist, legen Sie den JVM-Parameter fest. -Djava.io.tmpdir
. Beispielsweise können Sie den JVM-Parameter unten zum CQ_JVM_OPTS
in der Variablen bin/start
Skript von Experience Manager:
-Djava.io.tmpdir=/mnt/aem-tmp
Adobe empfiehlt die Bereitstellung Experience Manager Assets auf Java 8 für optimale Leistung.
Legen Sie die folgenden JVM-Parameter fest:
-XX:+UseConcMarkSweepGC
-Doak.queryLimitInMemory
=500000-Doak.queryLimitReads
=100000-Dupdate.limit
=250000-Doak.fastQuerySize
=trueEs wird empfohlen, den Datenspeicher vom Segmentspeicher zu trennen. Experience Manager Assets Benutzer. 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 auf 2–10 Prozent der gesamten Heap-Größe einzustellen. Mithilfe von Last-/Leistungstests lässt sich die ideale Einstellung herausfinden.
Beim Hochladen großer Mengen von Assets in Adobe Experience Manager, um unerwartete Spitzen bei der Speicherbelegung zu ermöglichen und zu verhindern, dass JVM mit OutOfMemoryErrors fehlschlägt, reduzieren Sie die konfigurierte Maximalgröße des gepufferten Bild-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 das Maximum von 1,25 GB Speicher in Anspruch nehmen, wodurch nur 0,75 GB Speicher für unerwartete Spitzen verblieben.
Konfigurieren Sie die Größe des gepufferten Cache in der OSGi-Webkonsole. 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).
Ab Experience Manager 6.1 SP1, wenn Sie eine sling:osgiConfig
-Knoten für die Konfiguration dieser Eigenschaft verwenden, stellen Sie sicher, dass Sie den Datentyp auf "Long"einstellen. Weitere Details finden Sie unter CQBufferedImageCache belegt beim Asset-Upload den Heap.
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 der Verwendung eines gemeinsamen Datenspeichers finden Sie unter Handbuch zur Dimensionierung 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 Netzwerkengpässen finden Sie unter Handbuch zur Dimensionierung von Assets. Informationen zur Bewertung der Netzwerkleistung durch Analyse der Netzwerktopologie finden Sie unter Überlegungen zum Assets-Netzwerk.
In erster Linie hängt Ihre Netzwerkoptimierungsstrategie von der verfügbaren Bandbreite und der Belastung Ihrer Experience Manager -Instanz. Allgemeine Konfigurationsoptionen, einschließlich Firewalls oder Proxys, können zur Verbesserung der Netzwerkleistung beitragen. Die folgenden Aspekte sollten berücksichtigt werden:
Legen Sie nach Möglichkeit die DAM-Update-Asset Workflow auf Übergangs. 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
im Experience Manager Bereitstellung unter https://[aem_server]:[port]/miscadmin
.
Erweitern Instrumente > Workflow > Modelle > dam.
Öffnen DAM-Update-Asset. Wechseln Sie im unverankerten Tool-Fenster auf die Registerkarte Seite und klicken Sie auf Seiteneigenschaften.
Auswählen Übergangs-Workflow und klicken Sie auf OK.
Einige Funktionen unterstützen keine Verlaufs-Workflows. Wenn Assets Die Implementierung erfordert diese Funktionen, konfigurieren Sie keine Übergangs-Workflows.
In Fällen, in denen keine Verlaufs-Workflows verwendet werden können, führen Sie regelmäßig die Workflow-Bereinigung durch, um archivierte Workflows zu löschen DAM-Update-Asset Workflows, um sicherzustellen, dass die Systemleistung nicht beeinträchtigt wird.
Führen Sie die Bereinigungs-Workflows normalerweise wöchentlich aus. In ressourcenintensiven Szenarien wie der umfangreichen Asset-Erfassung können Sie diese jedoch häufiger ausführen.
Um die Workflow-Bereinigung zu konfigurieren, fügen Sie in der OSGi-Konsole eine neue Adobe Granite-Workflow-Bereinigungskonfiguration hinzu. Konfigurieren und planen Sie im nächsten Schritt den Workflow als Teil des wöchentlichen Wartungsfensters.
Dauert die Bereinigung zu lange, kommt es zu einem Timeout. Daher sollten Sie sicherstellen, dass die Bereinigungsaufträge abgeschlossen sind. So vermeiden Sie, dass Bereinigungs-Workflows aufgrund der hohen Zahl an Workflows nicht abgeschlossen werden können.
Nach Ausführung zahlreicher nicht transienter Workflows (die Workflow-Instanzknoten erstellen) können Sie beispielsweise Folgendes ausführen: Workflow-Remover von ACS AEM Commons auf Ad-hoc-Basis. Es entfernt redundante, abgeschlossene Workflow-Instanzen sofort, ohne dass Sie auf die Ausführung des Adobe Granite-Workflow-Bereinigungsplaners warten müssen.
Standardmäßig Experience Manager führt eine maximale Anzahl paralleler Aufträge aus, die der Anzahl der Prozessoren auf dem Server entspricht. Das Problem bei dieser Einstellung besteht darin, dass in Zeiten hoher Auslastung alle Prozessoren von DAM-Update-Asset Workflows, die Reaktionsfähigkeit der Benutzeroberfläche verlangsamen und verhindern Experience Manager andere Prozesse ausführen, die die Serverleistung und -stabilität schützen. 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:
on Experience Manager Autor, Zugriff https://[aem_server]:[port]/system/console/slingevent
.
Klicken Bearbeiten für jede Workflow-Warteschlange, die für Ihre Implementierung relevant ist, z. B. Granite-Verlaufs-Workflow-Warteschlange.
Aktualisieren Sie den Wert von Maximale Anzahl paralleler Aufträge und klicken Sie auf Speichern.
Diese Einstellung des Werts auf die Hälfte der verfügbaren Prozesse ist für den Anfang eine praktikable Lösung. Unter Umständen müssen Sie diese Zahl jedoch nach oben oder unten anpassen, um den maximalen Durchsatz zu erreichen, und auch an die spezifische Umgebung anpassen. Es gibt separate Warteschlangen für Verlaufs- und Nicht-Verlaufs-Workflows sowie für andere Prozesse wie beispielsweise externe Workflows. Sind mehrere Warteschlangen, die auf 50 % der Prozessoren gesetzt sind, gleichzeitig aktiv, kann es schnell zu einer Überlastung des Systems kommen. Welche Warteschlangen stark ausgelastet sind, hängt in hohem Maße von den Benutzerimplementierungen ab. Sie müssen daher sorgfältig und mit Bedacht konfiguriert werden, um maximale Effizienz zu erreichen, die nicht zu Lasten der Serverstabilität geht.
Die DAM-Update-Asset Der Workflow enthält eine vollständige Suite von Schritten, die für Aufgaben wie die Dynamic Media-PTIFF-Generierung und Adobe InDesign Server Integration. Die meisten Benutzer benötigen jedoch nicht alle diese Schritte. Adobe empfiehlt, eine benutzerdefinierte Kopie der DAM-Update-Asset Workflow-Modell verwenden und alle unnötigen Schritte entfernen. Aktualisieren Sie in diesem Fall die Starter für DAM-Update-Asset , um auf das neue Modell zu verweisen.
Ausführen der DAM-Update-Asset Arbeitsabläufe können die Größe Ihres Dateidatenspeichers stark erhöhen. Entsprechende Tests von Adobe haben gezeigt, dass die Datenspeichergröße um ca. 400 GB ansteigt, wenn innerhalb von 8 Stunden 5.500 Workflows ausgeführt werden.
Hierbei handelt es sich um einen vorübergehenden Anstieg. Nach Ausführung der Aufgabe zur Speicherbereinigung weist der Datenspeicher wieder seine ursprüngliche Größe auf.
In der Regel wird die Speicherbereinigung wöchentlich gemeinsam mit anderen geplanten Wartungsaufgaben ausgeführt.
Wenn Sie eingeschränkten Speicherplatz haben und DAM-Update-Asset Überlegen Sie bei intensiven Workflows, die Speicherbereinigung häufiger zu planen.
Kunden verwenden Bilder unterschiedlicher Größen und Formate auf ihrer Website oder zur Weiterleitung an die Geschäftspartner. Da jede Darstellung den Footprint der Assets im Repository vergrößert, empfiehlt Adobe die umsichtige Verwendung dieser Funktion. Um die Menge der Ressourcen zu reduzieren, die für die Verarbeitung und Speicherung von Bildern benötigt wird, können Sie die Bilder statt als Ausgabeformate bei der Erfassung auch zur Laufzeit generieren.
Viele Kunden der Website implementieren ein Bild-Servlet, das Bilder zum Zeitpunkt ihrer Anforderung skaliert und beschneidet und der Veröffentlichungsinstanz damit eine zusätzliche Belastung auferlegt. Wenn diese Bilder zwischengespeichert werden können, lässt sich dieses Problem abmildern.
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 vom Experience Manager Infrastruktur, aber auch die gesamte Veröffentlichungsstufe.
Wenn Sie die DAM-Update-Asset Workflow zum Generieren von Ausgabeformaten mit ImageMagick, empfiehlt Adobe, die policy.xml
Datei unter /etc/ImageMagick/
. Standardmäßig beansprucht ImageMagick den gesamten verfügbaren Speicherplatz auf dem Betriebssystem-Volume sowie den verfügbaren Arbeitsspeicher. Nehmen Sie die folgenden Konfigurationsänderungen in der policymap
Abschnitt policy.xml
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 Richtlinienänderungen, die zur Verarbeitung großer Dateien mit ImageMagick erforderlich sind, können sich auf die Experience Manager Leistung. Weitere Informationen finden Sie unter Installieren und Konfigurieren von ImageMagick.
ImageMagick policy.xml
und configure.xml
Dateien sind verfügbar unter /usr/lib64/ImageMagick-*/config/
anstelle von /etc/ImageMagick/
.Siehe ImageMagick-Dokumentation für den Speicherort der Konfigurationsdateien.
Wenn Sie Experience Manager Wenden Sie sich in Adobe Managed Services (AMS) an den Kundensupport von Adobe, wenn Sie eine Vielzahl großer 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 sind.
XMP Writeback aktualisiert das ursprüngliche Asset, sobald die Metadaten in Experience Manager, was zu Folgendem führt:
Die aufgeführten Ergebnisse beanspruchen umfangreiche Ressourcen. Daher empfiehlt Adobe, XMP-Writeback zu deaktivieren, wenn es nicht benötigt wird.
Wenn Sie eine große Menge an Metadaten importieren, kann es zu ressourcenintensiven XMP-Writeback-Aktivitäten kommen, falls das Flag für laufende Workflows gesetzt ist. Planen Sie einen solchen Import während Zeiten geringer Servernutzung, damit die Leistung anderer Benutzer nicht beeinträchtigt wird.
Wenn Sie Assets in einer große Menge an veröffentlichten Instanzen replizieren (beispielsweise in einer Sites-Implementierung), empfiehlt Adobe die Kettenreplikation. In diesem Fall wird die Autorinstanz in eine einzelne Veröffentlichungsinstanz repliziert, die wiederum in die anderen Veröffentlichungsinstanzen repliziert wird und so die Autorinstanz freihält.
Adobe rät von der automatischen Aktivierung von Assets ab. Falls jedoch notwendig, sollte dies der letzte Schritt in einem Workflow, normalerweise „DAM-Update-Asset“, sein.
Installieren die neuesten Service Packs und leistungsbezogene Hotfixes, da diese häufig Aktualisierungen von Systemindizes enthalten. Siehe Tipps zur Leistungsoptimierung für einige Indexoptimierungen.
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.
Einige Optimierungen können an den Oak-Indexkonfigurationen vorgenommen werden, die zur Verbesserung beitragen können Experience Manager Assets Leistung. Aktualisieren Sie die Indexkonfigurationen, um die Neuindizierungszeit zu verbessern:
/crx/de/index.jsp
und melden Sie sich als Administrator an./oak:index/lucene
.String[]
property excludedPaths
mit Werten /var
, /etc/workflow/instances
und /etc/replication
./oak:index/damAssetLucene
. Hinzufügen einer String[]
property includedPaths
mit Wert /content/dam
. 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. So deaktivieren Sie Apache Lucene Textextraktion, 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. Bei Dateien, die größer als 2 GB sind, kann eine kalte Standby-Synchronisierung zu einem Speicherengpass führen. In einigen Fällen wird die Ausführung der Standby-Synchronisierung verhindert. In anderen Fällen stürzt die primäre Instanz ab. Dieses Szenario gilt für alle Dateien in Experience Manager , die größer als 2 GB ist, einschließlich Inhaltspaketen.
Wenn Dateien bei Verwendung eines freigegebenen S3-Datenspeichers eine Größe von 2 GB erreichen, kann es auch einige Zeit dauern, bis die Datei vollständig aus dem Cache in das Dateisystem persistiert wird. 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.
Für jeden Experience Manager Einführung eines Leistungstestsystems, das Engpässe schnell erkennen und beheben kann. Konzentrieren Sie sich dabei auf die folgenden Schlüsselaspekte.
Führen Sie für alle Aspekte, die die für Kunden relevante Netzwerkleistung betreffen, die folgenden Aufgaben aus:
Um Latenzzeiten zu minimieren und durch effiziente CPU-Auslastung und Lastverteilung einen hohen Durchsatz zu erzielen, überwachen Sie die Leistung Ihrer Experience Manager regelmäßig implementieren. Führen Sie insbesondere die folgenden Aufgaben aus: