GiAPA ZIELE

 

"Applikationsperformance zu analysieren, Gründe für Ineffizienzen zu identifizieren und ermitteln was zu tun ist, um die Laufzeit zu verbessern und die CPU Nutzung zu verringern, ist eine komplexe Aufgabe

die eine spezielle Ausbildung voraussetzt, die über das, was ein durchschnittlicher Entwickler gelernt hat, hinausgeht …"

Wir wollten ein Software Produkt kreieren, das das obige, oft gehörte Statement, Lügen straft.

Mit GiAPA's automatischer Datensammlung und -analyse ist es für den durchschnittlichen Operator, Entwickler, oder System Analyst einfach, die meisten Performance Ineffizienzen zu lokalisieren und diagnostizieren.


GiAPA wurde designed um Ihnen zu zeigen:
1. Welche Ihrer Anwendungen Performance Probleme hat
2. Welche Probleme das sind
3. Wo sie sind, z.B.in welchen Threads, Programmen und Statements
4. Wie die Anwendung verbessert werden kann um effizient zu laufen

GiAPA wurde NICHT designed um Ihnen zu zeigen, welche zusätzliche Hardware Sie kaufen müssen

um die Performanceprobleme zu lösen (=verstecken?).

 

 

ANDERE VORTEILE


Was sind die Vorteile der (weiteren) Nutzung von GiAPA wenn Sie keine Performance Probleme (mehr) haben?

Um die Performance aller Jobs und Tasks die auf dem Server laufen zu analysieren, sammelt GiAPA natürlich eine Menge an Daten - verbraucht aber dennoch weniger als 0,1% einer CPU, darum läuft die GiAPA Datensammlung normalerweise ständig auf dem System.


Deshalb haben GiAPA Nutzer entdeckt das die GiAPA Daten, trotzdem Sie bereits ineffizient laufende Applikationen optimiert hatten, eine wahre Goldmine an Informationen sind.

1. um zu beobachten wer wann welche Programme startet
 

2. um jegliche Performance Probleme zu analysieren, auch nachdem sie stattfanden
 

3. um Grafiken zu erzeugen, die es dem Management erlauben den Trend des Resourcenverbrauchs

   pro Applikation, pro Benutzer, pro Stunde pro "was Sie wollen" … zu sehen.
 

4. um die Administratoren zu unterstützen, die tägliche Kontrolle der Maschinenauslastung durchzuführen
 

5. um eine Basis für ein einfaches Jobaccounting zu haben
 

6. um komplexe Kapazitätsplanungen machen zu können
 

7. um die Qualitätskontrolle von neuen Anwendungen machen zu können bevor sie in Produktion gehen
 

BEDIENKOMFORT

 

1. Für die Installation benötigt man typischerweise weniger als eine halbe Stunde, dies inklusive Download

    der Software und der Bedienungsanleitung.
 

2. Das Setup der GiAPA Datensammlung funktioniert mit Hilfe eines einfachen CL-Kommandos, dass

    auch eine optionale Datenlöschung nach ?? Tagen ermöglicht.
 

3. Ein Menüpunkt startet einen Batchjob, der die, über einige Stunden oder mehrere Tage,

    gesammelten Daten analysiert.
 

4. Nachdem GiAPA die Daten analysiert hat, stehen zahlreiche unterschiedliche Auswertungen,

    Anzeigen oder Charts bereit um die Ergebnisse zu präsentieren (es ist KEIN Expertenwissen

    erforderlich)

 

Mit den Worten: "Ich finde GiAPA intuitiv!", hat ein belgischer IBM Software Techniker unserem Produkt das bestmögliche Kompliment gemacht.
 

 

 

GESAMMELTE DATEN

GiAPA sammelt alle 15 Sekunden für jeden Job:
 

· Job- oder Taskname, Benutzername, 

  Jobnummer
· Jobtyp, -priorität, -pool, -datum und -Zeit
· CPU Millisekunden
· aktive Threads
· aktueller Benutzer

· Kommunikation Puts und Gets
· Exceptions (numerischer Overflow)
· Transaktionen (Nummer und Antwortzeiten)
· Druckzeilen
· allokierte / deallokierte Seiten
· ASP Disk usage %

· I/Os (physisch/logisch, synchron/asynchron, lesen/schreiben, Datenbank/nicht-DB,

  miscellaneous/permanentes Schreiben)

 

Zusätzliche Informationen für HotSpot Jobs
(HotSpot = Job der 6 % CPU übersteigt - Benutzer muss evtl. das Limit anpassen)

