DbLog Device nach Start von Fhem sehr lange blockiert

Begonnen von maddinthebrain, 06 Januar 2019, 22:41:18

Vorheriges Thema - Nächstes Thema

maddinthebrain

Hallo zusammen,

Ich habe seit ner Weile das Problem, dass nach einem Neustart von Fhem das DbLog Device lange Zeit den Status "Commit already running - resync at NextSync" annimmt. Währenddessen ist es nicht möglich Räume mit Plot die ja über die Datenbank versorgt werden zu öffnen. Da muss man dann warten, bis das DbLog Device den Status "connected" annimmt. Das Dauer allerdings eine ganze Weile bis zu 1 Stunde.

Was ist denn hier das Problem? Ist das eher ein Problem auf dem Datenbankserver? Oder ein Fhem Problem? Hat jemand eine Idee? Oder muss das so...

Schönen Abend!

Grüße Martin
Viele Grüße
Martin

Futro mit Proxmox und Debian: FHEM, Signalduino 433MHz & 868MHz, MAX!, WeeWX, FHEM2FHEM,
Raspi 4 mit ConBee mit deCONZ und Phoscon für ZigBee Aktoren und Sensoren

DS_Starter

Hallo Martin,

das ist vordergründig ein Datenbankproblem. Deine DB schreibt sehr langsam Daten -> deswegen der State "Commit already running - resync at NextSync".
Demzufolge wirde die DB auch langsam Daten liefern, was Auswirkung auf die Plots hat und das Problem verursacht. Allerdings kannst du es wahrscheinlich mit den Attributen "plotfork"/ "plotEmbed" im FHEMWEB entschärfen. Allerdings solltest du mal nach der DB schauen was da los ist, normal ist das nicht.

Grüße
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

maddinthebrain

Ja, das war wohl die Datenbank. Ich habe mal ein Optimize Table angestoßen und das hat was geholfen. Macht es Sinn das regelmäßig zu machen und wenn ja wie oft? Wöchentlich, Täglich,...

Vielen Dank

und GRüße

Martin
Viele Grüße
Martin

Futro mit Proxmox und Debian: FHEM, Signalduino 433MHz & 868MHz, MAX!, WeeWX, FHEM2FHEM,
Raspi 4 mit ConBee mit deCONZ und Phoscon für ZigBee Aktoren und Sensoren

Wernieman

Das bringt Dir nur etwas, wenn Du Daten löschst .... und es kann dauern ...

Komm also auf die DBEngine drauf an (und DB-Größe, -Benutzung etc.)
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

DS_Starter

Hallo Martin,

wie Wernieman schon sagte, müssen vorher Daten gelöscht werden.

Ich habe zum Beispiel täglich einen Job (AT) laufen, der aus einer meiner DB's alle Daten älter als 180 Tage löscht. Das macht ein DbRep-Device. Wenn das Löschen fertig ist, wird ein weiteres DbRep-Device genutzt um ein optimize table durchzuführen.
Das geht ganz einfach indem man das Attribut "executeAfterProc = set <DbRep-Device> optimizeTables" im ersten DbRep setzt welches man zum Löschen benutzt.

Grüße,
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter