Profil-Erstellung für Natural-Anwendungen (Profiling)

Dieses Dokument enthält allgemeine Informationen über die Profil-Erstellung (Profiling) für Natural-Anwendungen.


Einführung in die Profil-Erstellung (Profiling)

Ein Profiler ist ein Tool für die dynamische Analyse von Programmen. Es misst die Häufigkeit und Dauer von Statements und vereinfacht so die Optimierung von Programmen.

Der Natural-Profiler wird zur Erstellung von Profilen (Profiling) für Natural-Anwendungen verwendet. Er sammelt Profiling-Daten immer dann, wenn ein definiertes Natural-Ereignis eintritt, z.B. wenn ein Programm startet oder bevor eine Datenbank aufgerufen wird. Der Natural-Profiler visualisiert die aufgezeichneten Ereignisdaten als Ereignis-Trace und die Aufrufstruktur der ausgeführten Natural-Objekte als Programm-Trace. Die vom Natural-Profiler gelieferte Performance-Auswertung zeigt den Zeitverbrauch und die Trefferzahl der ausgeführten Objekte, Natural-Statements und Programmzeilen.

Sie können Natural Profiler-Ereignisdaten in der Ausgabe der Profiler Utility anzeigen oder die Daten im Text- oder Tabellenformat exportieren. Sie können Natural Profiler-Performance-Analysen in der Eclipse-basierten Entwicklungsumgebung NaturalONE oder mit der Natural Profiler Rich GUI-Schnittstelle (einer Natural for Ajax-Anwendung) visualisieren.

Eine Natural Profiler-Analyse dient als Grundlage für die Performance-Optimierung einer Natural-Anwendung. Der Natural Profiler verschafft Ihnen einen sehr schnellen Überblick über die zeitintensiven Teile einer Natural-Anwendung. Es sind keine Code-Änderungen erforderlich, und außerdem reichen Grundkenntnisse der Anwendung aus.

Schnellstart für das Profiling

Dieser Abschnitt beschreibt kurz die Schritte, die für die Profil-Erstellung von Natural-Batch-Anwendungen und die Anzeige der Ergebnisse erforderlich sind. Die hier aufgeführten Anweisungen können als Richtlinie dienen, wenn Sie mit der Verwendung des Natural Profilers beginnen. Detaillierte Informationen zu den Schritten finden Sie im Rest dieses Kapitels.

Die Schritte hängen, wie in der folgenden Grafik dargestellt, von der Auswertung ab, die Sie für Ihre Anwendung durchführen möchten:

