Leistungsübersicht performance-tree

Anwendungsbereich scope

Das folgende Diagramm enthält Anleitungen zu den Schritten zur Behebung von Leistungsproblemen. Es ist in fünf Abschnitte unterteilt, um das Lesen zu erleichtern.

Jeder Schritt im Diagramm ist mit einer Dokumentationsressource oder einer Empfehlung verknüpft.

Voraussetzungen und Annahmen prerequisites-and-assumptions

Es wird davon ausgegangen, dass ein Leistungsproblem auf einer Seite auftritt (einer AEM-Konsole oder einer Webseite) und konsistent reproduziert werden kann. Eine Voraussetzung für den Beginn der Untersuchung ist die Möglichkeit, die Leistung zu testen oder zu überwachen.

Die Analyse beginnt mit Schritt 0. Das Ziel besteht darin, festzustellen, welche Einheit (Dispatcher, externer Host oder AEM) das Leistungsproblem verursacht, und dann zu bestimmen, welcher Bereich (Server oder Netzwerk) untersucht werden muss.

Bereich 1 section

chlimage_1-103

Bereich 2 section-1

chlimage_1-104

Bereich 3 section-2

chlimage_1-105

Bereich 4 section-3

chlimage_1-106

Bereich 5 section-4

chlimage_1-107

Schritt
Titel
Ressourcen
Schritt 0
Anfragenfluss analysieren

Mit der Standard-HTTP-Anforderungsanalyse im Browser können Sie den Anforderungsablauf analysieren. Weitere Informationen zu dieser Analyse in Chrome finden Sie unter:

https://developer.chrome.com/docs/devtools/

Schritt 2
Kommen Anfragen von externen Hosts?
Mit der Standard-HTTP-Anforderungsanalyse im Browser können Sie den Anforderungsablauf analysieren. Informationen zu dieser Analyse in Chrome finden Sie unter den obigen Links.
Schritt 3
Können die Anfragen zwischengespeichert werden?
Weitere Informationen zu zwischenspeicherbaren Anfragen und allgemeine Empfehlungen zur Leistungsoptimierung des Dispatchers finden Sie unter Leistungsoptimierung des Dispatchers.
Schritt 4
Gehen Anforderungen vom Dispatcher ein?
Um festzustellen, ob die Anfragen ordnungsgemäß zwischengespeichert wurden, überprüfen Sie die Dispatcher-Debugging-Dokumentation.
Schritt 5
Versucht der Dispatcher jede Anforderung über AEM zu authentifizieren?
Überprüfen Sie, ob der Dispatcher HEAD-Anfragen zur Authentifizierung an AEM sendet, bevor er die zwischengespeicherte Ressource bereitstellt. Suchen Sie nach HEAD-Anfragen in AEM access.log. Weitere Informationen finden Sie unter Protokollierung.
Schritt 6
Ist der geografische Standort des Dispatchers weit von den Benutzenden entfernt?
Verschieben Sie den Dispatcher näher an die Benutzenden.
Schritt 7
Arbeitet die Netzwerkschicht des Dispatchers ordnungsgemäß?
Überprüfen Sie die Netzwerkschicht auf Sättigungs- und Latenzprobleme.
Schritt 8
Ist die Langsamkeit mit einer lokalen Instanz reproduzierbar?
Verwenden Sie Tough Day, um die „realen“ Bedingungen der Produktionsinstanzen zu replizieren. Wenn dieses Szenario für Ihre Entwicklung nicht realistisch ist, sollten Sie die Produktionsinstanz (oder eine identische Staging-Instanz) in einem anderen Netzwerkkontext testen.
Schritt 9
Ist der geografische Standort des Servers weit von den Benutzenden entfernt?
Verschieben Sie den Server näher an die Benutzenden.
Schritte 10 und 29
Untersuchung der Netzwerkschicht

Überprüfen Sie die Netzwerkschicht auf Sättigungs- und Latenzprobleme.

Für die Authoring-Ebene wird empfohlen, dass die Latenz 100 Millisekunden nicht überschreitet.

Weitere Tipps zur Leistungsoptimierung finden Sie auf dieser Seite.

Schritt 11
Server in der Nähe der Benutzer platzieren oder einen pro Region hinzufügen
Schritt 12
Fehlerbehebung für AEM-Server
Weitere Informationen finden Sie in den folgenden Unterpunkten des Diagramms.
Schritt 13
Überprüfen der Hardware-Anforderungen
Lesen Sie die Dokumentation der Richtlinien zur Hardware-Skalierung.
Schritt 14
Überprüfung der häufigen Ursachen für Leistungsprobleme
Schritt 15
Suche nach langsamen Anforderungen

Sie können prüfen, ob langsame Anfragen vorliegen, indem Sie request.log analysieren oder rlog.jar verwenden.

Weitere Informationen zur Verwendung von „rlog.jar“ finden Sie auf dieser Seite.

Siehe Finden von Anfragen mit langen Laufzeiten mit rlog.jar.

