Fehlerbehebung bei der Leistung
Anwendungsfall
Bevor Sie mit einer Leistungsanalyse beginnen, müssen Sie den Anwendungsfall kennen. Wenn ein Kunde bemerkt, dass "das System langsam ist", können Sie die Umgebung öffnen und herumklicken und feststellen, dass dies nicht der Fall ist (es sei denn, der Server ist langsam, in diesem Fall können Sie höchstwahrscheinlich nichts tun).
Wenn ein Kunde ein Leistungsproblem meldet, sollten Sie ihm so viele Informationen wie möglich zur Verfügung stellen:
Welcher Prozess ist langsam?
Welche Schritte werden Sie unternehmen?
In welchem Browser machen Sie das?
Wie ist Ihre Internetverbindung?
In der Vergangenheit bestand die effektivste Methode, einen Fall zu erfassen, darin, die Benutzer die von ihnen durchgeführten Aktionen aufzeichnen zu lassen und diese Filme zu senden. Auf diese Weise kann man leichter herausfinden, welche Schritte unternommen wurden. Manchmal reicht aber auch eine Beschreibung aus.
Ein Anwendungsfall ist deshalb so wichtig, weil er es Ihnen ermöglicht, eine Analyse durchzuführen und über Ihre Ergebnisse zu berichten. Mit den auf dieser Seite beschriebenen Verfahren und Werkzeugen sollten Sie in der Lage sein, dem Kunden einen Überblick darüber zu geben, wie lange es gedauert hat, bevor Sie Änderungen vorgenommen haben, und wie lange es danach gedauert hat (einschließlich einer Beschreibung dessen, was optimiert worden ist). Das wird dem Kunden mehr Vertrauen in die Arbeit geben, als wenn Sie ihn im Unklaren lassen.
Schritte der Analyse
Es gibt zwei Möglichkeiten, an eine Analyse heranzugehen: Bottom-up oder Top-down. Im Hinblick auf die Leistung finden Sie im Folgenden eine Beschreibung dieser beiden Ansätze.
Von unten nach oben
Bei einer Bottom-up-Analyse fängt man ganz klein an. Ein Beispiel: Das Drücken einer Taste für einen Arbeitsauftrag führt zu einer Wartezeit von mehr als 5 Sekunden für den Benutzer. Sie würden dies wie folgt angehen (Backup!):
Sie fangen an, ein Feld nach dem anderen zu entfernen
Dann entfernen Sie die Includes nacheinander
Sie beginnen mit der Deaktivierung der Skripte, eines nach dem anderen
Wenn Sie so vorgehen, können Sie genau feststellen, wo ein Leistungsproblem liegt. Seien Sie sich bewusst, dass dies einige Zeit in Anspruch nehmen wird. Dieser Ansatz ist nur in zwei Situationen möglich:
Es gibt nicht viele Faktoren, die die Leistung beeinflussen könnten. Also nicht viele Felder, Includes, Skripte
Wenn Sie Skripte debuggen, müssen Sie dies Schritt für Schritt tun, da es weniger Zeit in Anspruch nimmt, wenn Sie langsam anfangen, mehr Logik in einem Skript zuzulassen
Von oben nach unten
Von oben nach unten ist am "einfachsten" zu machen. Hier gehen Sie wie folgt vor (Sicherung!):
Sie deaktivieren alle Skripte
Sie entfernen alle Felder auf der Seite
Sie entfernen alle Includes
Auf diese Weise können Sie leicht feststellen, wo die Probleme liegen. Wenn es also ein Problem in der Skripterstellung gibt, können Sie das bereits erkennen und in die Skripterstellung eintauchen. Sie könnten dann die Hälfte der Skripte aktivieren, um zu sehen, ob das Problem in dieser Hälfte liegt. Wenn ja, machen Sie das so lange, bis Sie das Skript gefunden haben, das langsam ist. Das Gleiche gilt für Includes und Felder.
Der größte Vorteil besteht darin, dass die Ursache für das Leistungsproblem schnell gefunden wird. Dies ist zeitsparender.
Hybride
Sobald Sie sowohl in der Leistungsanalyse als auch im Workplace Erfahrung gesammelt haben, können Sie eine Mischform zwischen Bottom-up und Top-down wählen. Das heißt, wenn Ihnen ein Skript auffällt, das viel Zeit in Anspruch nimmt, müssen Sie nicht jedes Skript deaktivieren. Oder wenn Sie den Kunden bereits kennen, wissen Sie vielleicht, dass er viele kundenspezifische Felder hat und Sie sich diesen Teil des Systems ansehen müssen. Bei der Analyse von Skripten werden Sie aber wahrscheinlich feststellen, dass Sie anhand des Skriptnamens erkennen können, in welchem Skript es langsame Abfragen gibt.
Werkzeuge
Netzwerk-Werkzeuge in den wichtigsten Browsern
In den wichtigsten Browsern (Chrome, Edge, Firefox) gibt es die Möglichkeit einer Netzwerkanalyse. Dort können Sie sehen, wie lange es tatsächlich dauert, die erforderlichen Daten herunterzuladen. Wie man das benutzt:
Öffnen Sie die Entwicklertools. Meistens wird dies mit Strg + Umschalt + I gemacht
Klicken Sie auf die Registerkarte "Netzwerk" (siehe Abbildung unten)
Um eine solide Analyse durchzuführen, gehen Sie wie folgt vor:
Löschen des Protokolls (Symbol links)
Ausführen der langsamen Aktion
Überprüfen Sie anschließend den Wert in der Spalte "Zeit" (für die erste Seite)
Eine Veränderung vornehmen
Führen Sie die vorherigen Schritte erneut durch
Anhand dieser Daten können Sie leicht erkennen, wie viel Zeit eine Aktion in Anspruch nimmt, indem Sie die Zeit davor und danach vergleichen. Wiederholen Sie die obigen Schritte, um ein klares Bild davon zu erhalten, was Ihre Änderungen zur Leistungsoptimierung beitragen. Dies kann auch verwendet werden, wenn Sie einem Kunden berichten müssen, welche Änderungen Sie vorgenommen haben und welche Auswirkungen diese hatten.
Workplace Skript-Fehlerbehebung
Wenn Sie eine Leistungsanalyse durchführen, sollten Sie immer das Debugging des Skripts aktivieren. Sie können dies im Benutzerprofil tun, indem Sie den Wert "Debug" auf "ja" setzen. Auf diese Weise können Sie sehen, welche Skripte wie lange laufen. So können Sie Skripte herausfiltern, die zu lange brauchen. Als Faustregel gilt: Wenn ein Skript mehr als ein paar Sekunden für die Ausführung benötigt, sollten Sie es überprüfen (Achtung: Dies gilt nur, wenn es ein Leistungsproblem innerhalb eines Prozesses gibt).
Sobald Sie herausgefunden haben, welches Skript der Übeltäter sein könnte, kommentieren Sie Zeilen aus, um zu sehen, welche Logik zu einem Problem führt. Auf der Seite über die Leistungsfähigkeit von Skripten finden Sie Informationen über häufige Probleme bei der Skripterstellung. Anstatt Zeilen auszukommentieren, können Sie auch Zeitstempel hinzufügen, indem Sie die folgende Logik verwenden:
echo "timestamp: " + toString(now,"HH:mm:ss'.'S")
Das zeigt Ihnen die Zeit einschließlich Millisekunden an, so dass Sie leicht erkennen können, wie lange etwas dauert. Setzen Sie dies vor und nach jeder Logikzeile ein, die lange dauern könnte, und Sie können leicht sehen, wie lange es dauert.
Workplace time debug
Workplace verfügt auch über eine integrierte Protokollierung, mit der Sie sehen können, wie lange etwas dauert. Dies kann im Rahmen eines Top-Down-Ansatzes verwendet werden, obwohl sich in der Vergangenheit gezeigt hat, dass man durch Eliminierung der Standardkandidaten (Felder, Includes und Skripte) recht einfach herausfinden kann, wo ein Problem liegt. Aber manchmal, wenn die Leistung der Workplace-Software selbst langsam ist, kann dieses Tool sehr nützlich sein.
Wenn Sie eine Aktion durchführen (z. B. zu einem Objekt navigieren oder eine Funktion ausführen), können Sie zu den Einstellungen des Objekts/der Seite gehen und auf "Debug" klicken.
Wenn Sie das getan haben, können Sie nach unten scrollen und den Eintrag "Zeithierarchie" finden. Dort können Sie sehen, wie viel Zeit jeder Schritt benötigt hat. Dies kann bei der Suche nach einem langsamen Skript helfen, aber auch, wenn eine bestimmte Aktion innerhalb der Software langsam ist. Verwenden Sie es, wenn Sie nicht wissen, wo Sie als Nächstes suchen oder wo Sie anfangen sollen.
Grafana/Graphview/Kibana
Die Entwicklung verfolgt die Leistungsdaten. Sie verwenden Grafana/Graphview für die Berichterstattung und Kibana für die Rohdaten. Wenn Sie viele Performance-Analysen durchführen, könnte es sinnvoll sein, zumindest ein Konto für Graphview zu erstellen. Dort finden Sie verschiedene Berichte, die bei der Analyse helfen können. Zum Beispiel gibt es eine Übersicht über die Serverauslastung. Manchmal ist die Leistung rein auf die Serveraktivität zurückzuführen. Wenn es kein eindeutiges "Logik"-Problem gibt, könnte dies die Ursache sein. Ist dies der Fall, muss die Entwicklung eingreifen.
Es gibt aber auch einen Bericht, der die mittlere Zeit für Skripte auf einem bestimmten Server anzeigt. Auf diese Weise können Sie sehen, welche Skripte viel Zeit benötigen und welche möglicherweise überarbeitet werden könnten, um schneller zu sein.
Um ehrlich zu sein, sollten diese Systeme nicht für die "tägliche" Arbeit der Leistungsanalyse verwendet werden. Sie können sie verwenden, um zu überprüfen, dass der Server keine Probleme hat, aber wenn das nicht der Fall ist, müssen Sie sich mit dem spezifischen Anwendungsfall des Clients befassen.
Microsoft Xbox-Videoaufzeichnung
Wenn Sie auf einem Microsoft-System arbeiten, können Sie Ihren Bildschirm ganz einfach mit der Windows-Taste + G aufzeichnen. Dort können Sie eine Bildschirmaufnahme machen (oder besser: den Client eine Bildschirmaufnahme machen lassen). Diese kann zwischen den beiden Parteien ausgetauscht werden, wodurch Leistungsprobleme leichter sichtbar gemacht werden können, ohne dass ein ganzer Prozess beschrieben werden muss. Das Video ist vielleicht etwas zu groß, um es per E-Mail weiterzugeben, aber mit dem Anfrage-System des Supports oder mit öffentlichen Tools wie WeTransfer können Sie das Video weitergeben und analysieren.