· Aufrufstapel bis hinunter auf die Nummer des aktiven Statements
· detaillierte Statistik für alle offenen Dateien
 


(Unseres Wissens ist GiAPA das einzige Werkzeug, dass Daten über die Dateibenutzung bis hinunter zur individuellen Satznummer in der Datei, sammelt - - - Sie können sich wahrscheinlich nicht vorstellen, wie viel Optimierungspotential wir bei der Analyse dieser Daten finden!)
 

 

RESOURCENVERBRAUCH

 

GiAPA Performance-Datensammlung:

Sie verbraucht typischerweise weniger als 0.1 % einer CPU und extrem wenig I/Os beim Datensammeln über alle Jobs und Tasks alle 15 Sekunden. Der Verbrauch kann ansteigen, falls das Limit für die Sammlung zusätzlicher "HotSpot"-Daten wesentlich niedriger als die Standardeinstellung gesetzt wurde.

Expansion und Analyse:

Läuft überwiegend CPU-gebunden als ein Batchjob mit niedriger Priorität und ist in den meisten Fällen eine Sache von wenigen Minuten. Um 10 Millionen gesammelter Job/Intervall Performance-Datensätze zu verarbeiten, brauchte ein Model 270 in Prozessorklasse P05 nur 6 Minuten Gesamt- und 5 Minuten CPU-Zeit.

GiAPA Auswertungen:

Bemerkung: Zusätzlich zur unteren Liste sind zahlreiche grafische Auswertungen verfügbar - automatisch generierte oder benutzerdefinierte Kuchen-, Balken-, Spalten-, Bereichs- oder Liniendiagramme

Grafik:

Die Erstellung der unterschiedlichen Charts dauert normalerweise ein bis zwei Sekunden - sie werden im Browser auf Ihrem PC oder MAC dargestellt, werden aber durch Programmcode, der auf Ihrem Server gespeichert ist, produziert.


Wie können die Daten mit dem Verbrauch von weniger als < 0.1 % einer CPU gesammelt werden?

Grund 1:

I/Os sind typischerweise für 60 bis 85 % des CPU Verbrauchs auf einem Server mit kommerziellen Anwendungen verantwortlich. GiAPA speichert die gesammelten Daten in einem komprimierten binären Format und bildet lange Datenblöcke um die I/Os auf einem absoluten Minimum zu halten.

Grund 2:

Die Performancedaten (= Resourcenverbrauch) aller Jobs werden sowieso immer vom Betriebssystem ermittelt. Diese bereits zur Verfügung stehenden Daten werden GiAPA alle 15 Sekunden im Speicher übergeben ohne dabei I/Os zu verursachen.

Grund 3:

GiAPA verarbeitet die Performancedaten "Real-time", sofort nach dem Aufspüren von Jobs die so viele Resourcen verbrauchen, das sie Performance Probleme verursachen können. Nur für diese Jobs sammelt GiAPA zusätzliche "HotSpot"-Informationen über Programme und Dateinutzung - auch diese Daten werden im (Arbeits-)Speicher übergeben ohne irgendwelche I/Os zu verbrauchen.

 

 

GIAPA AUSWERTUNGEN

Bemerkung: Zusätzlich zur unteren Liste sind zahlreiche grafische Auswertungen verfügbar - automatisch generierte oder benutzerdefinierte Kuchen-, Balken, Spalten-, Bereichs- oder Liniendiagramme
 

Data Analysis Statistics
Job Performance Summaries
(30 different sort criteria)
Job Open Data Path Overview
Job File Statistics per Interval
Job File Analysis
Job Call Stack per Interval
Job Function / Thread Overview
Analyzed Call Stack
Entire Call Stack (<= 99 levels)
Job Details per Interval
Summary per 15 Seconds Interval
Compare Selected and *ALL Jobs
Resource Usage Totals by Job Name
Resource Usage Totals by User
HotSpots per User
HotSpots per Program
CPU and ASP % per Interval
Interval Summary for All Resources
Interval Histogram by Resource
File Analysis Based On Hotspots

Index Generations per Phys. File
Jobs Having Priority Modified
CPU Usage Statistics
Analyzed PEX Statistics
List Call Stack Based on PEX

PEX Profile
Job Trace - Elapsed and CPU Time
Job Trace - Exception Report
Job Trace - Program Summary
File Open and Close by Millisecond
Message Count by Message ID
Time Tracking Utility Report
Files Having Old Index Type
Unused Data Base Files
Reorganization Candidates
Files Having Inefficient Allocation
Files Opens Greater Than I/Os
Journal Entry Analysis Summary
JAVA Storage leaks
Statistics over Repeated Use of Records
Query Usage: Name, User, Time

 

 

