Benutzer-Werkzeuge

Webseiten-Werkzeuge


howto:datenmengen

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
howto:datenmengen [2020/06/29 00:44] – [Daten löschen] typo boenkihowto:datenmengen [2024/05/18 10:16] (aktuell) – [Performance der Middleware erhöhen: Datenaggregation / Cache] jau
Zeile 35: Zeile 35:
 Dazu steht das Script [[https://github.com/volkszaehler/volkszaehler.org/blob/master/bin/vzcompress2|vzcompress2]] zur Verfügung. Von Haus aus hat der lokale User vz keine Rechte zum Löschen in der Datenbank, das muss man vorher ändern: Dazu steht das Script [[https://github.com/volkszaehler/volkszaehler.org/blob/master/bin/vzcompress2|vzcompress2]] zur Verfügung. Von Haus aus hat der lokale User vz keine Rechte zum Löschen in der Datenbank, das muss man vorher ändern:
 <code> <code>
-mysql --user=root -praspberry+sudo mysql --user=root -praspberry
 Welcome to the MySQL monitor.  Commands end with ; or \g. Welcome to the MySQL monitor.  Commands end with ; or \g.
 Your MySQL connection id is 37217 [..] Your MySQL connection id is 37217 [..]
Zeile 72: Zeile 72:
 </code> </code>
  
-Mit den folgenden Einträgen in einer crontab hält man den Cache aktuell. Erstellt wird die crontab mit: 'crontab -e'.\\+Mit den folgenden Einträgen in einer crontab hält man den Cache aktuell. Erstellt wird die crontab mit: ''crontab -e''.\\
 Das Script legt nur an, was noch nicht angelegt wurde und läuft daher nur kurz: Das Script legt nur an, was noch nicht angelegt wurde und läuft daher nur kurz:
 <code> <code>
Zeile 80: Zeile 80:
 </code> </code>
  
-Anmerkung: +<note>wenn die Last auf dem System hoch ist, kann die Aggregation schon mal länger dauern als das Intervall zwischen zwei Aufrufen.
-wenn die Last auf dem System hoch ist, kann die Aggregation schon mal länger dauern als das Intervall zwischen zwei Aufrufen.+
 Das kann dazu führen, dass die Last weiter ansteigt, da die Aggregation dann ein weiteres Mal aufgerufen wird etc. Das kann dazu führen, dass die Last weiter ansteigt, da die Aggregation dann ein weiteres Mal aufgerufen wird etc.
-In diesem Fall empfiehlt sich der Einsatz eines Wrappers, der verhindert, dass die Aggregation mehrfach läuft, z.B. "flock".+In diesem Fall empfiehlt sich der Einsatz eines Wrappers, der verhindert, dass die Aggregation mehrfach läuft, z.B. "flock".</note>
  
 +=== flock ===
 Hierzu werden obige Cron-Einträge ergänzt um: Hierzu werden obige Cron-Einträge ergänzt um:
 <code> <code>
 flock -n /tmp/flock-vz_aggregate.lock flock -n /tmp/flock-vz_aggregate.lock
 </code> </code>
-der Eintrag für "minute" sieht dann also so aus:+der Eintrag für "minute" sieht dann so aus:
 <code> <code>
 */10 * * * *  flock -n /tmp/flock-vz_aggregate.lock php /var/www/volkszaehler.org/bin/aggregate run -m delta -l minute >/dev/null */10 * * * *  flock -n /tmp/flock-vz_aggregate.lock php /var/www/volkszaehler.org/bin/aggregate run -m delta -l minute >/dev/null
 </code> </code>
-Anm.Die Einträge für "hour" und "day" werden nicht mit sich selbst kollidieren (...); wenn diese also kollidieren, dann mit "minute"; so laufen also höchstens 3 Aggregate-Jobs gleichzeitig (minute, hour, day)+So stellt man sicher das nie mehr als höchstens 3 Aggregate-Jobs gleichzeitig (minute, hour, day) laufen. 
 +<note>Die Einträge für "hour" und "day" werden normalerweise nicht mit sich selbst kollidieren, fehlende Daten im Minutentakt könnten aber Auswirkungen haben.</note> 
 + 
 +=== Im Falle eines Docker-Setups zu beachten === 
 +Bei dem Einsatz von Docker funktionieren bestimmte Teile der Anleitung etwas andersEs muss z.B. erstmal der Docker Container betreten werden. Welche ID der Dockercontainer hat findet Ihr mittels des folgenden Befehls heraus: 
 +<code> 
 +docker ps | grep volkszaehlerorg_volkszaehler 
 +</code> 
 + 
 +danach könnt ihr den docker Container betreten mittels des folgenden Befehls: 
 +<code> 
 +docker exec -it --user root hier-die-id-von-eben-eintragen sh  
 +</code> 
 + 
 +hier kann die aggregation dann mittels des leicht angepassten Befehls von oben durchgeführt werden: 
 +<code> 
 +php /vz/bin/aggregate run -m full -l day -l hour -l minute 
 +</code>
  
 === Aggregation prüfen === === Aggregation prüfen ===
howto/datenmengen.1593384295.txt.gz · Zuletzt geändert: von boenki