Quick steps to be taken or checked before initiating profiling.

  1. Überprüfen Sie, ob die Voraussetzungen erfüllt sind.

  2. Fügen Sie im Natural Batch-Job die Profiler Utility-Funktionen INIT, FILTER und START hinzu, um die Ereignisdatenerfassung zu starten. Im folgenden Beispiel für z/OS wird das Natural-Programm XPROF in der Library PRFDEMO profiliert:

    //CMSYNIN  DD  *
    PROFILER
    FUNCTION=INIT                /* Initialize profiling
      RESOURCE-NAME='ResNam',REPLACE=YES  /* Resource name
      RESOURCE-LIB=RESLIB        /* Resource library
    FILTER=EVENT                 /* Set event filter
      EVENT=ALL                  /* All events
      STATEMENT=ON               /* Collect statements
    FUNCTION=START               /* Start data collection
    END-PROFILER                 /* End Profiler input 
    LOGON PRFDEMO
    XPROF
    10000
    FIN

    Im obigen Beispiel werden die Profiler-Ereignisdaten in eine Ressourcendatei mit dem Namen ResNam.nprf in der Library RESLIB geschrieben. Siehe auch Profilierung initialisieren und Datensammlung starten und anhalten.

  3. Öffnen Sie die NPRF-Ressource in NaturalONE, um die Hot-Spots und das Ereignis-Tracing zu sichten.

  4. Starten Sie einen Natural-Batch-Job mit der READ-Funktion der Profiler Utility, um ein Ereignis-Tracing, ein Programm-Tracing und die Profiler-Statistiken zu drucken. Beispiel:

    FUNCTION=READ           /* Read Profiler data
      RESOURCE-LIB=RESLIB   /* Resource library
      RESOURCE-TYPE=NPRF    /* Use resource type NPRF
      EVENT=ON              /* Print event trace
      PROGRAM=ON            /* Print program trace
      STATISTICS=ON         /* Print statistics

    Siehe auch Lesefunktion (READ) der Profiler Utility. In diesem Abschnitt wird auch beschrieben, wie Sie eine Transaktionszusammenfassung generieren.

  5. Konsolidieren (aggregieren) Sie die Ereignisdaten aus der Profiler Rich GUI-Schnittstelle oder starten Sie einen Natural-Batch-Job mit der Profiler Utility-Funktion CONSOLIDATE. Beispiel:

    FUNCTION=CONSOLIDATE    /* Consolidate Profiler data
      RESOURCE-LIB=RESLIB   /* Resource library
      REPLACE=YES           /* Replace resource

    Die konsolidierten Profiler-Ereignisdaten werden in die Ressource ResNam.nprc in der Library RESLIB geschrieben. Siehe Ereignisdaten konsolidieren.

  6. Öffnen Sie die NPRC-Ressource in NaturalONE, um die Hot-Spots zu sichten.

  7. Öffnen Sie die NPRC-Ressource mit der Profiler Rich GUI-Schnittstellenfunktion Data Evaluation oder Program Analysis, um die Profiler-Daten in einer grafischen, interaktiven Browser-Oberfläche zu visualisieren.

  8. Starten Sie einen Natural-Batch-Job mit der Profiler Utility-Funktion READ, um eine Programmzusammenfassung, eine Zeilenzusammenfassung und die Profiler-Statistiken zu generieren. Beispiel:

    FUNCTION=READ           /* Read Profiler Data
      RESOURCE-LIB=RESLIB   /* Resource library
      RESOURCE-TYPE=NPRC    /* Use resource type NPRC
      PROGRAM=ON            /* Print program summary
      LINE=ON               /* Print line summary
      STATISTICS=ON         /* Print statistics

    Siehe auch Lesefunktion (READ) der Profiler Utility. In diesem Abschnitt wird auch beschrieben, wie Sie eine Transaktionszusammenfassung generieren.

Anmerkungen:

  1. Wenn der Ressourcenname nicht explizit in der READ- oder CONSOLIDATE-Funktion der Profiler Utility angegeben wird, wird die zuletzt erstellte NPRF- oder NPRC-Ressource in der Library verwendet.
  2. Wenn Sie vorhaben, ein Profil einer langlaufenden Batch-Anwendung zu erstellen, lesen Sie den Abschnitt Langlaufende Anwendungen profilieren. Er behandelt Strategien, wie die Anzahl der zu überwachenden Ereignisse minimiert werden kann.
  3. Der NaturalONE Profiler und die Profiler Rich GUI-Schnittstelle werden in der NaturalONE-Dokumentation ausführlich beschrieben.

Plattformspezifische Profil-Erstellung

Sie können den Natural-Profiler für die Profil-Erstellung von Natural-Anwendungen auf Linux-, Windows- und Großrechner-Plattformen verwenden. Wie die Profil-Erstellung erfolgt, hängt von der Plattform und dem verwendeten Verarbeitungsmodus der Anwendung ab:

Großrechner

  • Interaktive Großrechner-Anwendungen werden mit dem NaturalONE Profiler oder der Natural Profiler Utility im Online-Modus profiliert.

  • Interaktive Großrechner-Anwendungen, die remote über Natural Studio oder Natural RPC ausgeführt werden, werden mit der Natural Profiler Utility im Batch-Modus profiliert.

  • Großrechner-Batch-Anwendungen werden mit der Natural Profiler-Utility im Batch-Modus profiliert.

Linux und Windows

  • Interaktive Linux- und Windows-Anwendungen werden mit dem NaturalONE Profiler bzw. dem Natural Profiler for Linux bzw. Windows profiliert.

  • Linux- und Windows-Batch-Anwendungen werden mit dem Natural Profiler für Linux bzw. Windows profiliert.

Werkzeuge zur Profil-Erstellung (Natural Profiling Tools)

In diesem Abschnitt werden die wichtigsten Funktionen der Natural Profiling Tools zusammengefasst:

Funktionsumfang des NaturalONE Profiler

  • Erstellt Profile für interaktive Natural-Anwendungen auf Linux-, Windows- oder Mainframe-Plattformen in einer Eclipse-basierten Entwicklungsumgebung.

  • Liest und analysiert Profiler-Ressourcendateien mit Ereignisdaten, die von der Großrechner-Profiler Utility im Batch-Modus oder vom Natural Profiler für Linux und Windows gesammelt wurden.

  • Bietet Funktionen für die Verarbeitung großer Datenmengen:

    • Ereignisfilter,

    • Stichprobentechnik,

    • Datenkonsolidierung.

  • Performance-Analysen von Programmen, Statements und Programmzeilen:

    • CPU-Zeit,

    • verstrichene (elapsed) Zeit,

    • Trefferquote.

  • Zeigt ein Ereignis-Trace an.

  • Gestattet die direkte Navigation von einer profilierten Programmzeile zum entsprechenden Quellcode.

  • Speichert die Profiler-Daten als XML-formatierte Datei und lädt die Daten wieder zurück.

Funktionsumfang des Natural Profiler für Linux und Windows

  • Erstellt Profile für interaktive oder Natural-Batch-Anwendungen von einer Linux- oder Windows-Plattform aus.

  • Bietet Funktionen für die Verarbeitung großer Datenmengen:

    • Ereignisfilter,

    • Stichprobentechnik,

    • Datenkonsolidierung.

  • Speichert die Profiler-Daten als Profiler-Ressourcendatei.

Funktionsumfang der Profiler Utility

Online-Modus (Großrechner)
  • Erstellt Profile für interaktive Natural-Anwendungen auf Großrechner-Plattformen.

  • Bietet einen Ereignisfilter.

  • Zeigt ein Ereignis-Trace an.

  • Speichert die Profiler-Daten in einem Tabellenformat.

  • Speichert die Profiler-Daten als Profiler-Ressourcendatei.

Anmerkung
Die Menge der von der Profiler Utility im Online-Modus gesammelten Daten ist durch die relativ geringe Größe des Natural Data Collector-Puffers begrenzt, der in einem Wrap-Around-Modus arbeitet. Außerdem wird bei der Ausführung unter CICS oder Com-plete die CPU-Zeit nicht bereitgestellt. Generell empfehlen wir Ihnen, den NaturalONE Profiler für das Profiling interaktiver Natural Großrechner-Anwendungen zu verwenden, weil der NaturalONE Profiler keine Größenbeschränkungen hat und CPU-Performance-Analysen unterstützt.

Batch-Modus (Großrechner)
  • Erstellt Profile für Natural-Batch- und Natural-RPC-Anwendungen auf Großrechner-Plattformen.

  • Erstellt Profile für interaktive Großrechner-Anwendungen, die remote von Natural Studio ausgeführt werden.

  • Bietet Funktionen für die Verarbeitung großer Datenmengen:

    • Ereignis-, Programm-, Zähl- und Zeitfilter,

    • Stichprobentechnik,

    • Datenkonsolidierung.

  • Speichert Profiler-Daten als Profiler-Ressourcendatei.

  • Liest und analysiert Profiler-Ressourcendateien.

  • Druckt Programm- und Ereignis-Traces aus.

  • Analysiert die Programm-Performance.

  • Bewertet die Antwortzeiten von Transaktionen.

  • Sammelt und zeigt Profiler-Eigenschaften und Statistiken an.

  • Bietet eine Funktion zum Löschen einer Natural Profiler-Ressourcendatei.

Batch-Modus (Linux und Windows)
  • Liest und analysiert Profiler-Ressourcendateien.

  • Bietet Funktionen für die Verarbeitung großer Datenmengen:

    • Datenkonsolidierung

  • Speichert konsolidierte Profiler-Daten als Profiler-Ressourcendatei.

  • Druckt Programm- und Ereignis-Traces aus.

  • Analysiert die Programm-Performance.

  • Zeigt Profiler-Eigenschaften und Statistiken an.

Funktionsumfang des Natural Profiler Rich GUI-Schnittstelle

  • Listet die Profiler-Ressourcen einer bestimmten Library auf.

  • Zeigt Profiler-Eigenschaften und Statistiken an.

  • Bietet eine Funktion zur Konsolidierung von Profiler-Daten.

  • Bietet eine Funktion zum Löschen einer Natural Profiler-Ressourcendatei.

  • Visualisiert Profiler-Daten auf einer grafischen, interaktiven Browser-Oberfläche.

  • Analysiert die Anwendungs-Performance anhand von Auswahlkriterien wie Library, Programm, Programmzeile oder Benutzer für verschiedene Leistungskennzahlen (KPIs, Key Performance Indicators):

    • CPU-Zeit,

    • verstrichene (elapsed) Zeit,

    • Adabas-Kommandozeit,

    • Trefferzahlen wie Datenbankaufrufe oder Laufzeitfehler.

  • Kombiniert den Programmquellcode mit den Profiler-Daten zur Programmanalyse.

Natural Profiler-Auswertungen

Die folgende Tabelle enthält eine Zusammenfassung der Auswertungskriterien, die von den Natural Profiling Tools zur Verfügung gestellt werden.

Auswertung Profiling-Tool Beschreibung
Program Summary Profiler Utility (Batch) Programmzusammenfassung

Zeigt die CPU-Zeit, die für jedes ausgeführte Natural-Objekt aufgewendet wurde, und die Natural-Ereignisse, die in einem Objekt aufgetreten sind.

Siehe auch Beispiel für eine Programmzusammenfassung.

Line Summary Profiler Utility (Batch) Zeilenzusammenfassung

Zeigt die während der Natural-Programmausführung verbrauchte CPU-Zeit und die verstrichene (elapsed) Zeit für jede einzelne Quellcodezeile sowie die Anzahl der Natural-Ereignisse, die in der Zeile aufgetreten sind.

Siehe auch Beispiel für eine Zeilenzusammenfassung.

Transaction Summary Profiler Utility (Batch) Transaktionszusammenfassung

Zeigt die für jede einzelne Transaktion verbrauchte Antwortzeit und die Anzahl der Natural-Ereignisse, die während der Transaktionsausführung aufgetreten sind.

Weitere Informationen siehe Transaktionszusammenfassung.

Siehe auch Beispiel für eine Transaktionszusammenfassung.

Hot Spots NaturalONE Profiler Brennpunkte

Zeigt die von Natural-Objekten, Statements und Programmzeilen verbrauchte CPU-Zeit und die verstrichene (elapsed) Zeit sowie die Häufigkeit der Ausführung eines Objekts oder Statements.

Von einer profilierten Programmzeile aus können Sie direkt zu der entsprechenden Quellcode-Zeile navigieren.

Siehe auch die entsprechende Beschreibung der Hot Spots unter Using the Natural Profiler in der NaturalONE-Dokumentation.

Data Evaluation Natural Profiler Rich GUI-Schnittstelle Datenauswertung

Visualisiert die Profiler-Daten auf einer interaktiven Rich-GUI-Benutzeroberfläche. Sie können die Verteilung der CPU- und verstrichenen (elapsed) Zeit, die Adabas-Befehlszeit oder verschiedene Trefferquoten (Hit-Counts) auswerten und Kriterien für die Verteilung auswählen.

Siehe auch das Beispiel für eine Datenauswertung im Abschnitt Natural Profiler Rich GUI-Schnittstelle.

Program Analysis Natural Profiler Rich GUI-Schnittstelle Programmanalyse

Kombiniert den Quellcode der überwachten Programme mit den Profiler-Daten, wobei der Quellcode entsprechend dem Wert des ausgewählten KPIs eingefärbt wird.

Siehe auch das Beispiel für eine Programmanalyse im Abschnitt Natural Profiler Rich GUI-Schnittstelle.

Program Trace Profiler Utility (Batch) Programm-Trace

Zeigt den Programmablauf der profilierten Anwendung in der Aufrufhierarchie und die Anzahl der aufgetretenen Ereignisse.

Siehe auch Beispiel für einen Programm-Trace.

Event Trace

NaturalONE Profiler,
Profiler Utility

Ereignis-Trace

Listet die aufgezeichneten Ereignisdaten in chronologischer Reihenfolge auf.

Siehe auch Beispiel für ein Ereignis-Trace, Beispiel für Trace-Datensätze auflisten, und die entsprechende Beschreibung in der NaturalONE-Dokumentation unter Using the Natural Profiler.

Profiler Properties,
Profiler Statistics

Natural Profiler Rich GUI-Schnittstelle,
Profiler Utility (Batch)

Profiler-Eigenschaften

Listet Profiler-Eigenschaften wie die Profiler-Revision und Statistiken der überwachten Anwendung auf, die z. B. die gesamte CPU- und die verstrichene (elapsed) Zeit anzeigen.

Siehe auch das Beispiel mit Eigenschaften und Statistiken im Abschnitt Natural Profiler Rich GUI-Schnittstelle und Profiler Statistiken (Batch).