Beheben Sie Probleme mit einem langsamen Muster

  • Freigeben Version: Xanadu
  • Aktualisiert 1. August 2024
  • 4 Minuten Lesedauer
  • Identifizieren Sie die Quelle eines langsamen Musters, und priorisieren Sie potenzielle Leistungsverbesserungen.

    Vorbereitungen

    Erforderliche Rolle: sn_app_insights.admin oder admin

    Prozedur

    1. Navigieren zu Alle > Application Insights > Application Insights > Langsame Musteran.
    2. 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, 7 oder 30 Tagen, indem Sie einen Tagesbereich auswählen.
      • Identifizieren Sie Muster mit konsistent hohen Ausführungszeiten, indem Sie nach der Spalte Durchschnittliche Ausführungszeit im Bereich sortieren.
      • Finden Sie heraus, welche Muster am häufigsten ausgeführt werden, indem Sie nach der Spalte Ausführungsanzahl in Bereich sortieren.
    3. 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.
    4. Zeigen Sie die Leistung für das langsame Muster im Zeitverlauf an, indem Sie das Detaildiagramm Durchschnittliche Ausführungszeit analysieren.
      Detaildiagramm zur durchschnittlichen Ausführungszeit
      • Suchen Sie nach Spitzen innerhalb des ausgewählten Zeitbereichs. Suchen Sie nach Korrelationen mit wichtigen Systemereignissen, die auf einen falschen Alarm hindeuten, indem Diagnoseereignisse überlagert werden.
      • Zeigen Sie an, wie oft das Muster im ausgewählten Zeitraum ausgeführt wurde.
      • Ermitteln Sie, ob sich die Leistung im Laufe der Zeit verschlechtert, indem Sie die Richtung der Trendlinie für den 1-Tages-Gleitenden Durchschnitt betrachten.
    5. Finden Sie heraus, was das langsame Muster auslöst, indem Sie Datensatzanzeigen auswählen.
      Der langsame Musterdatensatz wird angezeigt und enthält zusätzliche Details, einschließlich des Abfrage- oder Skriptinhalts, des Zeitpunkts der ersten Ausführung und des Zeitpunkts der letzten Ausführung.
    6. Fügen Sie die zugehörigen Listen Referenzierte Skripts und Zugehörige langsame Muster hinzu, um auf weitere hilfreiche Informationen für die Problembehandlung zuzugreifen.
      OptionBezeichnung
      Langsame Skripts
      1. Wählen Sie das Formular-Kontextmenü ( Kontextmenü-Symbol).
      2. Ändern Sie die Formularansicht, indem Sie Ansicht > Einblicke in langsame Skriptsauswählen.
      Langsame Abfragen
      1. Wählen Sie das Formular-Kontextmenü ( Kontextmenü-Symbol).
      2. Ändern Sie die Formularansicht, indem Sie Ansicht > Einblicke in langsame Abfragenauswählen.
    7. Bestimmen Sie die Ursache für die Verlangsamungen.
      • Bei der Untersuchung einer langsamen Abfrage ermitteln Sie, 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 Geschäftsregel mit der Aufrufreihenfolge 1 aufgerufen wird. Dieses Skript hat die langsame Abfrage direkt ausgelöst, da es die höchste Aufrufreihenfolge hat.
      • Wenn Sie ein langsames Skript untersuchen, identifizieren Sie die vom Skript ausgelösten langsamen Muster anhand der Muster in der zugehörigen Liste Zugehörige langsame Muster. 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, auf die verwiesene Skripts gemeinsam haben. Wenn mehrere langsame Muster auf dieselbe Skripteinbindung oder Geschäftsregel verweisen, können Sie sicher sein, dass das Problem darin liegt.
    8. Wahlweise: Zur Problembehandlung bei mehreren langsamen Mustern ö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 Beheben des langsamen Musters mit der höheren Anzahl.
      Das Debuggen des langsamen Musters mit einer höheren Anzahl führt mit größerer Wahrscheinlichkeit zu einer größeren Leistungsverbesserung.
    9. 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, damit nur die Informationen zurückgegeben werden, die benötigt werden.
      • Bestimmt, ob ein Index die Leistung der langsamen Abfrage optimieren kann.

    Problembehandlung bei einer langsamen Abfrage

    Nachdem Sie die Tabelle „Langsame Abfragen“ nach dem Feld „ Ausführungsanzahl im Bereich “ sortiert haben, sehen Sie eine SELECT-Anweisung mit einer hohen Ausführungsanzahl in den letzten 7 Tagen.

    Liste der langsamen Abfragen

    Um herauszufinden, was diese langsame Abfrage auslöst, wählen Sie den Abfragenamen aus, um das Detaildiagramm zu öffnen, und wählen Sie dann Datensatz anzeigenaus.

    Referenzierte Skripts in einem langsamen Abfragedatensatz

    In der zugehörigen Liste „Referenzierte Skripts“ werden drei Skripts angezeigt. Das Skript DeprecationCalculations weist die höchste Aufrufreihenfolge aller referenzierten Skripts auf, was darauf hinweist, dass es das langsame Muster direkt ausgelöst hat.

    So beheben Sie das Problem:

    • Untersuchen 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 zu entfernen, wenn sie nicht erforderlich ist.
    • Wenn die Abfrage in DeprecationCalculations nicht vermieden werden kann, bestimmen Sie, ob der Aufruf an die anderen Skripts mit niedrigeren Aufrufreihenfolgen vermieden oder in der Ausführungsanzahl verringert werden konnte. In diesem Beispiel muss DeprecationUtils DeprecationCalculations aufrufen, aber Sie können die geplante 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 die Leistung zu verbessern.