Die Ausführung der Optimize-Sitzung dauert lange
Nachfolgend werden Schritte für die Fehlerbehebung beschrieben, wenn Sie der Meinung sind, dass die Ausführung der Optimize-Sitzung lange dauert.
Vor Beginn
1.
Stellen Sie sicher, dass die Sitzung nicht mit aktivierter Einstellung Optimize|Debug|ExtraVerbose ausgeführt wird, da diese Einstellung eine langsame Ausführung bewirkt. Überprüfen Sie sowohl die erweiterten Einstellungen auf Sitzungsebene als auch die Konfigurationseigenschaften.
2.
3.
4.
Stellen Sie Optimize|Logging|loggingLevels auf MEDIUM oder LOW. Überprüfen Sie sowohl die erweiterten Einstellungen auf Sitzungsebene als auch die Konfigurationseigenschaften.
Ausführen einer Sitzung zur Erzeugung eines bereinigten Protokolls für die Fehlerbehebung
Wenn die Ausführung der Optimize-Sitzung nach Befolgung der Schritte unter Vor Beginn lange dauert, müssen Sie detaillierte Informationen für die Analyse erfassen.
Führen Sie eine Sitzung aus, um ein bereinigtes Optimize-Serverprotokoll mit aktivierter Einstellung HIGH oder ALL zu erzeugen. Greifen Sie während der Ausführung der Sitzung nicht auf Optimize-Berichte zu, da dies Daten zum Protokoll hinzufügt, die zu Verwirrungen führen können. Die Ausführung dieser Sitzung kann eventuell länger dauern, weil Sie detaillierte Protokolldaten erfassen. Denken Sie nach der Erfassung des bereinigten Protokolls daran, die Einstellung Optimize|Logging|loggingLevels wieder auf MEDIUM oder LOW zu stellen.
Nachdem Sie das Protokoll generiert haben, überprüfen Sie es auf zwei Dinge:
*
*
Überprüfen der Zeit, die für den Zugriff auf die Datenbank notwendig war
Befolgen Sie unter Verwendung des generierten bereinigten Protokolls die folgenden Schritte, um herauszufinden, wie lange Optimize braucht, um auf die Datenbank für die Einrichtung der für die Sitzung notwendigen Daten zuzugreifen.
1.
Suchen Sie im Optimize-Serverprotokoll nach der Zeichenfolge: LRE Starting chunk: 0
2.
Wenn der Wert zu hoch erscheint, schauen Sie auf die Start- und Endzeitmarken für die Abfragen, die den Protokollabschnitt umfassen, der durch LRE Starting chunk: 0 angeführt wird, um zu erkennen, welche zu lange dauert.
3.
Überprüfen der Zeit, die für die Verarbeitung der Kundenstichproben (Blöcke) notwendig war
Befolgen Sie unter Verwendung des generierten bereinigten Protokolls die folgende Prozedur, um herauszufinden, wie lange Optimize für die Verarbeitung der Kundenstichproben benötigt.
Subtrahieren Sie im Optimize-Serverprotokoll die Zeitmarke aus der Zeile LRE Starting chunk: 0 von der Zeitmarke der Zeile Run Thread terminated.
Dieser Protokolleintrag informiert Sie über die Gesamtzeit, die im CPU-intensiven Optimierungsabschnitt benötigt wurde. Wenn es diese Aktion ist, die den Großteil der Zeit beansprucht hat, bekommen Sie eine bessere Vorstellung von den Vorgängen, indem Sie auf die Blockiterationen schauen.
Die optimale Lösung für jeden Block wird mittels Iteration durch die folgenden Schritte gefunden:
1.
2.
3.
Jedesmal wenn Optimize eine Gruppe Bewertungen anwendet, zählt dies als eine Blockiteration. Die Zeit, die für den CPU-intensiven Abschnitt benötigt wird, ist ungefähr proportional zur mittleren Anzahl Iterationen pro Block.