Buffer Pool-Statistiken anzeigen

#### Search Results

Search

# Buffer Pool-Statistiken anzeigen

Die Funktion Buffer Pool Statistics ruft das gleichnamige Menü auf, in dem Sie Statistiken zum Buffer Pool abrufen können (einschließlich Hash-Tabellen-Statistiken).

Um die Funktion aufzurufen:

- Geben Sie im SYSBPM-Hauptmenü (Main Menu) den Funktionscode `A` ein.

  Oder:
  Geben Sie das folgende SYSBPM-Direktkommando ein:

      DISPLAY STATISTICS

  Das Menü Buffer Pool Statistics wird angezeigt.

Die im Menü Buffer Pool Statistics verfügbaren Funktionen und die auf den Bildschirmen verfügbaren Kommandos zum Aufrufen dieser Funktionen werden in diesem Kapitel beschrieben.

- Allgemeine Buffer Pool-Statistiken anzeigen

- Buffer Pool Load/Locate-Statistiken

- Buffer Pool-Fragmentierung

- Nutzung der internen Funktionen

- Buffer Pool Hash Table-Statistiken

- Performance-Informationen anzeigen

- PF-Tasten und Direktkommandos

## Allgemeine Buffer Pool-Statistiken anzeigen

Die Funktion General Buffer Pool Statistics dient zur Überwachung der Performance des Buffer Pool und zeigt Statistiken über die Aktivität des Buffer Pool an.

Um die Funktion aufzurufen:

- Geben Sie im Menü Buffer Pool Statistics den Funktionscode `G` ein.

      G

  Oder:
  Geben Sie das folgende SYSBPM-Direktkommando ein:

      DISPLAY GENERAL

  Der Bildschirm General Buffer Pool Statistics erscheint.

Die im Bildschirm General Buffer Pool Statistics angezeigte Statistik ist eine Momentaufnahme des Buffer Pool, die jedes Mal, wenn Sie ENTER drücken, aktualisiert wird. Die folgenden Informationen werden angezeigt:

Feld | Erläuterung
--- | ---
Buffer Pool Address | Die Adresse des Buffer Pool.
Directory Section | Die Adresse des Verzeichnisabschnitts des Buffer Pool relativ zum Anfang des Buffer Pool. Für jedes in den Buffer Pool geladene Objekt ist ein Verzeichniseintrag erforderlich, der Informationen über dieses Objekt enthält. Der Platz für diese Verzeichniseinträge wird im Buffer Pool zugeordnet.
Text Record Section | Die Adresse des Textsatzabschnitts relativ zum Anfang des Buffer Pool. Nachdem der von den Verzeichniseinträgen belegte Platz zugeordnet wurde, wird der verbleibende Platz in Blöcke aufgeteilt, die Textsätze genannt werden (deren Größe standardmäßig 4 KB beträgt). Ein Objekt kann je nach seiner Größe einen oder mehrere Textsätze belegen.
Cache attached | Der Name des Cache, der dem Buffer Pool zugeordnet ist. Dies ist entweder der Name des Datenraums oder, im Fall eines Speicherobjekts (64-Bit-Speicherung), `MEMOBJ`.
Buffer Pool Size (MB) | Die Größe des gesamten Buffer Pools in MB. Die Buffer Pool-Größe kann mit dem Makro `NTBPI` im Parametermodul oder mit dem Profilparameter `BPI` angegeben werden, siehe Parameter Referenz-Dokumentation.
Directory Entry Size | Die Größe eines Verzeichniseintrags in Bytes.
Text Record Size (KB) | Die Größe eines Textsatzes in KB. Die Größe eines Textsatzes kann mit dem Makro `NTBPI` im Parametermodul oder mit dem Profilparameter `BPI` angegeben werden, siehe Parameter Referenz-Dokumentation. Sie können die Textsatzgröße eines vorhandenen Buffer Pools ändern, wenn Sie den Buffer Pool mit dem Kommando `INITIALIZE` reinitialisieren. Die Standardgröße der Textsätze ist auf 4 KB eingestellt. Wenn Sie jedoch Anwendungen verwenden, die aus vielen kleinen Objekten bestehen, empfehlen wir Ihnen, die Größe auf 2 KB zu reduzieren. Dadurch wird der Prozentsatz des ungenutzten Platzes im Buffer Pool verringert, obwohl dies dazu führen kann, dass Algorithmus 2 (siehe METHOD=S in der Operations-Dokumentation) häufiger aufgerufen wird.
Buffer Pool Start | Das Datum und die Uhrzeit, wann der Buffer Pool ursprünglich gestartet wurde.
Last Initialization | Das Datum und die Uhrzeit der letzten Initialisierung des Buffer Pool sowie die Kennung des Benutzers, der die Initialisierung durchgeführt hat. Der Buffer Pool wird initialisiert: beim ursprünglichen Start des Buffer Pool, bei der Ausführung des SYSBPM-Direktkommandos `INITIALIZE` oder bei der Ausführung des Kommandos `REFRESH` des GBP-Betriebsprogramms, siehe auch Global Buffer Pool Operating Functions in der Operations-Dokumentation.
Text Records - Total | Die Gesamtzahl der Textsätze.
Text Records - Used | Die Anzahl der aktuell verwendeten Textsätze.
Text Records - Used in % | Der Prozentsatz der aktuell verwendeten Textsätze.
Text Records - Max Used | Die maximale Anzahl der verwendeten Textsätze.
Text Records - Total Size | Der von allen verwendeten Textsätzen belegte Gesamtspeicherplatz, d. h. Text Records - Used multipliziert mit der Größe eines einzelnen Textsatzes. Die Differenz zwischen der Gesamtgröße der Textsätze und der Gesamtgröße des Objekts zeigt die Menge des ungenutzten Platzes im Bereich der Textsätze an und kann dem Systemadministrator als Anhaltspunkt dienen, ob die Größe der Textsätze geändert werden sollte.
Text Records - Avg Usage % | Die durchschnittliche Nutzung in Prozent aller genutzten Textsätze, d. h. Objects - Total Size geteilt durch Text Records - Total Size. Dieser Wert sollte nicht wesentlich kleiner als 75 % sein. Wenn der Buffer Pool fast voll ist, deutet jeder Wert über 75% auf eine gute Auslastung des Buffer Pool hin. Liegt die Auslastung deutlich unter 75 %, sollte die Größe der Textsätze verringert werden.
Space Used % | Die tatsächliche Nutzung des Textsatzbereichs in Prozent, d. h. Objects - Total Size geteilt durch die Gesamtgröße der Textsatzbereichs (Text Records). Tipp Wenn der Buffer Pool fast voll ist (d.h. der Wert im Feld Text Records - Used beträgt fast 100%), deutet jeder Wert über 75% auf eine gute Auslastung des Buffer Pool hin. Liegt die Auslastung deutlich unter 75%, sollte die Textsatzgröße reduziert werden.
Objects - Loaded | Die Anzahl der derzeit in den Buffer Pool geladenen Objekte.
Objects - Max Loaded | Die maximale Anzahl von Objekten, die seit dem Start des Buffer Pool jemals gleichzeitig in den Buffer Pool geladen wurden.
Objects - Total Size | Die Gesamtgröße der zurzeit geladenen Objekte in Bytes.
Objects - Avg TR Used | Die durchschnittliche Anzahl der von einem Objekt verwendeten Textsätze.
Objects - SumOfUseCounts | Die Summe der Nutzungszahlen aller derzeit in den Buffer Pool geladenen Objekte. Die Nutzungszahl zählt alle Anwendungen, die ein Objekt derzeit ausführen. Wenn ein Objekt derzeit nicht verwendet wird, ändert sich sein Nutzungszähler auf `0` (Null).
Objects - AvgLifetimeUsed(min) | Die durchschnittliche Lebensdauer (in Minuten) der zurzeit in den Buffer Pool geladenen Objekte.
Objects - AvgLifetimeReplace(min) | Die durchschnittliche Lebensdauer (in Minuten) der Objekte, die bereits im Buffer Pool ersetzt wurden.

## Buffer Pool Load/Locate-Statistiken

Die Funktion Buffer Pool Load/Locate Statistics liefert statistische Informationen über das Laden von Objekten in den Buffer Pool und das Auffinden von Objekten im Buffer Pool. Diese Informationen dienen auch als Anhaltspunkt für die Performance des Buffer Pool.

Um die Funktion Buffer Pool Load/Locate Statistics aufzurufen:

- Geben Sie im Menü Buffer Pool Statistics den Funktionscode `L` ein.

  Oder:
  Geben Sie das folgende SYSBPM-Direktkommando ein:

      DISPLAY LOAD

  Der Bildschirm Buffer Pool Load/Locate Statistics wird angezeigt.

Die auf dem Bildschirm Buffer Pool Load/Locate Statistics angezeigten Statistiken sind Momentaufnahmen des Buffer Pool, die jedes Mal, wenn Sie ENTER drücken, aktualisiert werden.

Die folgenden Informationen werden auf dem Bildschirm angezeigt:

Feld | Erläuterung
--- | ---
Total Locate Calls | Die Gesamtzahl der Aufrufe zum Auffinden eines Objekts, d.h. wie oft der Natural Buffer Pool Manager aufgefordert wurde, den Buffer Pool nach einem Objekt zu durchsuchen. Wenn die Suche erfolgreich war, wurde das Objekt im Buffer Pool oder im BP Cache gefunden und muss nicht aus einer Natural-Systemdatei geladen werden, wodurch Aufrufe und E/A eingespart werden.
Total Locate Calls - successful | Die Gesamtzahl der erfolgreichen Locate-Aufrufe als absolute Zahl.
Total Locate Calls - failed | Die Gesamtzahl der fehlgeschlagenen Locate-Aufrufe.
Quick Locate Calls | Die Gesamtzahl der Quick Locate-Aufrufe. Ein Quick Locate-Aufruf ist der Versuch, ein Objekt im Buffer Pool unter Verwendung der internen Fast Locate-Tabelle zu finden. Weitere Informationen finden Sie unter Interne Fast-Locate-Tabelle. In diesem Fall werden die Library (Name, Datenbankkennung und Dateinummer) und die Position des Objekts im Buffer Pool des letzten erfolgreichen Locate-Aufrufs für dieses Objekt erneut verwendet, um das Objekt zu finden. Dies ist die effizienteste Methode zum Auffinden eines Objekts.
Quick Locate Calls - successful | Die Anzahl der erfolgreich durchgeführten Quick-Locate-Aufrufe.
Quick Locate Calls - failed | Die Anzahl der fehlgeschlagenen Quick Locate-Aufrufe. Ein fehlgeschlagener Quick Locate-Aufruf zeigt an, dass ein Objekt nicht an seiner vorherigen Position im Buffer Pool unter Verwendung der internen Fast Locate-Tabelle gefunden werden konnte (siehe den entsprechenden Abschnitt unter Performance-Aspekte). Dies geschieht, wenn das Objekt entweder aus dem Buffer Pool gelöscht oder an eine andere Position verschoben wurde. Ein fehlgeschlagener Quick-Locate-Aufruf führt zu einem Normal-Locate-Aufruf, jedoch ohne Steplib-Suche, da die Natural-Laufzeit sich die Library merkt, die das Objekt enthält.
Normal after Quick | Die Anzahl der Normal-Locate-Aufrufe, die aus Quick Locate Calls - failed resultieren. Der Wert von Normal after Quick ist immer identisch mit dem Wert von Quick Locate Calls - failed.
Normal after Quick - successful | Die Anzahl der erfolgreichen Normal-Locate-Aufrufe, die aus Quick Locate Calls - failed resultieren. Ein Normal after Quick-Aufruf ist erfolgreich, wenn sich das angeforderte Objekt noch im Buffer Pool befindet, aber an einer anderen Position.
Normal after Quick - failed | Die Anzahl der fehlgeschlagenen Normal-Locate-Aufrufe, die aus Quick Locate Calls - failed resultieren. Ein fehlgeschlagener Normal after Quick-Aufruf zeigt an, dass das angeforderte Objekt im Buffer Pool nicht mehr verfügbar ist. Infolgedessen wird das Objekt aus der Systemdatei unter Verwendung des Library-Eintrags in der i internen Fast-Locate-Tabelle neu geladen (siehe den entsprechenden Abschnitt in Buffer Pool Load/Locate-Statistiken).
Normal Locate Calls | Die Gesamtzahl der Normal Locate-Aufrufe. Ein Normal Locate-Aufruf ist der Versuch, ein Objekt im Buffer Pool zu finden, ohne die interne Fast Locate-Tabelle zu verwenden (siehe den entsprechenden Abschnitt in Buffer Pool Load/Locate-Statistiken Ein Normal Locate-Aufruf erfolgt immer dann, wenn ein Objekt zum ersten Mal innerhalb einer Natural-Sitzung referenziert wird, nachdem ein Systemkommando `LOGON` ausgeführt wurde. Im Gegensatz zu einem Quick Locate-Aufruf ist der Natural-Laufzeitumgebung noch nicht bekannt, in welcher Library sich das Objekt befindet.
Normal Locate Calls - successful | Die Anzahl der normalen Locate-Aufrufe, bei denen das benötigte Objekt im Buffer Pool gefunden werden konnte.
Normal Locate Calls - failed | Die Anzahl der fehlgeschlagenen normalen Locate-Aufrufe. Ein fehlgeschlagener Normal Locate-Aufruf zeigt an, dass ein Objekt (identifiziert durch seinen Namen und die Library, in der es sich befindet) nicht im Buffer Pool gefunden werden konnte. Ein fehlgeschlagener Normal Locate-Aufruf führt entweder zu einem Laden aus dem BP Cache oder einer Systemdatei oder zu einem Normal Locate-Aufruf für die nächste Library in der Steplib-Kette.
STEPLIB Searches | Die Anzahl der Normal Locate-Aufrufe, die durch fehlgeschlagene Versuche, ein Objekt in einer Steplib-Library zu finden, aufgetreten sind. Normale Locate-Aufrufe, die erfolglose Steplib-Suchen durchführen, führen nicht zum Laden eines Objekts aus dem BP Cache oder der Systemdatei. STEPLIB Searches zählt keine Locate-Aufrufe für Objekte, die weder in der aktuellen Library noch in einer Steplib oder Systemdatei enthalten sind (Fehlermeldung: Ungültiges Kommando, oder Programm existiert nicht in Library). Locate-Aufrufe, die aufgrund fehlerhafter Programmierung fehlschlagen, werden zum Zähler bei Normal Locate Calls - failed addiert. Die Anzahl der STEPLIB-Suchvorgänge (STEPLIB Searches) wird nach der folgenden Formel berechnet: Normal Locate Calls - failed - (Number Loads into BP - Normal after Quick - failed) Je geringer die Anzahl der STEPLIB-Suchvorgänge ist, desto besser ist die Performance des Buffer Pool. Siehe auch Suche in Steplibs.
Number Loads into BP | Die Anzahl der erfolgreich in den Buffer Pool durchgeführten Ladevorgänge. Das Laden in den Buffer Pool (Speicherzuordnungsanforderung) kann entweder durch ein Laden aus der Datenbank oder durch ein Laden aus dem BP Cache ausgelöst werden.
Loads from Cache | Die Gesamtzahl der erfolgreichen Locate-Aufrufe von Objekten, die sich im BP Cache befanden. Diese Information wird nur gezählt, wenn der vorherige Locate-Aufruf (Normal after Quick - failed oder Normal Locate Calls - failed) fehlgeschlagen ist. Sie gibt die Anzahl der gespeicherten Datenbankladungen an. Dies bedeutet, dass das Objekt ohne den BP Cache aus der Datenbank geladen werden müsste.
Loads from DB | Die Anzahl, wie oft ein Objekt aus einer Natural-Systemdatei in den Buffer Pool geladen wurde. Da mehrere Ladeaufrufe erforderlich sein können, um ein einzelnes Objekt zu laden, gibt dieser Wert die tatsächliche Anzahl der Objektladevorgänge seit der letzten Aktualisierung des Buffer Pool an. Beim Laden eines Objekts verwendet der Buffer Pool Manager verschiedene Suchalgorithmen: siehe METHOD=S und METHOD=N in der Operations-Dokumentation.
Loads from DB - finished | Die Anzahl der erfolgreich abgeschlossenen Objektladevorgänge. Ein Objektladevorgang kann nicht beendet werden, wenn der Ladevorgang aus einem der folgenden Gründe abgebrochen wird: Ein gleichzeitiger Objektladevorgang ist aufgetreten: siehe Loads from DB - concurrent. Während des Objektladevorgangs tritt ein Adabas-Antwortcode auf. Während des Objektladevorgangs wird eine SYSBPM-Löschoperation für dieses Objekt ausgeführt.
Loads from DB - concurrent | Die Anzahl der Objektladevorgänge, die gleichzeitig für dasselbe Objekt durchgeführt wurden: Gleichzeitige Objektladevorgänge treten auf, wenn zwei oder mehr Natural-Sitzungen, die gleichzeitig laufen, das gleiche Objekt anfordern. Während ein Objekt von einer Sitzung geladen wird, fordern andere Sitzungen dasselbe Objekt an und beginnen mit dem Laden, bevor eine Sitzung den Ladevorgang beendet hat. In diesem Fall wird dasselbe Objekt mehr als einmal geladen. Die erste Sitzung, die mit dem Laden des Objekts fertig ist, markiert das Objekt der anderen Sitzungen zum Löschen aus dem Buffer Pool. Die anderen Sitzungen hören dann auf, das Objekt zu laden, entfernen das zur Löschung markierte Objekt aus dem Buffer Pool und verwenden das von der ersten Sitzung erfolgreich geladene Objekt. Die Anzahl der Objekte, die von den Zählern Loads from DB - finished und Loads from DB - concurrent berechnet werden, sind normalerweise identisch. Die Zahlen unterscheiden sich nur, wenn das gleichzeitige Laden erst erkannt wird, nachdem beide Sitzungen das Laden beendet haben.
Load Calls | Die Gesamtzahl der Ladeaufrufe, die seit der Aktualisierung des Buffer Pool erfolgt sind. Die Ladeaufrufe sind mit dem Zugriff auf die Systemdatei korreliert, aus der die Objekte gelesen werden. Die Anzahl der Systemdateizugriffe wird wie folgt berechnet: Adabas-Systemdatei: Anzahl der Load Calls plus Anzahl der Loads from DB (siehe oben). In der Gesamtzahl sind die Adabas-RC-Aufrufe nicht enthalten. VSAM-Systemdatei: Die Anzahl der Load Calls.
Number Loads BP 2nd | Dieses Feld wird angezeigt, wenn METHOD=S (Selektionsverfahren) als Suchmethode für die Speicherzuordnung verwendet wird. In diesem Feld wird angezeigt, wie oft eine Speicherzuordnungsanfrage die Suchkriterien von Algorithmus 2 erfüllte, wie unter METHOD=S in der Operations-Dokumentation beschrieben.
Number Load Cycles | Dieses Feld wird angezeigt, wenn als Suchmethode für die Speicherzuordnung `METHOD=N` (nächstverfügbar) verwendet wird, wie in der Operations-Dokumentation beschrieben. Dieses Feld gibt an, wie oft eine Suche vom Anfang des Buffer Pool aus durchgeführt wurde. Diese Zahl gibt einen Anhaltspunkt für die Häufigkeit des Durchlaufens des Buffer Pool in einem Wrap-around-Verfahren.
Last Cycle Start | Dieses Feld wird angezeigt, wenn als Suchmethode für die Speicherzuordnung `METHOD=N` (nächstverfügbar) verwendet wird, wie in der Operations-Dokumentation beschrieben. Die Zeit und das Datum, wann die Anzahl der Ladezyklen (Number Load Cycles) zuletzt erhöht wurde.
Number Lock Retries | Dieses Feld wird angezeigt, wenn als Suchmethode für die Speicherzuordnung `METHOD=N` (nächstverfügbar) verwendet wird, wie in der Operations-Dokumentation beschrieben. Dieses Feld gibt an, wie oft eine Kette von gesperrten Buffer Pool-Einträgen entsperrt werden musste, weil sie die Zuordnungsanforderung nicht erfüllen konnten.
Largest Alloc (TR) | Die größte bisher angeforderte einzelne Zuordnungsgröße, angegeben in Anzahl der Textsätze.
Number Load Failure | Die Gesamtzahl der Fehlschläge bei einem Objektladevorgang. Der Grund für einen Fehlschlag ist, dass entweder alle Verzeichniseinträge zum Zeitpunkt der Ladeanforderung belegt sind oder nicht genügend Speicherplatz im Textsatzbereich zur Verfügung steht, um den Ladevorgang durchzuführen.
Number Load Failure - Sizes failing last | Die Anzahl der Textsätze, die für die letzten drei fehlgeschlagenen Speicherplatzanforderungen erforderlich gewesen wären.

Ausführliche Informationen zu den Suchmethoden, die für die Zuweisung von Speicherplatz im Buffer Pool verwendet werden, finden Sie unter Buffer Pool Search Methods in der Operations-Dokumentation.

## Buffer Pool-Fragmentierung

Die Funktion Buffer Pool Fragmentation bietet einen Überblick über die Fragmentierung des Buffer Pool, d.h. einen Überblick darüber, wie viele verschiedene Natural-Objekte wie viele Textsätze belegen und wie die Objektpositionen über den Buffer Pool verteilt sind.

Um die Funktion Buffer Pool Fragmentation aufzurufen:

- Geben Sie im Menü Buffer Pool Statistics den Funktionscode `F` ein.

  Oder:
  Geben Sie das folgende SYSBPM-Direktkommando ein:

      DISPLAY FRAGMENTATION

  Der Bildschirm Buffer Pool Fragmentation wird angezeigt.

Einige der Felder auf dem Bildschirm Buffer Pool Fragmentation sind identisch mit den Feldern, die unter General Buffer Pool Statistics erläutert werden:

| Buffer Pool Size
| Buffer Pool Address
| Text Record Section
| Text Record Size
| Number of Text Records (entspricht Text Records - Total)

Außerdem wird ein Diagramm angezeigt, aus dem hervorgeht, wie viele verschiedene Einzelobjekte wie viel Textsatzgröße beanspruchen.

Zum Beispiel:

    1---+----10---+----20---+----30---+----40---+----50

    005F0480
    .._.+***______++
    ....**_.+**_.++_ *..+**+__++++XX

Jedes Symbol im Diagramm steht für einen Textsatz, und jede Folge von gleichen Symbolen steht für ein anderes Einzelobjekt, das einen oder mehrere Textsätze belegt. Die Symbole haben die folgende Bedeutung:

`_` und `.` | Objekte mit einem Current Use Count (siehe Verzeichnisinformationen anzeigen) von `0` (Null).
`+` und `*` | Objekte mit einem Current Use Count größer als `0` (Null).
Leerzeichen | Ein unbenutzter Textsatz.
`XX` | Das Ende des Buffer Pool, d.h. es sind keine weiteren Textsätze vorhanden.

Im obigen Beispiel enthält der Buffer Pool 48 Textsätze. Drei davon sind nicht in Gebrauch. Der Rest wird von 24 anderen Objekten belegt, 12 davon mit einem Current Use Count von `0` (Null) und 12 mit einem Current Use Count größer als `0`.

## Nutzung der internen Funktionen

Die Funktion Internal Function Usage liefert statistische Informationen über die Aufrufe, die an den Natural Buffer Pool Manager abgesetzt wurden.

Um die Funktion Internal Function Usage aufzurufen:

- Geben Sie im Menü Buffer Pool Statistics den Funktionscode `I` ein.

  Oder:
  Geben Sie das folgende SYSBPM-Direktkommando ein:

      DISPLAY FUNCTION

  Der Bildschirm Internal Function Usage erscheint.

Die angezeigte Statistik ist eine Momentaufnahme des Buffer Pool, die jedes Mal, wenn Sie ENTER drücken, aktualisiert wird.

Das Feld Total Calls zeigt die Gesamtzahl aller internen Aufrufe an, die an den Buffer Pool Manager abgesetzt wurden.

Intern kann der Buffer Pool Manager für verschiedene Funktionen aufgerufen werden. Für jede Funktion wird angezeigt, wie oft sie aufgerufen wurde, sowohl absolut als auch prozentual. Darüber hinaus werden diese Zahlen in einem horizontalen Balkendiagramm dargestellt.

## Buffer Pool Hash Table-Statistiken

Die Funktion Buffer Pool Hash Table Statistics gilt nur für Buffer Pools des Typs Natural.

Sie zeigt Statistiken zu Hash-Tabellen-Slots und Kollisionen pro Slot an. Die Statistiken geben Aufschluss über die Effizienz des verwendeten Hash-Algorithmus.

Weitere Informationen zu Hash-Tabellen finden Sie unter Buffer Pool Hash Table in der Operations-Dokumentation.

Die Statistiken sind in erster Linie nur für den internen Gebrauch durch Mitarbeiter der Software AG bestimmt.

Um die Funktion Buffer Pool Hash Table Statistics aufzurufen:

- Geben Sie im Menü Buffer Pool Statistics den Funktionscode `H` ein.

  Oder:
  Geben Sie das folgende SYSBPM-Direktkommando ein:

      DISPLAY HASH

  Der Bildschirm Hash Table Collisions erscheint.

Die dort angezeigte Statistik ist eine Momentaufnahme der Hash-Tabelle, die jedes Mal erstellt wird, wenn Sie ENTER drücken. Es werden die folgenden Informationen angezeigt:

Feld | Erläuterung
--- | ---
Total Number of Slots | Die Gesamtzahl der Hash-Tabellen-Slots, d. h. die Gesamtzahl der möglichen Einträge in der Hash-Tabelle, die die Objektnamen mit dem Speicherort der Objekte verbinden. Die Anzahl der Slots, d. h. die Größe der Hash-Tabelle, wird intern in Abhängigkeit von der Anzahl der Textsätze berechnet.
Number of Slots used | Die Anzahl der Slots in der Hash-Tabelle, auf die mindestens ein Objektname abgebildet ist.
Number of Slots free | Die Anzahl der Slots in der Hash-Tabelle, auf die kein Objektname abgebildet ist.
Max. Collisions per Slot | Die maximale Anzahl der Kollisionen eines beliebigen Slots. Die maximale Anzahl der Kollisionen ist der längste mögliche Suchpfad für ein Objekt. Eine Kollision wird dann verursacht, wenn der Name von zwei verschiedenen Objekten durch den Hash-Algorithmus auf denselben Slot abgebildet wird. In diesem Fall wird eine Kollisionsauflösung verwendet, um einen anderen Slot zu finden.
Collisions |
Die Anzahl der aktuellen Kollisionen. Abhängig von den aufgetretenen Kollisionen enthält die Tabelle bis zu 10 Zeilen:
`0` | Keine Kollision.
`1` | 1 Kollision.
`2` | 2 Kollisionen.
`3` | 3 Kollisionen.
`4` | 4 Kollisionen.
`5` | 5 Kollisionen.
`6 - 10` | Zwischen 6 und 10 Kollisionen.
`11 - 15` | Zwischen 11 und 15 Kollisionen.
`16 - 20` | Zwischen 16 und 20 Kollisionen.
`21` | Mehr als 21 Kollisionen.
Keine Kollision bedeutet, dass nur ein Objektname pro Slot abgebildet wird. Um dieses Objekt zu finden, müssen Sie nur einmal auf die Hash-Tabelle zugreifen.
Wenn die Anzahl der Kollisionen größer als `0` (Null) ist, werden z. B. x, x+1 Objektnamen auf denselben Slot abgebildet. Um eines dieser Objekte zu finden, müssen Sie auf die Hash-Tabelle bis zu x+1 zugreifen.
Number of Slots | Die Anzahl der Slots bezogen auf die Anzahl der Kollisionen. Darüber hinaus wird der prozentuale Anteil dieser Slots an allen verwendeten Slots angezeigt.
Number of Slots Totaled | Die gleichen Werte wie Number of Slots, aber die Werte werden summiert.

#### Beispiel für Hash Table Statistics:

     14:21:57             ***** NATURAL SYSBPM UTILITY *****             2020-04-07
     BPNAME QA82GBP      - Buffer Pool Hash Table Statistics -      Type Global Nat
     BPPROP OFF                                                       Loc DAEF QA82
                                                                   Preload QA82GBPL
     Total Number of Slots ..         5,351
      Number of Slots used ..         1,280 (  23.9 %)     Max. Collisions
      Number of Slots free ..         4,071 (  76.0 %)       per Slot ..... 8

          Collisions           Number of Slots   Number of Slots Totaled
                   0            283 (  22.1 %)            283 (  22.1 %)
                   1            604 (  47.1 %)            887 (  69.2 %)
                   2            207 (  16.1 %)          1,094 (  85.4 %)
                   3            121 (   9.4 %)          1,215 (  94.9 %)
                   4             46 (   3.5 %)          1,261 (  98.5 %)
                   5             14 (   1.0 %)          1,275 (  99.6 %)
              6 - 10              5 (   0.3 %)          1,280 ( 100.0 %)

    Command ===>

    Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
          Help        Exit  Last        Flip                                Canc

## Performance-Informationen anzeigen

Die Funktion Performance Hints gilt nur für einen Buffer Pool und einen BP Cache des Typs `Nat` (Natural).

#### Verwandtes Thema:

- Performance-Aspekte

In diesem Abschnitt werden die folgenden Themen behandelt:

- Funktion Performance Hints aufrufen

- Bewertung von Performance-Hinweisen

### Funktion Performance Hints aufrufen

In diesem Abschnitt wird beschrieben, wie Sie die Funktion Performance Hints aufrufen und welches Statistikfeld auf dem gleichnamigen Bildschirm angezeigt wird.

Um die Funktion Performance Hints aufzurufen:

- Geben Sie im Menü Buffer Pool Statistics den Funktionscode `P` ein.

  Oder:
  Geben Sie das folgende SYSBPM-Direktkommando ein:

      DISPLAY PERFORMANCE

  Es erscheint ein Bildschirm mit Hinweisen ähnlich dem folgenden Beispiel:

       13:22:51             ***** NATURAL SYSBPM UTILITY *****             2020-04-07
       BPNAME QA92GBP             - Performance Hints -               Type Global Nat
       BPPROP OFF                                                       Loc DAEF QA92
                                                                     Preload QA92GBPL

                                                                 Rating
                                                            (1=best - 6=worst)
       Buffer Pool
                    Locates / Loads Ratio ......       476.16       2
                    Wrap Time Last (hh:mm:ss) ..     00:02:34       5
                    Wrap Time Avg (hh:mm:ss) ...     00:00:17       6

       BP Cache
                    Object Reuse Factor ........         0.27       6
                    Wrap Time Last (hh:mm:ss) .. no value returned
                    Wrap Time Avg (hh:mm:ss) ... no value returned
                    Get / Search % .............        16.38 %

      Command ===>

      Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
            Help        Exit  Last        Flip                                Canc

Die Felder auf dem Bildschirm Performance Hints enthalten die folgenden Informationen:

Feld | Erläuterung
--- | ---
Buffer Pool - Locates / Loads Ratio | Das Verhältnis von Total Locate Calls - successful zu Loads from DB. Ein Wert größer als 1 bedeutet, dass Natural mehr Objekte im Buffer Pool gefunden als aus der Systemdatei geladen wurden. Dieses Verhältnis dient als Kennzahl für die Effizienz des Buffer Pool. Je größer die Zahl ist, desto besser ist die Performance des Buffer Pool. Dies ist die wichtigste Kennzahl für die Leistung von einer Buffer Pool-Sitzung zur nächsten.
Buffer Pool - Wrap Time Last | Dieses Feld wird angezeigt, wenn `METHOD=N` (nächstverfügbar) als Suchmethode für die Speicherzuordnung verwendet wird, wie in der Operations-Dokumentation beschrieben. Die Zeit in Stunden, Minuten und Sekunden (hh:mm:ss) seit der letzten vollständigen Wiederverwendung des Buffer Pool (Wrap Around). Die Objekte werden nacheinander in den Buffer Pool geladen (in sequenzieller Reihenfolge), wobei der obere Teil des Buffer Pool zuerst und der untere zuletzt gefüllt wird. Wenn das untere Ende des Buffer Pool erreicht ist, wird das Ende des Buffers umgebrochen und das nächste Objekt wird wieder an den oberen Rand des Buffer Pool geladen. Wenn der Buffer Pool zum ersten Mal vollständig gefüllt ist, überschreibt ein neues Objekt, das in den Buffer geladen wird, ein Objekt, das im vorangegangenen Wrap-around-Zyklus geladen wurde und das derzeit nicht gesperrt (als resident oder in Verwendung gekennzeichnet) ist. Jedem in den Buffer Pool geladenen Objekt wird ein Verzeichniseintrag zugeordnet, der Informationen wie den Namen des Objekts, die Library, in der es gespeichert ist, und den Zeitstempel BP Load Time des Ladens in den Buffer Pool enthält. Wrap Time Last wird jedes Mal ausgewertet, wenn ein Objekt in den Buffer Pool geladen wird. Wrap Time Last gibt die Zeitspanne zwischen dem letzten Laden eines Objekts (BP Load Time) und dem letzten Überschreiben eines Objekts an. Je länger der Zeitraum eines Wrap-around-Zyklus ist, desto besser ist die Leistung des Buffer Pool. Dieser Zeitraum kann nachts oder am Wochenende, wenn der Benutzer-Datenverkehr im Vergleich zu den normalen Arbeitszeiten gering ist, erheblich variieren.
Buffer Pool - Wrap Time Avg | Dieses Feld wird angezeigt, wenn `METHOD=N` (nächstverfügbar) als Suchmethode für die Speicherzuordnung verwendet wird, wie in der Operations-Dokumentation beschrieben. Die durchschnittliche Zeit in Stunden, Minuten und Sekunden (hh:mm:ss) eines Wrap-around-Zyklus seit der Initialisierung oder Auffrischung des Buffer Pool. Wrap Time Avg wird berechnet, indem die Lebensdauer des Buffer Pool durch die Anzahl der Wrap-Around-Zyklen geteilt wird. Wrap Time Last im Vergleich zu Wrap Time Avg zeigt an, ob der Buffer Pool derzeit häufiger als im Durchschnitt verwendet wird.
BP Cache - Object Reuse Factor | Das Verhältnis von aus dem BP Cache ausgelagerten Objekten (Get-Aufrufe) zu in den BP Cache ausgelagerten Objekten (Put-Aufrufe). Der Wert wird berechnet, indem erfolgreiche Get-Aufrufe durch erfolgreiche Put-Aufrufe geteilt werden. Er zeigt den Gesamtwiederverwendungsfaktor an, d.h. wie oft ein einmal in den BP Cache geladenes Objekt erfolgreich in den Buffer Pool zurückgeladen werden konnte. Je höher der Wert, desto besser ist die Effizienz des BP Cache. Beispiel für einen Object Reuse Factor: Ein Verhältnis von `5.70` bedeutet, dass ein in den BP Cache geladenes Objekt im Durchschnitt 5,7 Mal in den Buffer Pool ausgelagert wurde.
BP Cache - Wrap Time Last | Die Zeit in Stunden, Minuten und Sekunden (hh:mm:ss) seit der letzten vollständigen Wiederverwendung (Wrap Around) des BP Cache. Die Objekte werden nacheinander in den BP Cache geladen (in sequenzieller Reihenfolge), wobei der obere Teil des BP Cache zuerst und der untere zuletzt gefüllt wird. Wenn das untere Ende des BP Cache erreicht ist, wird das Ende des BP Cache umgebrochen und das nächste Objekt wird wieder am oberen Ende des BP Cache geladen. Wenn der BP Cache zum ersten Mal vollständig gefüllt ist, überschreibt ein neues Objekt, das in den Buffer geladen wird, das Objekt, das im vorherigen Wrap-around-Zyklus geladen wurde. Jedem in den BP Cache geladenen Objekt wird ein Verzeichniseintrag zugewiesen, der Informationen wie den Namen des Objekts, die Library, in der es gespeichert ist, und den BPC Load Time-Zeitstempel, wann es in den BP Cache geladen wurde, enthält. Wrap Time Last wird jedes Mal ausgewertet, wenn ein Objekt in den GP-Cache geladen wird. Wrap Time Last gibt die Zeitspanne zwischen dem letzten Laden eines Objekts (BPC Load Time) und dem letzten Überschreiben eines Objekts an. Je länger der Zeitraum eines Wrap-around-Zyklus ist, desto besser ist die Performance des BP Cache. Dieser Zeitraum kann nachts oder am Wochenende, wenn der Benutzer-Datenverkehr im Vergleich zu den normalen Arbeitszeiten gering ist, erheblich variieren.
BP Cache - Wrap Time Avg | Die durchschnittliche Zeit in Stunden, Minuten und Sekunden (hh:mm:ss) eines Wrap-around-Zyklus seit dem Start des BP Cache. Wrap Time Avg wird berechnet, indem die Nutzungsdauer des BP Cache durch die Anzahl der Wrap-Around-Zyklen geteilt wird. Wrap Time Last im Vergleich zu Wrap Time Avg zeigt, ob der BP Cache derzeit häufiger als im Durchschnitt verwendet wird.
BP Cache - Get / Search % | Der Prozentsatz der vom BP Cache erfolgreich zurückgegebenen Objekte (Get-Aufrufe) im Vergleich zur Gesamtzahl der Suchanfragen (Search-Aufrufe), die der Buffer Pool an den BP Cache gesendet hat. Dieser Wert gibt den Prozentsatz der Objekte an, die der Buffer Pool aus dem BP Cache laden konnte, anstatt aus der Natural-Systemdatei FNAT oder FUSER. Je höher der Wert ist, desto besser ist die Cache-Effizienz. Beachten Sie, dass eine Suche nach einem Objekt in einer Kette von Steplibs die Anzahl der Suchaufrufe erhöhen kann, die der Buffer Pool an den BP Cache sendet. Diese Aufrufe führen jedoch nicht zu einem erfolgreichen Get-Aufruf oder zu einem Laden aus der Natural-Systemdatei, da ein Objekt möglicherweise nicht in einer Steplib gefunden wird. Get / Search % berücksichtigt nicht die Suche durch eine lange Kette von Steplibs, die häufig verwendet wird. Wir empfehlen Ihnen, so wenig Steplibs wie möglich zu verwenden, um die Gesamt-Performance zu erhöhen. Beispiel für einen Get / Search %-Wert: Ein Wert von 70 % bedeutet, dass 70 % aller in den Buffer Pool geladenen Objekte aus dem BP Cache abgerufen und 30 % aus der Systemdatei geladen wurden.

### Bewertung von Performance-Hinweisen

Die statistischen Werte, die auf dem Bildschirm Performance Hints angezeigt werden, bilden die Grundlage für ein Leistungsbewertungssystem, bei dem 1 die beste (höchste) und 6 die schlechteste (niedrigste) Performance bezeichnet.

Die Bewertungen sollen Ihnen einen Eindruck davon vermitteln, wie ein Buffer Pool oder ein BP Cache mit den für sie festgelegten Werten abschneidet. Die Einstufungswerte sollten den Anforderungen der meisten Systemumgebungen entsprechen.

Es gibt Umgebungen, in denen es sich bewährt hat, einen BP Cache zu haben, der fünfmal so groß wie der Buffer Pool ist. Wenn die Bewertungen tendenziell schlecht sind, sollte die Größe des Buffer Pool oder des BP Cache erhöht werden. Die Größe eines Buffer Pool oder eines BP Cache kann jedoch auch dann eine gute Performance garantieren, wenn die Bewertungen schlecht sind. Wenn die Bewertungen für einen BP Cache gut sind, fallen schlechte Bewertungen für den Buffer Pool nicht so stark ins Gewicht. In Umgebungen mit extremen Arbeitslasten können die Bewertungen jedoch nützliche Anhaltspunkte dafür sein, wann die Größe des Buffer Pool oder des BP Cache geändert werden sollte.

Die auf dem Bildschirm Performance Hints angezeigten statistischen Werte sind Momentaufnahmen des Natural Buffer Pool und des BP Cache, die jedes Mal aktualisiert werden, wenn ein Wrap-around auftritt. Der Buffer Pool und der BP Cache sollten einige Zeit laufen und die Statistikwerte einen gewissen Umfang erreichen, um aussagekräftige Ergebnisse aus diesen Werten zu erhalten. Wenn z.B. die Größe eines Buffer Pools so groß ist, dass nur sehr wenige BP Cache-Aufrufe erforderlich sind, sind die Statistiken über den BP Cache nicht aussagekräftig.

Bei der Auswertung der Statistiken sollten Sie auch die Art der Systemumgebung (z.B. Produktion oder Test), die Art der Anwendungen, die den Buffer Pool nutzen (Batch, Online, benutzerdefiniert oder System), den Benutzer-Datenverkehr (Spitzenzeiten oder normale Zeiten) und außergewöhnliche Betriebsfaktoren berücksichtigen.

## PF-Tasten und Direktkommandos

Auf den Buffer Pool-Statistik-Bildschirmen können Sie die in der folgenden Tabelle aufgeführten PF-Tasten oder SYSBPM-Direktkommandos verwenden. Ein unterstrichener Teil eines Kommandos steht für seine Mindestabkürzung. Weitere Kommandos finden Sie unter SYSBPM-Direktkommandos.

PF-Taste | Kommando | Funktion
--- | --- | ---
PF1 |  | Liefert SYSBPM-Hilfeinformationen: siehe auch Online-Hilfe.
PF3 | `EXIT` | Verlassen der aktuellen Funktion/des aktuellen Bildschirms und Anzeige des vorherigen Bildschirms.
PF4 | `LAST` | Anzeige des zuletzt eingegebenen SYSBPM-Direktkommandos.
PF6 | `FLIP` | Schaltet die PF-Tastenzeile um: Wechsel zwischen der Anzeige von PF1 bis PF12 und PF13 bis PF24.
PF8 (Load) | `DISPLAY LOAD` | Gilt nur für den Bildschirm General Buffer Pool Statistics. Anzeige des Bildschirms Buffer Pool Load/Locate Statistics.
PF8 (Gen) | `DISPLAY GENERAL` | Gilt nur für den Bildschirm Buffer Pool Load/Locate Statistics. Anzeige des Bildschirms General Buffer Pool Statistics.
PF12 | `CANCEL` | Wie `EXIT`.
PF15 | `MENU` | Aufruf des SYSBPM-Hauptmenüs (Main Menu).

### On this page

- Allgemeine Buffer Pool-Statistiken anzeigen
- Buffer Pool Load/Locate-Statistiken
- Buffer Pool-Fragmentierung
- Nutzung der internen Funktionen
- Buffer Pool Hash Table-Statistiken
- Performance-Informationen anzeigen
- PF-Tasten und Direktkommandos