invispix 10x10

CURSOR Service Distribution - Aktuelles / Archiv

Ermitteln der Cache-Statistik bei mehreren Bufferpools

Ermitteln der Cache-Statistik bei mehreren Bufferpools

Existieren in einer Instanz Bufferpools unterschiedlicher Größen, so ist es ein Problem, die Effizenz der einzelnen Bufferpools zu ermitteln. Das Kommando onstat -p (Profile-Informationen) gibt nur eine allgemeine Cache-Rate für Lese- und Schreiboperationen aus.

IBM Informix Dynamic Server Version 11.50.FC6     -- On-Line -- Up 14 days 21:53:50 -- 858168 Kbytes
Profile
dskreads   pagreads   bufreads   %cached dskwrits   pagwrits   bufwrits   %cached
178991     187416     122085412  99.85   134052     287522     1454924    90.79
....

Was ist aber, wenn die Cache-Raten optimiert werden müssen?

 

 

In diesem Fall müssen die Zahlen für jeden einzelnen Bufferpool bestimmt werden. Leider gibt es keinen onstat-Befehl für diese Ausgabe. Die einzige per onstat zu ermittelnde Zahl ist die Anzahl der Lese- und Schreiboperationen auf den einzelnen Chunks, die sich mittels onstat -g iof ermitteln läßt. Den Chunks ist die Page-Size direkt zuordenbar und damit entspricht die Summe der reads/kaio_reads bzw. write/kaio_writes aller Chunks mit der gleichen Page-Size den diskreads bzw. diskwrites aus der onstat -p - Ausgabe.

Zum Berechnen der Cache-Raten fehlen aber die bufreads bzw. bufwrites. Mit onstat kommt man an dieser Stelle nicht weiter.

Die Lösung des Problems versteckt sich in der sysmaster-Datenbank in der Tabelle sysbufprofile. Hier gibt es für jede auf dem System mögliche Page-Size eine Anzahl von Sätzen mit jeweils 2 Spalten.

 

name                            value
dskreads_8K                      1893
pagreads_8K                      7576
bufreads_8K                   1416494
dskwrites_8K                     8485
pagwrites_8K                    33940
bufwrites_8K                   101512
bufwaits_8K                         0
flushes_8K                         23
fgwrites_8K                         0
lruwrites_8K                        0
chunkwrites_8K                   8485

Im Beispiel sieht man die Werte für die 8k Page-Size.

 

Für jede belegte Page-Size berechnet man jetzt die Cache-Rate nach der Formel:

 

Cache-Rate = 100 - ( dskreads * 100 / bufreads )

 

Das ergibt im Beispiel:

 

Cache-Rate = 100 - ( 1893 * 100 / 1416494 ) = 99.84%

 

Berechnet man diesen Wert für jede benutzte Page-Size, für den Lese- und analog für den Schreibcache, so kann man gut beurteilen, wie die Effizenz der angelegten Bufferpools ist und welcher Bufferpool vergrößert oder verkleinert werden sollte.

Der Inhalt der Tabelle sysbufprofile kann auch über das Open-Admin-Tool abgefragt werden. Im Menüpunkt Perfomance Analysis -> Performance-History kann man in den 'Profiled Fields' unter Disk und Buffer diese Werte für die einzelnen Page-Sizes ermitteln. OAT zeigt auch noch eine Historie der Werte an. So kann man auch noch Messwerte ermitteln nachdem die aktuellen Werte der Tabelle mit onstat -z auf 0 gesetzt wurden.

 

invispix 10x10
invispix 10x10
News ÜbersichtNews Übersicht

News Übersicht

Informix NewsInformix News

Informix News

Scout NewsblogScout Newsblog

Scout Newsblog

NewsletterNewsletter

Newsletter

News ArchivNews Archiv

News Archiv

invispix 10x10
OEM/ESA LizenzenOEM/ESA Lizenzen

IBM OEM Lizenzen

Informix für EinkäuferInformix für Einkäufer

Informix für Einkäufer

Service und SupportService und Support

Service und Support

Admin-Scout für InformixAdmin-Scout für Informix

Admin-Scout für Informix