LOOP TRAP


Weil GiAPA während der Datensammlung alle 15 Sekunden Informationen über alle Resourcen die ein Job oder Task verbraucht bekommt, kann das Tool feststellen, ob ein Job sich in einer Endlosschleife befindet.

Falls die LOOPTRAP-Funktion beim Start der Datensammlung aktiviert ist, sendet GiAPA eine Nachricht mit Level 60 an die Nachrichten-Warteschlange des System-Operators, wenn es scheint, dass der Job sich in einer Endlosschleife befindet.

Die Nachricht wird verschickt, falls keine Leseoperationen in der Datenbank in xxx Minuten und die CPU-Benutzung in der gleichen Periode über yyy % ist, dabei sind xxx und yyy benutzerdefinierte Grenzen.

Es gibt eine Ausnahmeliste für Jobnamen die nie vom Looptrapper gemeldet werden sollen.
 

 

 

DATENSICHERHEIT


Um die Performancedaten abzufragen benutzt GiAPA nur IBM Standard APIs und Kommandos. Die Programme, Datenbankdateien usw. des Kunden werden natürlich nie von GiAPA modifiziert, es wird

aber mit Kommandos wie DSPFD oder DSPOBJD (oder vergleichbaren APIs) darauf zugegriffen, um Basisinformationen über die Objekte, die von den zu analysierenden Jobs benutzt werden, zu sammeln.


Benötigte Berechtigungen um die Performance Daten zu sammeln

Die Standardberechtigung die IBM manchen der APIs auf die zugegriffen wird mitgibt, limitiert ihre Benutzung ziemlich strikt. Das ist der Grund, weshalb man *JOBCTL und *ALLOBJ, *SERVICE oder

sogar QSECOFR Berechtigung braucht um die GiAPA Datensammlung laufen zu lassen. (Beispiel: Das API QPMLPFRD "List Performance Data" wird mit *PUBLIC Berechtigung *EXCLUDE ausgeliefert, deshalb gibt es die Performancedaten nur an den Caller weiter.)

 


 

MITBEWERBER

 

Wir haben nie welche getroffen -
                                    - es gibt einige "nette" Tools auf dem Markt, aber…


°   manche brauchen jemanden, der sich das Problem anschaut wenn es passiert *)
°   manche verlangen, dass eine spezielle Datensammlung gestartet ist, bevor das Problem passiert *)
°   manche analysieren nur ein oder zwei Jobs oder Programme gleichzeitig *)
°   manche sind so hoch im Resourcenverbrauch, dass die Datensammlung auf ein Minimum reduziert

    werden sollte *)
°   manche überschütten sie mit so viel Informationen, dass es einfacher ist eine Nadel im Heuhaufen

    zu finden *)
°   manche sind so komplex, dass man einen teuren Experten braucht, um die Antworten zu finden *)
 

*) = Statement trifft nicht auf GiAPA zu!
 

F A Q s

 

Was ist ein HotSpot?

Ein HotSpot wird generiert, wenn die GiAPA Standard-Performancedatensammlung einen Job gefunden hat, der innerhalb eines bestimmten Intervalls, die vom Benutzer beim Start der Sammlung

angegebenen Limits für CPU-Verbrauch und I/O Benutzung, überschritten hat. Jeder HotSpot veranlasst GiAPA zusätzlich Aufrufstapel- und Dateibenutzungsinformationen zu sammeln.

Zeigen HotSpots alle Details eines Jobs?

Nein. HotSpots sind Stichproben die nur genommen werden, wenn die Limits des Resourcenverbrauchs überschritten werden. Aber für Jobs die wiederholt (zu) viele Resourcen verbrauchen und daher viele HotSpots verursachen, werden diese Stichproben ziemlich genau und glaubwürdig und können für eine detaillierte Analyse des Verhaltens des Jobs verwendet werden.

Was ist ein Intervall?

Ein Datensammlungsintervall beträgt normalerweise 15 Sekunden, selten länger. Es definiert die Zeit zwischen zwei GiAPA Standard-Performancedatensammlungen.

Wie wird die CPU Prozentzahl berechnet?

Die totale CPU-Prozentzahl für die ganze Maschine beinhaltet alle CPUs.
Die CPU-% für einen Job oder Task, ist die Prozentzahl nur einer CPU.

Was wird von den "MAX" Werten gezeigt?

Die "MAX value"-Zeile zeigt die maximale Benutzung einer Resource innerhalb jedes Intervalls in dem

der Job während der Datensammlung lief. Sie zeigt die Spitzen.