Wir l[i]eben Datenbanken

Blog & News

21 Feb 2012

MDBM: Setzen der Test- und Schreib-Intervalle

Problematik der Intervalle für das Schreiben des Statefiles

Eine Besonderheit ist uns im Bezug auf die Testintervalle des Mobile DB Monitor (MDBM) aufgefallen:
Es kann passieren, dass das Statefile (State.txt) leer ist, nachdem es geschrieben wurde.

Dies kann wie folgt zustande kommen:
Die Daten für das Statefile liefert das ›StateObject‹. Das ›StateObject‹ wird bei neuen Testergebnissen zunächst geleert und anschließend mit neuen Daten ›befüllt‹. Sollte im selben Moment, in dem die Tests neue Ergebnisse liefern, das Statefile geschrieben werden, kann es leer sein, da das StateObject für das Erhalten der neuen Testergebniss die alten erst noch löscht.

Was hat das nun mit den Testintervallen zu tun?

Ganz einfach: wird das Intervall für das Schreiben des Statefiles mittels <StateRefreshInterval interval=“20000″/> in der Konfigurationsdatei def.xml auf 20 Sekunden gesetzt und die Tests selbst alle 10 Sekunden ausgeführt, ist die Wahrscheinlichkeit hoch, dass der oben geschilderte Sonderfall eintritt – im ungünstigsten Fall jedes zweite mal (20/10 = 2).

timing1+

Wir haben mit den Testintervallen und den Schreibzyklen des Statefiles ein wenig ›herumprobiert‹, und unsere beste Konfiguration ist: Das Statefile alle 10 Sekunden schreiben zu lassen und die Tests alle 7100 Millisekunden laufen zu lassen. So liegt die Wahrscheinlichkeit, dass der oben geschilderte Fall eintritt, bei 710:1.

Sollte trotzdem der Fall eintreten, dann wird vom Sensor aus eingetragen, dass die Daten gerade aktualisiert werden.


« Vorheriger Artikel Nächster Artikel »