[vz-users] Network Error Gateway Timeout

Tilman Glötzner tilman_1 at gloetzner.net
Fr Dez 1 11:18:45 CET 2023


Hallo

ich verwende volkszaehler mit einem  Raspberry Pi Model B Rev 2 mit 512 
MB RAM. Nach einem Neustart am 28.11. erhalte ich mit der Einstellung 
Current praktisch immer einen Timeout-Fehler. Wenn ich die Anzahl der 
Signale auf 1 reduziere und einen Zeitbereich von circa 1/2 Tag auswähle 
geht es zumeist. Auch das Betrachten von Daten über einen Monate mit der 
Auflösung 1 Tag bzw 1 Jahr mit der Auflösung 1 Tag funktioniert. 
Desweiteren fällt auf, die Spalte mit den Zählerständen nicht mehr 
gezeigt wird.

Hier ein Ausschnitt aus dem Log während eines Prozess, der im Timeout endet:

ec  1 10:39:05 logger systemd[1]: Starting Clean php session files...
Dec  1 10:39:08 logger systemd[1]: phpsessionclean.service: Succeeded.
Dec  1 10:39:08 logger systemd[1]: Started Clean php session files.
Dec  1 10:40:01 logger CRON[13678]: (root) CMD (flock -n 
/tmp/flock-vz_aggregate.lock php /var/www/volkszaehler.org/bin/aggregate 
run -m delta -l minute >/dev/null)
Dec  1 10:50:01 logger CRON[14171]: (root) CMD (flock -n 
/tmp/flock-vz_aggregate.lock php /var/www/volkszaehler.org/bin/aggregate 
run -m delta -l minute >/dev/null)
Dec  1 10:52:54 logger php[3438]: Maximum execution time of 30 seconds 
exceeded. Closing worker.
Dec  1 10:52:54 logger php[3438]: Maximum execution time of 30 seconds 
exceeded. Closing worker.


Was noch auffällt, ist der Timestamp des Locks. Den RPI ich für den 
Einbau einer Erweiterung um 0:35 h (Local Time) am 28.11. herunter 
gefahren und um 1:53h wieder hochgefahren. Eigentlich war der Rechner 
zum Zeitpunkt des Timestamps aus. Was mir unklar ist: Muss das Lock nach 
beenden der aggregate-Scripte wieder gelöscht werden?

  ls -la /tmp/flock-vz_aggregate.lock
-rw-r--r-- 1 root root 0 Nov 28 01:30 /tmp/flock-vz_aggregate.lock


An Sensoren frage ich 3 Zähler mittels S0-GPIO ab, ausserdem 1 
Smart-Zaehler per IR. Desweiteren einen Solarakku über ein pythonskript 
und modbus on tcp, und einen Gaszähler mittels python script (holt die 
Zählerdaten von einen Program lokal über tcp). Die Datenbank lebt auf 
einer USB-SSD-Festplatte (ASM1051E SATA 6Gb/s bridge)

Die Optimierungen der Datenbank mittels cronjobs habe ich schon vor 
längerer Zeit implementiert (sieht man auch im Log).

Die Frage ist nun, wo ich Potential habe, die Performance soweit zu 
verbessern, dass es keine Timeouts mehr gibt. Gleichzeitig würde ich 
ungerne Daten aus der Datenbank löschen.


Danke und Gruß

Tilman



Mehr Informationen über die Mailingliste volkszaehler-users