[vz-dev] Performance - Umstellung DB Schema

Jakob Hirsch jh at plonk.de
Mon Oct 5 15:16:34 CEST 2015


Hi!

Andreas Goetz wrote on 2015-10-02 10:49:
> ich beobachte aktuell ein paar Probleme mit der Performance bei Nutzung
> der Aggregation Root Cause scheint darni zu bestehen dass alle Anfragen
> auf die Aggregationstabelle ziemlich aufwändig Unix Timestamps (sec) in
> VZ Timestamps (ms) hin- und herrechnen müssen.

Diese "VZ"-Timestamps waren im Nachhinein wohl keine so gute Idee. Man
brauchte aber sub-second-Auflösung und Javascript möchte die Timestamps
sowieso in diesem Format. Ansonsten hätte man double oder so benutzen
und jeden Wert multiplizieren müssen (in der Middlware beim GET oder im
Frontend).

> Wenn wir- das wäre der Vorschlag- unser DB Schema auf Unix Timestamps
> umstellen können und auf Sekundenauflösung gehen dann würden wir eine

Nein, damit gäbe es große Abweichungen bei der Leistung. Selbst wenn man
nur einen Impuls alle 10 bis 11 Sekunden hat, wäre der Fehler im
Extremfall 10%.

Neuere MySQL/MariaDB-Versionen können aber auch timestamps mit
fractional seconds, evt. wäre das eine bessere Lösung.

> Für das API liesse sich das transparent halten oder- das wäre eigentlich

Dann mußt du aber auch mit MUL/DIV arbeiten...

> mein Vorschlag- wir stellen auch das API auf Sekunden um. Der Change
> würde die Kompatibilität von vzlogger bis zu jedem Client beeinflussen.

Das ist m.E. bei der Menge an benutzen Clients (insbesondere der
Net-IOs, auch wenn man die m.E. eher nicht benutzen sollte) ein no-go.
Andere möglichkeit wäre eine Erweiterung der API: ts bleibt
JS-timestamp, tsX (mit irgendwas sinnvollem für X) wären fractional.



More information about the volkszaehler-dev mailing list