Messung von Transfer- und Ausführungszeiten von Methodenaufrufen in verteilten Systemen
« Server-seitige Zeitmessung | Einleitung | Verteilte Zeitmessung (Variante 2: asynchron laufende Systemuhren) »
Verteilte Zeitmessung
(Variante 1: synchronisierte Systemuhren)
Ziel
Das Ziel der verteilten Zeitmessung ist es, die Zeitspanne zur ermitteln, die ein Methodenaufruf vom einem Client-Objekt bis zu einem Server-Objekt benötigt. Man erhält eine Aussage darüber, wie viel Zeit für das Verpacken und Entpacken der Daten und den Transport des verpackten Methodenaufrufs über das Netzwerk benötigt wird.
Vorgehen
Bei der verteilten Zeitmessung erfolgt die Zeitmessung sowohl auf Client- als auch auf Server-Seite. Das Client-Objekt nimmt vor dem Absetzen des Methodenaufrufs an das Server-Objekt die Systemzeit als Startzeit und übergibt die genommene Startzeit im Methodenaufruf an das gewünschte Server-Objekt. Dafür muss die Signatur der gerufenen Methode des Server-Objektes um einen entsprechenden Parameter erweitert werden. Das Server-Objekt nimmt bei Empfang des Methodenaufrufs ebenfalls die Systemzeit und ermittelt die Differenz aus den beiden Zeiten. Eine wichtige Anmerkung hierzu: Befinden sich Client- und Server-Objekt auf verschiedenen Rechnern, so müssen die Uhren beider Rechner abgeglichen werden, um korrekte Aussagen über die Zeiten treffen zu können.
« Server-seitige Zeitmessung | Einleitung | Verteilte Zeitmessung (Variante 2: asynchron laufende Systemuhren) »