Identifizieren Sie die Quelle eines langsamen Musters, und priorisieren Sie potenzielle Leistungsverbesserungen.
Vorbereitungen
Erforderliche Rolle: sn_app_insights.admin oder admin
Prozedur
-
Navigieren zu .
-
Suchen Sie nach potenziellen Leistungsproblemen, indem Sie sich die Tabellen „Langsame Ereignisse“, „Langsame Transaktionen“, „Langsame Abfragen“ und „Langsame Skripts“ ansehen.
- Konzentrieren Sie sich auf einen Zeitraum von 1 Tag, 7 Tagen oder 30 Tagen, indem Sie einen Tagesbereich auswählen.
- Identifizieren Sie Muster mit konstant hohen Ausführungszeiten, indem Sie nach der Spalte Durchschnittliche Ausführungszeit in Bereich sortieren.
- Finden Sie heraus, welche Muster am häufigsten ausgeführt werden, indem Sie nach der Spalte Execution count in range (Ausführungsanzahl in Bereich) sortieren.
-
Wählen Sie ein langsames Muster mit hoher Ausführungszeit und hoher Ausführungsanzahl aus.
Das Detaildiagramm „ Durchschnittliche Ausführungszeit “ zeigt die Ausführungszeit des langsamen Musters und seinen gleitenden Durchschnitt von 1 Tag.
-
Zeigen Sie die Leistung für das langsame Muster im Zeitverlauf an, indem Sie das Detaildiagramm der durchschnittlichen Ausführungszeit analysieren.
- Suchen Sie nach Spitzen innerhalb des ausgewählten Zeitbereichs. Suchen Sie nach Korrelationen zu aussagekräftigen System-Events, die auf einen falschen Alarm hinweisen könnten, indem Sie Diagnose-Events überlagern.
- Zeigen Sie an, wie oft das Muster im ausgewählten Zeitbereich ausgeführt wurde.
- Ermitteln Sie, ob sich die Leistung im Laufe der Zeit verschlechtert, indem Sie die Richtung der Trendlinie „1 Tag gleitender Durchschnitt“ anzeigen.
-
Finden Sie heraus, was das langsame Muster auslöst, indem Sie Datensatzanzeigen auswählen.
Der Datensatz für das langsame Muster wird angezeigt und enthält zusätzliche Details, einschließlich Abfrage- oder Skriptinhalt, Zeitpunkt der ersten Ausführung und Zeitpunkt der letzten Ausführung.
-
Um auf zusätzliche hilfreiche Informationen für die Problembehandlung zuzugreifen, fügen Sie die zugehörigen Listen „Referenzierte Skripts“ und „Zugehörige langsame Muster“ hinzu.
| Option | Bezeichnung |
|---|
| Langsame Skripts |
- Wählen Sie das Kontextmenü des Formulars (
) aus.
- Ändern Sie die Formularansicht, indem Sie Ansicht > Slow Script Insightsauswählen.
|
| Langsame Abfragen |
- Wählen Sie das Kontextmenü des Formulars (
) aus.
- Ändern Sie die Formularansicht, indem Sie Ansicht > Einblicke in langsame Abfragenauswählen.
|
-
Bestimmen Sie die Ursache der Verlangsamung.
- Ermitteln Sie bei der Untersuchung einer langsamen Abfrage, welches Skript oder welche Geschäftsregel die Verlangsamung ausgelöst hat, indem Sie den Eintrag mit der höchsten Aufrufreihenfolge in der zugehörigen Liste Referenzierte Skripts suchen. Angenommen, eine langsame Abfrage wird von einem Skript mit der Aufrufreihenfolge 2 ausgelöst, das von einer Business Rule aufgerufen wird, deren Aufrufreihenfolge 1 ist. Dieses Skript hat die langsame Abfrage direkt ausgelöst, da es die höchste Aufrufreihenfolge aufweist.
- Identifizieren Sie bei der Untersuchung eines langsamen Skripts die durch das Skript ausgelösten langsamen Muster, indem Sie die Muster in der zugehörigen Liste Zugehörige langsame Muster anzeigen. Bestimmen Sie, welche langsamen Muster zuerst untersucht werden sollen, indem Sie nach den Spalten „Durchschnittliche Ausführungszeit im Bereich“ und „Durchschnittliche Ausführungsanzahl im Bereich“ sortieren. Untersuchen Sie zuerst die langsamen Muster mit den höchsten Werten in jeder Spalte.
- Bestätigen Sie ein potenzielles Problem, indem Sie sich die Liste Zugehörige langsame Muster ansehen, die eine Liste anderer langsamer Muster enthält, die referenzierte Skripts gemeinsam haben. Wenn mehrere langsame Muster auf dieselbe Skripteinbindung oder Geschäftsregel verweisen, können Sie sicher sein, dass das Problem darin liegt.
- Wahlweise:
Um Probleme mit mehreren langsamen Mustern zu beheben, öffnen Sie jeden Datensatz, überprüfen Sie die Anzahl der Einträge in der zugehörigen Liste Zugehörige langsame Muster, und priorisieren Sie das Debuggen oder Auflösen des langsamen Musters mit der höheren Anzahl.
Das Debuggen des langsamen Musters mit der höheren Anzahl führt eher zu einer größeren Leistungsverbesserung.
-
Ergreifen Sie Maßnahmen, um das Leistungsproblem zu lösen.
- Optimieren oder entfernen Sie die fehlerhafte Skripteinbindung oder Business Rule.
- Bestimmen Sie, ob Sie die Verwendung der langsamen Abfrage vermeiden können. Wenn die Abfrage erforderlich ist, versuchen Sie, sie mit zusätzlichen Abfragebedingungen oder einer sys_id-Abfrage zu optimieren, damit nur die erforderlichen Informationen zurückgegeben werden.
- Bestimmen Sie, ob ein Index die Leistung der langsamen Abfrage optimieren kann.
Problembehandlung bei einer langsamen Abfrage
Nachdem Sie die Tabelle „Langsame Abfragen“ nach dem Feld Execution count in range (Ausführungsanzahl im Bereich) sortiert haben, wird eine SELECT-Anweisung mit einer hohen Ausführungsanzahl in den letzten 7 Tagen angezeigt.
Um herauszufinden, was diese langsame Abfrage auslöst, wählen Sie den Abfragenamen aus, um das Detaildiagramm zu öffnen, und wählen dann Datensatz anzeigenaus.
In der zugehörigen Liste „Referenzierte Skripts“ werden drei Skripts angezeigt. Das DeprecationCalculations-Skript hat die höchste Aufrufreihenfolge aller referenzierten Skripts, was darauf hinweist, dass es das langsame Muster direkt ausgelöst hat.
So beheben Sie das Problem:
- Untersuchen Sie die Skripteinbindung DeprecationCalculations, und ermitteln Sie, ob Sie die Verwendung dieser Abfrage vermeiden können. In diesem Beispiel wird die Tabelle „fx_currency“ abgefragt, was impliziert, dass eine Währungsberechnung stattfindet. Versuchen Sie, diese Berechnung zu umgehen, oder entfernen Sie sie, wenn sie nicht erforderlich ist.
- Wenn die Abfrage in DeprecationCalculations nicht vermieden werden kann, bestimmen Sie, ob der Aufruf der anderen Skripts mit niedrigeren Aufrufreihenfolgen vermieden oder die Ausführungsanzahl verringert werden konnte. In diesem Beispiel muss DeprecationUtils DeprecationCalculations aufrufen, aber vielleicht können Sie die regelmäßige Aufgabe Abschreibung berechnen so festlegen, dass sie weniger häufig ausgeführt wird.
- Wenn Anpassungen an den Skripts weiter unten in der Aufrufreihenfolge nicht möglich sind, sollten Sie einen Index hinzufügen, um möglicherweise die Leistung zu verbessern.