Fehlerbehebung bei hoher CPU-Nutzung und Zeitüberschreitungsfehlern in Adobe Experience Manager 6.5-Veröffentlichungsinstanzen
Dieser Artikel enthält Anleitungen zum Beheben von Fehlern bei hoher CPU-Nutzung und Zeitüberschreitung in Veröffentlichungsumgebungen von Adobe Experience Manager (AEM) 6.5. Zu den Grundursachen gehören wiederholte Anfragen an fehlende Ressourcen, Backend-Integrationsfehler und eine ineffiziente Fehlerseitenverarbeitung.
Beschreibung description
Umgebung
Adobe Experience Manager 6.5.x (On-Premise)
Symptome
- Hohe CPU-Auslastung auf AEM-Veröffentlichungsinstanzen
- Zeitüberschreitungsfehler für Endbenutzer, die auf veröffentlichte Websites zugreifen
- Wiederholte Anfragen nach fehlenden Ressourcen (z. B. fehlende Stylesheets oder Web-Schriftarten), häufig von Bots oder Crawlers
- Fehler beim Rendern benutzerdefinierter Fehlerseiten, was zu großen Fehlerprotokollen und aufwändiger Fehlerbehandlung führt
- Wiederholte Fehler beim Abrufen von Produktdaten aus Back-End-Systemen mit Protokolleinträgen wie:
No product data received from backend - Speicherdruck auf Veröffentlichungsinstanzen mit zunehmender Speichernutzung und langen GC-Pausen (Garbage Collection)
- Große
error.log(z. B. Hunderte von MB in wenigen Stunden) - Bei der Anfrageprotokollierung werden keine Antwortzeiten erfasst, sodass die Korrelation langsamer Anfragen schwierig ist.
Ursache
Hohe CPU- und Zeitüberschreitungsfehler werden hauptsächlich verursacht durch:
- Wiederholte Anfragen an fehlende Ressourcen, was zu übermäßigen 404-Fehlern führt
- Ineffiziente benutzerdefinierte Fehlerseitenverarbeitung, die Trigger bei Ausnahmen und Stacktraces für jede fehlende Ressource verursacht
- Backend-Integrationsfehler, die zu wiederholten Datenabrufversuchen führen
- Speicherdruck aufgrund von hohem Fehlervolumen und ineffizienter Cache-Nutzung
Lösung resolution
Gehen Sie wie folgt vor, um das Problem zu beheben:
-
Identifizierung und Wiederherstellung fehlender statischer Ressourcen:
- Überprüfen Sie die Site-Vorlagen und -Inhalte auf Verweise auf fehlende Dateien wie Stylesheets oder Web-Schriftarten.
- Stellen Sie alle erforderlichen Ressourcen am richtigen Speicherort im Repository oder Dateisystem wieder her.
- Wenn die Ressourcen veraltet sind, entfernen Sie ihre Verweise aus den Vorlagen und Inhalten, um wiederholte 404-Fehler „Nicht gefunden“ zu verhindern.
-
Korrigieren Sie das benutzerdefinierte Fehlerseiten-Rendering:
- Stellen Sie sicher, dass das benutzerdefinierte Fehlerseitenmodul nach dem Neustart des Servers korrekt initialisiert wird.
- Vergewissern Sie sich, dass die benutzerdefinierte Fehlerseite einfache Antworten für fehlende Ressourcen zurückgibt, ohne vollständige Stacktraces oder Ausnahmen zu generieren.
-
Untersuchen von Backend-Integrationsfehlern:
- Überprüfen Sie die Backend-Systemprotokolle auf Fehler oder Verzögerungen bei der Reaktion auf Produktdatenanforderungen.
- Arbeiten Sie mit den Backend-Teams zusammen, um Probleme mit der Konnektivität oder dem Datenabruf zu beheben.
- Überprüfen Sie, wie häufig Aufträge zum Löschen des Produkt-Caches ausgeführt werden, und reduzieren Sie nach Möglichkeit deren Häufigkeit, um die Belastung der Backend-Systeme zu reduzieren.
-
Überwachen und Adressieren des Speicherdrucks:
- Überwachen Sie die Speichernutzung und die Speicherbereinigung für die betroffenen Veröffentlichungsinstanzen.
- Führen Sie eine Speicherprofilerstellung durch, um potenzielle Speicherlecks oder übermäßige Objektspeicherung zu identifizieren.
- Passen Sie bei Bedarf die Cachegrößen an oder überprüfen Sie benutzerdefinierten Code auf Speicherineffizienzen.
-
Verbessern Sie die Anforderungsprotokollierung, indem Sie Anforderungsprotokolle aktivieren oder konfigurieren, um Antwortzeiten zu erfassen. Verwenden Sie diese Informationen, um Anfragen mit Leistungsproblemen in Beziehung zu setzen.
-
Überwachen Sie nach der Implementierung der Änderungen die CPU-Auslastung, Speichernutzung und Fehlerquoten, um sicherzustellen, dass sich die Leistung verbessert.
-
Wenn das Problem weiterhin besteht, erfassen und analysieren Sie neue Protokolldateien, die die betroffenen Zeitrahmen abdecken.