Hallo allerseits,
das Umfeld: ich move gerade für einen Serverumzug mehrere Java-Applikationen von physischen Servern auf VMWare-Partitionen. Auf den Partitionen läuft ein RedHat Enterprise Linux 4. Gehostet wird auf einem ESX-Server.
In den Java-Applikationen wird fürs Performance-Monitoring relativ oft mit System.currentTimeMillis() die Systemzeit geholt. Danach werden die Zeiten verglichen und die Differenz als Ablaufzeit für einen speziellen Codeabschnitt irgendwo ausgegeben. Naturgemäß muss diese immer größer 0 oder max. (bei hinreichend kurzer Zeit zwischen den beiden Abfragen) gleich 0 sein. Wir haben aber nun den Fall, dass bei Aufrufen kurz hintereinander der zweite Aufruf einen Zeitstempel liefert, der vor (!) dem Zeitstempel des ersten Aufrufs liegt. Danach fliegt uns die Applikation um die Ohren.
Ich habe das Phänomen mit verschiedenen JDK-Versionen getestet (1.4.2_09, 1.4.2_13, 1.5.0_10). Es tritt auf den VMWare-Partitionen immer auf. Auf physischen Servern ist das nicht zu beobachten.
Deshalb meine Frage in die Runde ob jemand so ein hässliches Phänomen schonmal beobachtet hat und mir gegebenenfalls mit einem Tipp zur Eliminierung dieses Problems helfen kann.
Viele Dank schonmal, Marco
edit: JDK-Versionen berichtigt
das Umfeld: ich move gerade für einen Serverumzug mehrere Java-Applikationen von physischen Servern auf VMWare-Partitionen. Auf den Partitionen läuft ein RedHat Enterprise Linux 4. Gehostet wird auf einem ESX-Server.
In den Java-Applikationen wird fürs Performance-Monitoring relativ oft mit System.currentTimeMillis() die Systemzeit geholt. Danach werden die Zeiten verglichen und die Differenz als Ablaufzeit für einen speziellen Codeabschnitt irgendwo ausgegeben. Naturgemäß muss diese immer größer 0 oder max. (bei hinreichend kurzer Zeit zwischen den beiden Abfragen) gleich 0 sein. Wir haben aber nun den Fall, dass bei Aufrufen kurz hintereinander der zweite Aufruf einen Zeitstempel liefert, der vor (!) dem Zeitstempel des ersten Aufrufs liegt. Danach fliegt uns die Applikation um die Ohren.
Ich habe das Phänomen mit verschiedenen JDK-Versionen getestet (1.4.2_09, 1.4.2_13, 1.5.0_10). Es tritt auf den VMWare-Partitionen immer auf. Auf physischen Servern ist das nicht zu beobachten.
Deshalb meine Frage in die Runde ob jemand so ein hässliches Phänomen schonmal beobachtet hat und mir gegebenenfalls mit einem Tipp zur Eliminierung dieses Problems helfen kann.
Viele Dank schonmal, Marco
edit: JDK-Versionen berichtigt