Ziel

In diesem Artikel werden die gängigsten Asset-Optimierungskonfigurationen und -Lösungen beschrieben, die beim Optimieren der Asset-Leistung helfen.

Asset-Leistungsoptimierungen

  • Adobe empfiehlt das Aktivieren von HTTPS, da viele Organisationen über Firewalls verfügen, die den HTTP-Datenverkehr ausspähen, was sich nachteilig auf Uploads auswirken und Dateien beschädigen kann.
  • Für große Datei-Uploads empfehlen sich LAN-Verbindungen anstelle von WLAN-Verbindungen.
  • Deaktivieren Sie die Volltext-Suche für Binärdateien via Tika-Index.
  • Legen Sie optimale JVM-Parameter wie beispielsweise unten fest und verwenden Sie Java 8:

XX:+UseConcMarkSweepGC  = Enable Concurrent Mark Sweep (CMS) Collector-Doak.queryLimitInMemory=500000 -Doak.queryLimitReads=100000 -Dupdate.limit=250000 -Doak.fastQuerySize=true

  • Anpassen von Sling-Auftragswarteschlangen: Der Massen-Upload von großen Assets ist möglicherweise sehr ressourcenintensiv. Die Anzahl der gleichzeitigen Threads pro Auftragswarteschlange entspricht standardmäßig der Anzahl der CPU-Kerne, was sich auf die Gesamtleistung auswirken und zu einer Java-Heap-Nutzung führen kann. Es wird empfohlen, 50 % der Kerne nicht zu überschreiten. Wechseln Sie zum Ändern dieses Werts zu: http://:/system/console/configMgr/org.apache.sling.event.jobs.QueueConfiguration und legen Sie „queue.maxparallel“ auf einen Wert fest, der 50 % der CPU-Kerne des Servers entspricht, auf dem Ihre AEM-Instanz gehostet wird (legen Sie beispielsweise für 8 CPU-Kerne den Wert auf 4 fest). 
  • Passen Sie die Cache-Größe für CQBufferedImageCache an: Angenommen, Sie verfügen über ein System mit einer maximalen Heap-Größe (-Xmx-Parameter) von 5 GB, einem auf 1 GB festgelegten Oak-BlobCache-Wert und einem auf 2 GB festgelegten Dokument-Cache. In diesem Fall nimmt der gepufferte Cache maximal 1,25 GB in Anspruch, wodurch wiederum nur 0,75 GB für unerwartete Spitzen verbleiben würden. Schließlich schlägt die JVM mit OutOfMemoryErrors fehl. Reduzieren Sie zum Beheben des Problems die konfigurierte Maximalgröße des gepufferten Bild-Caches. Passen Sie beim Hochladen großer Asset-Mengen zu Adobe Experience Manager die gepufferte Cache-Größe an, indem Sie sie über die OSGi-Webkonsole konfigurieren. 1. Wechseln Sie zu http://host:port/system/console/configMgr/com.day.cq.dam.core.impl.cache.CQBufferedImageCache2. Legen Sie die Eigenschaft „cq.dam.image.cache.max.memory“ in Byte fest, beispielsweise entspricht 1073741824 1 GB (1024*1024*1024 = 1 GB). Hinweis: Ab der Version AEM 6.1 SP1 sollten Sie den Datentyp auf „Long“ festlegen, sofern Sie einen „sling:osgiConfig“-Knoten für das Konfigurieren dieser Eigenschaft verwenden. Weitere Details hierzu finden Sie in diesem Artikel.
  • Passen Sie „cacheSizeInMB“ bei Verwendung von „FileDataStore“ auf einen Prozentsatz an, der Ihrer verfügbaren Heap-Größe entspricht (ein konservativer Wert ist 2 % der maximalen Heap-Größe). Beachten Sie, dass beispielsweise für eine „8-gigabyteheap:maxCachedBinarySize=1048576cacheSizeInMB=164“ der Wert „maxCachedBinarySize“ auf 1 MB (1048576) festgelegt ist, damit Dateien zwischengespeichert werden, die maximal 1 MB groß sind. Die Anpassung auf einen kleineren Wert ist möglicherweise sinnvoll. Bei der Verarbeitung einer großen Anzahl an Binärdateien empfiehlt Adobe, dass zum Maximieren der Leistung anstelle der standardmäßigen Knotenspeicher ein externer Datenspeicher verwendet wird. Zusätzlich empfiehlt Adobe das Anpassen der folgenden Parameter:

