fighting for truth, justice, and a kick-butt lotus notes experience.

Messung der Notes/Domino Peformance mit Client_Clock

 Juni 9 2009 05:53:41 PM
Manchmal sitzt man vor dem Lotus Notes Client und fragt sich; warum braucht der denn so lange, um eine Datenbank zu öffnen, eine Ansicht zu laden oder einen Agenten auszuführen.
Nun da gibt es natürlich jede Menge an Möglichkeiten der Ursache auf die Schliche zu kommen.

Was viele nicht wissen, das beste Tool bringt der Client eigentlich schon mit.

Aktiviert man in der Notes.ini Client_Clock, wird ein zusätzliches Log erzeugt. Und zwar wird die Kommunikation des Clients mit dem Server im Detail protokolliert.
Im Prinzip werden bestimmte API-Calls mitgeschnitten. Im Detail wird  die Ausführungszeit und das verursachte Transfervolumen (Senden & Empfangen) protokolliert.

Hier einmal das Ergebnis, wenn in einer Datenbank eine Suche abgesetzt wird:

(342-3049 [340]) TEXT SEARCH: 23133 ms. [138+64=202]
(345-3049 [343]) UPDATE_FILTERS(REPC125759B:002F3199-NT000002AA): 26 ms. [64+16€]
(346-3049 [344]) LOCATE_NOTE: 30 ms. [52+46=98]
(347-3049 [345]) READ_ENTRIES(REPC125759B:002F3199-NT000002AA): 29 ms. [68+348=416]
(348-3050 [346]) READ_ENTRIES(REPC125759B:002F3199-NT000002AA): 26 ms. [70+352=422]

Dies Log ist sehr hilfreich, um Performance Probleme zu ermitteln und einen Ansatzpunkt zu finden, was genau die Ursache ist.
Ich kann jedem Entwickler nur ans Herz legen Client_Clock zu benutzen und seine Anwendungen mal zu analysieren.  
Werden in Kombination weitere Parametern gesetzt, wird die Client_Clock Ausgabe direkt in einem weiteren Konsolenfenster angezeigt. Dies ist ganz praktisch, um direkt zur Laufzeit dem Client unter die Haube schauen zu können.  Die folgenden Zeilen aktivieren Client_Clock, leiten die Clock-Ausgabe in das Standard console.log um und die Ausgabe wird im getrennten Debug-Fenster angezeigt.

CLIENT_CLOCK=1        
CONSOLE_LOG_ENABLED=1
CONSOLE_LOG_MAX_KBYTES=0
DEBUG_CONSOLE=1

Probieren Sie es einfach mal aus.
Übrigens es gibt für den Server auch ein Server_Clock. Dies ist allerdings bei Produktivsystemen mit Vorsicht zu verwenden, da die Logs innerhalb von einigen wenigen Minuten etliche GB groß werden können.

Archive