AEM 6.5: Der Workflow für die Dynamic Media-Videokodierung verursacht eine CPU-Spitze während paralleler Video-Uploads
In diesem Artikel wird beschrieben, wie Sie CPU-Spitzen beheben können, die durch den Workflow für die Dynamic Media-Videokodierung während paralleler Video-Uploads in Adobe Experience Manager 6.5 verursacht werden.
Beschreibung description
Umgebung
Adobe Experience Manager (AEM) 6.5 SP24 (alle Plattformen)
Problem/Symptome
Beim gleichzeitigen Hochladen mehrerer Video-Assets (z. B. 15-20 Videos mit je 10-80 MB) auf den Produktionsautorenserver führt der Workflow-Trigger Dynamic Media-Videokodierung zu parallelen FFmpeg-Transkodierungsprozessen, was zu starken CPU-Spitzen führt. Der Server reagiert nicht mehr und muss neu gestartet werden. Ähnliches Verhalten tritt in niedrigeren Umgebungen auf, wenn 5 Videos mit je 30 MB hochgeladen werden.
Symptome:
- Hohe CPU-Auslastung auf dem Autoren-Server während des Uploads von Video-Assets
- Autoreninstanz reagiert nicht mehr und muss neu gestartet werden
- Business-Anwender können Video-Assets erst hochladen, wenn das Problem behoben wurde.
Fehlerprotokolle zeigen, dass FFmpeg-Transkodierungsschritte vor dem Serverausfall aktiv sind.
Ursache
Die parallele FFmpeg-Verarbeitung, die durch den Workflow für die Dynamic Media-Videokodierung ausgelöst wird, wurde aufgrund eines falsch konfigurierten Warteschlangen-Themas (Schrägstrich) nicht gedrosselt.
Das Korrigieren des Themas und die Verwendung einer dedizierten Warteschlange ermöglichen eine gesteuerte gleichzeitige Ausführung, wodurch CPU-Spitzen verhindert werden.
Lösung resolution
Gehen Sie wie folgt vor, um das Problem zu beheben:
-
Überprüfen Sie die Workflow-Konfiguration:
- Identifizieren Sie das für die Videokodierung verwendete Workflow-Modell (z. B.:
Dynamic Media Encode Video). - Bestätigen Sie das Workflow-Thema, indem Sie ein Testvideo hochladen und nach dem Thema
/system/console/slingevent(zum Beispiel:com/adobe/granite/workflow/job/var/workflow/models/nhbvideoencode).
- Identifizieren Sie das für die Videokodierung verwendete Workflow-Modell (z. B.:
-
Konfigurieren Sie eine dedizierte Warteschlange für sortierte Sling-Aufträge:
-
Erstellen Sie eine benutzerdefinierte Sling-Auftragswarteschlange für das Workflow-Thema.
-
Stellen Sie sicher, dass das Warteschlangen-Thema genau mit dem in
/system/console/slingeventangezeigten Thema übereinstimmt (kein Schrägstrich). -
Beispiel:
- Richtig:
com/adobe/granite/workflow/job/var/workflow/models/nhbvideoencode - Falsch:
/com/adobe/granite/workflow/job/var/workflow/models/nhbvideoencode
- Richtig:
-
-
Festlegen von Warteschlangen-Ranking und Gleichzeitigkeit:
- Weisen Sie der benutzerdefinierten Warteschlange einen höheren Rang zu (z. B.: 1000) als der standardmäßigen Workflow-Warteschlange.
- Konfigurieren Sie Parallelitätseinstellungen, um die FFmpeg-Verarbeitung zu drosseln (z. B.:
maxConcurrentJobsfestlegen, um gleichzeitige Ausführungen zu beschränken).
-
Konfiguration validieren:
- Setzen Sie den Workflow-Status zurück und führen Sie den Workflow erneut aus.
- Vergewissern Sie sich, dass Aufträge über die dedizierte Warteschlange weitergeleitet werden und die CPU-Auslastung während paralleler Uploads stabil bleibt.
-
Testen in der unteren Umgebung:
- Laden Sie mehrere Videos gleichzeitig hoch und überwachen Sie die CPU-Nutzung.
- Wenden Sie bei Erfolg die Konfiguration auf die Produktion an.