• maxCachedBinarySize=10485760

• cacheSizeInMB=4096

Achtung: Wenn für die Einstellung „cacheSizeInMB “ ein zu hoher Wert festgelegt wurde, kann dies dazu führen, dass nicht genügend Speicher vorhanden ist. Wenn beispielsweise die maximale Heap-Größe auf 8 GB (-Xmx8g) festgelegt ist und Sie davon ausgehen, dass AEM und Ihre Anwendung einen kombinierten Heap von 4 GB verwenden, wäre es sinnvoll, „cacheSizeInMB“ nicht auf 164, sondern auf 82 festzulegen. Eine sichere Konfiguration liegt im Bereich 2–10 % der maximalen Heap-Größe. Es wird jedoch dringend empfohlen, die Änderungen in diesen Einstellungen zu validieren, indem die Auslastung getestet und die Arbeitsspeichernutzung überwacht wird.

  • Der DAM-Update-Asset-Workflow enthält eine vollständige Suite der Schritte, die für Aufgaben konfiguriert sind, beispielsweise die Scene7-PTIFF-Generation und die InDesign Server-Integration. Die meisten Benutzer benötigen jedoch mehrere dieser Schritte nicht. Adobe empfiehlt, dass Sie eine benutzerdefinierte Kopie des DAM-Update-Asset-Workflow-Modells erstellen und die nicht erforderlichen Schritte entfernen. Aktualisieren Sie in diesem Fall die Starter für DAM-Update-Asset so, dass sie auf das neue Modell zeigen.
  • Verlaufs-Workflow: Zum Optimieren von Nutzlasten mit hoher Aufnahme empfiehlt Adobe das Umschalten des DAM-Update- und DAM-Metadaten-Writeback-Workflows zu einem Verlaufs-Workflow. Wie der Name es vermuten lässt, werden die Laufzeitdaten in Bezug zu Zwischenarbeitsschritten im JCR nicht dauerhaft gespeichert, wenn sie ausgeführt werden (die Ausgabedarstellungen werden entsprechend dauerhaft beibehalten). Dies führt zu einer 10%igen Reduzierung in der Workflow-Verarbeitungszeit und reduziert das Repository-Wachstum erheblich. Es sind keine CRUD-Workflows mehr zum Bereinigen erforderlich. Darüber hinaus wird dadurch die Anzahl der zu komprimierenden TAR-Dateien reduziert. Wenn Ihr Unternehmen das Beibehalten/Archivieren von Workflow-Laufzeitdaten für Audit-Zwecke vorschreibt, sollten Sie diese Funktion nicht aktivieren.
  • Selektive Ausgabegenerierung: Generieren Sie nur die von Ihnen benötigten Ausgabeformate, indem Sie Bedingungen zum Workflow hinzufügen, der das Asset verarbeitet, damit die teuersten Ausgabeformate nur für ausgewählte Assets generiert werden.Schritt „/workflow/ DAM-Update-Asset >> Prozessminiaturansichten“
  • Instanzenübergreifender gemeinsam genutzter Datenspeicher: Das Implementieren eines S3- oder freigegebenen Dateispeichers kann helfen, Festplattenspeicher zu sparen und in großen Implementierungen den Netzwerkdurchsatz zu erhöhen. Es gibt jedoch eine andere, zusätzliche Aufgabe beim Verwalten einer solchen Bereitstellung. Dies kann jedoch ein guter Kompromiss zum Erzielen einer besseren Leistung sein.
  • Wartung: Für gewöhnlich sollten Sie Bereinigungs-Workflows wöchentlich ausführen. In ressourcenintensiven Szenarien, beispielsweise während einer umfangreichen Asset-Aufnahme, können Sie sie jedoch häufiger ausführen.

Dieses Werk unterliegt den Bedingungen der Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.  Twitter™- und Facebook-Beiträge fallen nicht unter die Bedingungen der Creative Commons-Lizenz.

Rechtliche Hinweise   |   Online-Datenschutzrichtlinie