Performance einer verteilten RMI-Anwendung

  • Themenstarter Themenstarter Guest
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hi

wie kann ich am besten die Performance einer verteilten Anwendung messen?
ich habe einen Client, der Daten an einen server zusendet, damit diese Daten dort verarbeitet werden.
Serverseitg wird für jeden Aufruf einen Thread erstellt. Der Client wartet nicht bis zum Ende dieser Verarbeitung.
Die Verarbeitung der Daten läuft in ihrem eigenen Thread. Ich will die Zeitspanne zwischen dem Aufruf einer Serverfunktion und dem Ende des Verarbeitungsprozesses messen. Sowohl der Server als auch der Client läufen in einem JDK 1.3 compatible VM.

Ich wäre sehr dankbar für jeden Kommentar, Code Snippets und Links zu disem Thema.
 
keine einzige Anwort ???:L
auch keine schau doch mal in die FAQ 😀
 
Miss doch die Zeit mit System.currentTimeMillis() in dem entsprechenden Thread.

Wo liegt das Problem?
 
Das Problem ist, dass ich dann irgendwie als Ergebnis ~4600ms bekomme. Seit einer Woche versuche ich herausfinden, wo das Problem liegt. Das Ergebnis, das ich mit System.currentTimeMillis() oder mit GregorianCalendar() bekomme, entspricht nicht dem, was ich mit bloßen Augen am Bildschirm sehe.
 
Anonymous hat gesagt.:
Das Problem ist, dass ich dann irgendwie als Ergebnis ~4600ms bekomme. Seit einer Woche versuche ich herausfinden, wo das Problem liegt. Das Ergebnis, das ich mit System.currentTimeMillis() oder mit GregorianCalendar() bekomme, entspricht nicht dem, was ich mit bloßen Augen am Bildschirm sehe.
Du schreibst auch, dass es asynchron läuft.

Messe die Zeit für den Aufruf und dann getrennt auch die Zeit in den Threads auf dem Server,
dann weisst du zumindest ansatzweise, wo der Fehler zu suchen ist.

clientseitig
Code:
long time = System.currentTimeMillis();
server.processFile(...)
System.out.println("call: " + (System.currentTimeMillis() - time));
serverseitig
Code:
public void processFile(...) throws ... {
  new Thread( new Runnable() {
    public void run() {
      long time = System.currentTimeMillis();
      ... was auch immer
      System.out.println("thread: " + (System.currentTimeMillis() - time));
    }
  }).start();
}
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben