Identifizieren Sie die Quelle eines langsamen Musters, und priorisieren Sie potenzielle Leistungsverbesserungen.
Vorbereitungen
Erforderliche Rolle: sn_App_Insights.admin oder admin
Ab Release App-Einblicke wird Zurich nicht mehr bereitgestellt, erweitert oder unterstützt. Es wird empfohlen, die auszuwerten Overview of Instance Observer Produkt, das mit den ServiceNow Impact-Paketen verfügbar ist. Arbeiten Sie mit Ihrem Account-Team zusammen, um Impact-Pakete zu überprüfen.
Weitere Informationen finden Sie im Artikel Deprecation Process [KB0867184] (Abkündigungsprozess) in der Now Support Knowledge Base.
Prozedur
-
Navigieren zu an.
-
Suchen Sie nach potenziellen Leistungsproblemen, indem Sie die Tabellen „langsame Ereignisse“, „langsame Transaktionen“, „langsame Abfragen“ und „langsame Skripts“ anzeigen.
- Konzentrieren Sie sich auf einen 1-tägigen, 7-tägigen oder 30-tägigen Zeitraum, indem Sie einen Tagesbereich auswählen.
- Identifizieren Sie Muster mit konsistent hohen Ausführungszeiten, indem Sie nach sortieren Durchschnittliche Ausführungszeit im Bereich Spalte.
- Finden Sie heraus, welche Muster am häufigsten ausgeführt werden, indem Sie nach sortieren Ausführungsanzahl im Bereich Spalte.
-
Wählen Sie ein langsames Muster mit hoher Ausführungszeit und hoher Ausführungsanzahl aus.
Die Durchschnittliche Ausführungszeit Das Detaildiagramm zeigt die Ausführungszeit des langsamen Musters und den gleitenden Durchschnitt von 1 Tag.
-
Zeigen Sie die Leistung des langsamen Musters im Zeitverlauf an, indem Sie analysieren Durchschnittliche Ausführungszeit Detaildiagramm.
- Suchen Sie nach Spitzen innerhalb des ausgewählten Zeitbereichs. Suchen Sie nach Korrelationen zu auswirkungsvollen Systemereignissen, die durch Überlagerung von Diagnoseereignissen auf einen falschen Alarm hinweisen könnten.
- Zeigen Sie an, wie oft das Muster im ausgewählten Zeitbereich ausgeführt wurde.
- Bestimmen Sie, ob sich die Leistung im Laufe der Zeit verschlechtert, indem Sie die Richtung der Trendlinie des gleitenden 1-Tages-Durchschnitts anzeigen.
-
Finden Sie heraus, was das langsame Muster auslöst, indem Sie auswählen Datensatz Anzeigen .
Der Datensatz für langsames Muster wird angezeigt und enthält zusätzliche Details, einschließlich des Abfragehalts oder Skriptinhalts, des ersten und des letzten Ausführens.
-
Um auf zusätzliche hilfreiche Informationen zur Fehlerbehebung 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 (
).
- Ändern Sie die Formularansicht, indem Sie auswählen Anzeigen > Langsame Skripteinblicke .
|
| Langsame Abfragen |
- Wählen Sie das Kontextmenü des Formulars (
).
- Ändern Sie die Formularansicht, indem Sie auswählen Anzeigen > Langsame Abfrageeinblicke .
|
-
Bestimmen Sie die Ursache der Langsamkeit.
- Bestimmen Sie bei der Untersuchung einer langsamen Abfrage, welches Skript oder welche Business-Regel die Langsamkeit ausgelöst hat, indem Sie den Eintrag mit der höchsten Aufrufreihenfolge in der zugehörigen Liste der referenzierten Skripts finden. Angenommen, eine langsame Abfrage wird von einem Skript ausgelöst, dessen Aufrufreihenfolge 2 ist und von einer Business-Regel aufgerufen wird, deren Aufrufreihenfolge 1 ist. Dieses Skript hat die langsame Abfrage direkt ausgelöst, da es die höchste Aufrufreihenfolge hat.
- Identifizieren Sie bei der Untersuchung eines langsamen Skripts die vom Skript ausgelösten langsamen Muster, indem Sie die Muster in der zugehörigen Liste langsamer Muster anzeigen. Bestimmen Sie, welche langsamen Muster zuerst untersucht werden sollen, indem Sie nach sortieren Durchschnittliche Ausführungszeit im Bereich Und Durchschnittliche Ausführungsanzahl im Bereich Spalten. Untersuchen Sie zuerst die langsamen Muster mit den höchsten Werten in jeder Spalte.
- Bestätigen Sie ein potenzielles Problem, indem Sie die zugehörige Liste langsamer Muster anzeigen, die eine Liste anderer langsamer Muster enthält, die referenzierte Skripts gemeinsam haben. Wenn mehrere langsame Muster auf dieselbe Skripteinbindung oder Business-Regel verweisen, können Sie sicher sein, dass das Problem genau dort liegt.
- Wahlweise:
Öffnen Sie zur Fehlerbehebung für mehrere langsame Muster jeden Datensatz, überprüfen Sie die Anzahl der Einträge in der zugehörigen Liste „zugehörige langsame Muster“, und priorisieren Sie das Debugging oder die Lösung des langsamen Musters mit der höheren Anzahl.
Das Debugging des langsamen Musters mit der höheren Anzahl führt wahrscheinlicher zu einer größeren Leistungsverbesserung.
-
Ergreifen Sie Maßnahmen, um das Leistungsproblem zu lösen.
- Optimieren oder entfernen Sie die fehlerhafte Skripteinbindung oder Business-Regel.
- 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, sodass nur die benötigten Informationen zurückgegeben werden.
- Legen Sie fest, ob ein Index die Leistung der langsamen Abfrage optimieren kann.
Fehlerbehebung bei langsamen Abfragen
Nachdem die Tabelle „langsame Abfragen“ nach sortiert wurde Ausführungsanzahl im Bereich Feld 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 Sie dann aus Datensatz anzeigen .
In der zugehörigen Liste Referenzierte Skripts werden drei Skripts angezeigt. Das Skript „DeprecationCalculations“ 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:
- Überprüfen Sie die Skripteinbindung „DeprecationCalculations“, und bestimmen Sie, ob Sie die Verwendung dieser Abfrage vermeiden können. In diesem Beispiel bezieht sich die Abfrage auf die Tabelle „fx_currency“, 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 anderer Skripts mit niedrigeren Aufrufreihenfolgen vermieden oder in der Ausführungsanzahl verringert werden könnte. In diesem Beispiel muss DeprecationUtils DeprecationCalculations aufrufen, aber vielleicht können Sie festlegen, dass die geplante Aufgabe „Abschreibung berechnen“ weniger häufig ausgeführt wird.
- Wenn Anpassungen an den Skripts niedriger in der Aufrufreihenfolge nicht möglich sind, sollten Sie einen Index hinzufügen, um potenziell die Leistung zu verbessern.