Beheben von AEM-Produktionsausfällen aufgrund der Thread-Auslastung durch große Asset-Anfragen
In diesem Artikel wird beschrieben, wie Sie einen Produktionsausfall in Adobe Experience Manager (AEM) beheben können, der durch übermäßige gleichzeitige Anfragen für ein großes Video-Asset verursacht wird, wodurch die Threads für die Anforderungsverarbeitung erschöpft und der Service unterbrochen werden kann.
Beschreibung description
Umgebung
Adobe Experience Manager (alle Versionen)
Problem/Symptome
In AEM-Produktionsumgebungen kann die Bereitstellung großer Video-Assets für viele gleichzeitige Benutzende zur Thread-Erschöpfung führen, wenn das Asset nicht auf Dispatcher-Ebene zwischengespeichert wird. Wenn durch eine Cache-Leerung das große Asset aus dem Cache entfernt wird, während der anormale oder hohe Datenverkehr beibehalten wird, werden alle Anforderungen für das Asset an die AEM-Veröffentlichungsinstanz weitergeleitet. Dadurch können alle verfügbaren Threads für die Anforderungsverarbeitung schnell verbraucht werden, was zu einer Beeinträchtigung des Services oder einem vollständigen Ausfall führt.
- Alle Benutzenden können nicht auf die Produktionsumgebung (Autor, Veröffentlichung oder Domain) zugreifen.
- Nach einer Cache-Leerung in Dispatcher tritt eine Beeinträchtigung des Service auf.
- Eine hohe Thread-Nutzung tritt bei der AEM-Veröffentlichung auf.
Ursache
Durch eine Cache-Leerung wurde ein großes Video-Asset aus dem Dispatcher-Cache entfernt, während der anormale oder hohe Datenverkehr beibehalten wurde. Dies führte dazu, dass alle Anfragen für das Asset an AEM Publish weitergeleitet wurden, wodurch die Threads für die Anforderungsverarbeitung erschöpft waren und ein Produktionsausfall resultierte.
Lösung resolution
Führen Sie zur Behebung des Problems folgende Schritte aus:
- Rufen Sie das betroffene große Video-Asset aus der AEM-Autoreninstanz ab und speichern Sie es manuell auf Apache-/Dispatcher-Ebene.
- Wenden Sie ein unveränderliches Flag auf das zwischengespeicherte Asset in Dispatcher an, um zu verhindern, dass es durch nachfolgende Cache-Leerungsvorgänge entfernt wird. Siehe Ihre Dispatcher-Konfiguration für Details zum Festlegen unveränderlicher Cache-Regeln.
- Überwachen Sie die Umgebung, um zu bestätigen, dass Anfragen für das Video-Asset von Apache/Dispatcher bereitgestellt und nicht an AEM Publish weitergeleitet werden. Überprüfen Sie die Dispatcher-Protokolle auf Cache-Treffer und -Fehler im Zusammenhang mit dem Asset.
- Untersuchen Sie die Quelle und die Art des abnormalen Anfragemusters, das das Problem ausgelöst hat. Überprüfen Sie aktuelle Traffic-Muster, Anwendungsprotokolle und alle aktuellen Änderungen, um die Ursache des hohen Anfragevolumens zu identifizieren.
- Validieren Sie die Videobereitstellung, die HTTP-Bereichsanfrage und das Caching-Verhalten Ihrer Anwendung, um eine optimale Leistung sicherzustellen und Wiederholungen zu verhindern.
- Nachdem Sie bestätigt haben, dass das Asset aus dem Cache bereitgestellt wird und sich die Thread-Nutzung normalisiert hat, stellen Sie sicher, dass die Produktionsumgebung stabil ist und für alle Benutzer zugänglich ist.