|
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.
|