[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