[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