Schritt 16
Profil-Server
Informationen zu Profiling-Tools, die Sie mit AEM verwenden können, finden Sie unter Tools zur Leistungsüberwachung und -analyse.
Schritt 17
Suche nach langsamen Methoden bei der Profilerstellung
Schritt 18
Allgemeine Szenarien für die Profilerstellung
Siehe Analysieren spezifischer Szenarien im Abschnitt „Leistungsoptimierung“.
Schritt 19
CPU-Auslastung 100 %
https://experienceleague.adobe.com/docs/experience-manager-release-information/aem-release-updates/previous-updates/aem-previous-versions.html?lang=de
Schritt 20
Unzureichender Speicher
  1. Unzureichender Speicher
  2. Meine Anwendung gibt Fehler über unzureichenden Speicher aus
  3. Analysieren von Speicherproblemen.
Schritt 21
Datenträger-E/A
Siehe den Abschnitt Datenträger-E/A in der Dokumentation zur Überwachung und Wartung.
Schritte 22 und 22.1
Cache-Verhältnis
Siehe Berechnung des Dispatcher-Cache-Verhältnisses.
Schritt 23
Langsame Abfragen
Best Practices für Abfragen und Indizierung
Schritt 24
Repository-Optimierung
Schritt 25
Ausführung von Workflows
Schritt 26
MSM-Infrastruktur
Best Practices für Multisite-Manager
Schritt 27
Optimierung von Assets
  1. Synchronisierungsdienst für Assets
  2. Mehrere DAM-Instanzen
  3. Artikel für Tipps zur Leistungsoptimierung finden Sie hier.
Schritt 28
Nicht beendete Sitzungen
Überprüfung auf nicht beendete JCR-Sitzungen
Schritt 30
Platzierung des Dispatchers in der Nähe der Benutzenden (einen pro „Region“ hinzufügen?)
Schritt 31
Verwendung von CDN vor dem Dispatcher
Verwenden des Dispatchers mit einem CDN
Schritt 32
Verwenden Sie zum Entlasten des AEM-Servers die Sitzungsverwaltung auf Dispatcher-Ebene
Aktivierung von Sicherheitssitzungen
Schritt 33
Anforderungen zwischenspeicherbar machen
  1. Allgemeine Dispatcher-Konfiguration
  2. Konfigurieren des Dispatcher-Caches

Verbesserung des Cache-Verhältnisses; Anfragen zwischenspeicherbar machen (Best Practices für Dispatcher)

Beachten Sie außerdem die folgenden Einstellungen, um Ihre Konfigurationen der Zwischenspeicherung zu optimieren

  1. Setzen Sie eine Kein-Cache-Regel für HTTP-Anfragen, die keine GET-Anfragen sind.
  2. Konfigurieren Sie Abfragezeichenfolgen so, dass sie nicht zwischengespeichert werden können
  3. URLs mit fehlenden Erweiterungen nicht zwischenspeichern
  4. Authentifizierungs-Kopfzeilen zwischenspeichern (möglich seit Dispatcher-Version 4.1.10)
Schritt 34
Aktualisieren der Dispatcher-Version

Sie können die neueste Dispatcher-Version hier herunterladen:

Folgen Sie dem Link

Schritt 35
Konfiguration des Dispatchers
Konfigurieren des Dispatchers
Schritt 36
Überprüfung der Cache-Invalidierung
Schritte 37 und 38
Verzögertes Laden
Weitere Informationen finden Sie in der Gem-Sitzung „AEM Web Performance“.
Schritt 39
Verwenden Sie „Pre-Connect“, um den Verbindungsaufwand zu reduzieren.
Siehe die obige Gem-Sitzung. Außerdem gibt es zusätzliche Dokumentation zum „Pre-Connect“ auf W3c: https://html.spec.whatwg.org/#linkTypes
Schritte 40 und 41
Latenz externer Hosts und Reaktionszeit
Untersuchen Sie die Latenz und Reaktionszeit für die externen Hosts.
Schritte 45
und 47
Verwendung von HTTP/2
Weitere Informationen finden Sie in der Gem-Sitzung für die Schritte 37, 38 und 39 und in diesem Forumsbeitrag zur HTTP/2-Unterstützung.
Schritt 49
Verkleinern der Nutzdatengröße
Aktivieren Sie Gzip und verkleinern Sie die Bildgröße.
Schritte 42 und 43
Keep-Alive

Ist die Kopfzeile Keep-Alive in den verschiedenen Anfragen zur Wiederverwendung von Verbindungen vorhanden? Andernfalls würde dies bedeuten, dass jede Anfrage zu einem weiteren Verbindungsaufbau führt, was einen unnötigen Verbindungsaufwand bedeutet. (Standard-HTTP-Anfragenanalyse im Browser)

Sie können das Proxy-Server-Tool verwenden, um nach Keep-Alive-Verbindungen zu suchen.

Schritt 44
Wie viele Anfragen werden gestellt?
Führen Sie eine standardmäßige HTTP-Anfragenanalyse im Browser durch.
Schritt 46
Reduzieren der Anfragenanzahl
  1. Verketten von Ressourcen (Bilder, CSS-Sprites, JSON)
  2. Einbetten von Clientlibs:
    1. Erstellen von Client-Bibliotheks-Ordnern – siehe den Beitrag zur Minimierung von Anforderungen durch Einbetten
Schritt 48
Wie groß ist die Payload?
Standard-HTTP-Anfragenanalyse im Browser
Schritte 50 und 51
JS-Code-Blockierung
https://experienceleague.adobe.com/docs/experience-manager-gems-events/gems/gems2016/aem-web-performance.html?lang=de
recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2