[vz-dev] Alternative Implementierung für vzcompress
f.knodt at yotaweb.de
f.knodt at yotaweb.de
Sun Apr 7 23:43:55 CEST 2013
Nabend,
Am 2013-04-07 22:46, schrieb Daniel Lauckner:
> Mir ist aufgefallen das das Script beim Zeitraum immer die selben
> Sekunden (26 bei 1 Minute, 47 bei 5) anzeigt.
Wenn das Script etwas zusammenfasst basiert Datum/Zeit auf der
Startzeit, ist also nicht zwingend konstant. Es ist allerdings auch
schon eine Optimierung in der Art drin: Das Script überspringt das
Zusammenfassen (=UPDATE) wenn im Zeitraum nur ein Datensatz vorhanden
ist. Übrig bleiben dann bei schon bearbeiteten Bereichen nur die
lesenden Datenbankabfragen (SELECT), also im Prinzip das selbe wie eine
Abfrage auf Basis der Uhrzeit. Ein Logfile mit den letzten Timestamps
wäre schneller als die ganzen SELECT-Abfragen, allerdings verliert man
so auch etwas Flexibilität - über die API ist es möglich Daten mit
älteren Timestamps einzufügen (nutze ich z.B. für einige Sensoren,
welche nur alle x Stunden synchronisiert werden oder offline laufen und
manuell importiert werden), die würden dann nicht verarbeitet.
>> Das spart Zeit und CPU-Last, denn mein vzlogger steigt regelmäßig
>> aus, wenn
>> der vzcompress Cronjob losrennt.
> Ich hatte vzlogger immer vorher beendet weil ich eh damit
> gerechnet habe das er abschmiert.
Nunja, eigentlich sollte er das nicht tun - die meiste Arbeit sind
vermutlich die SELECT-Abfragen zum zusammenfassen, dabei dürfte MySQL
aber keinen LOCK o.Ä. versuchen. Was ich mir nur vorstellen kann wäre,
dass der DB-Server je nach Hardware ins Stocken kommt und vzlogger in
einen Timeout läuft. Generell sehe ich jedenfalls kein Problem - auf
meinem E450 gehen während das Script läuft keine neuen Daten verloren,
allerdings nutze ich nur direkte HTTP-Requests, und nicht den vzlogger.
Eventuell könnte ein usleep/sleep nach dem UPDATE oder gar SELECT helfen
die Last zu reduzieren - wenn das Script per cron o.Ä. läuft lässt sich
der Geschwindigkeitsverlust sicher verschmerzen.
Am 2013-04-06 20:54, schrieb Bernd Gewehr:
> Wann wird das file im VZ-git sichtbar?
Ist noch nicht eingeschickt, ich wollte es erst etwas "abhängen"
lassen, sodass die gröbsten Fehler vorher raus sind
Florian
More information about the volkszaehler-dev
mailing list