DbRep Timeout

Begonnen von MadMax, 08 März 2022, 16:58:07

Vorheriges Thema - Nächstes Thema

MadMax

Hallo Heiko,

seit einer Weile (8Wochen mindestens) liefern mit die DBReps keine Daten mehr.
Ich hatte mir das Beispiel von dir mit der PV Erzeugung uns Eigenverbrauch letztes Jahr mal nachgebaut, das hatte alle super funktioniert aber seit einer Weile eben nicht mehr.

Das Bringt mir Verbose 5.

2.03.08 16:50:02 1: DbRep Rep.Inverter.Erzeugung.Jahr -> BlockingCall DbRep_getInitData pid:29888 Timeout: process terminated
2022.03.08 16:51:07 3: DbRep Rep.Inverter.Erzeugung.Jahr - get initial structure information of database "fhem", remaining attempts: 2
2022.03.08 16:51:07 3: DbRep Rep.Inverter.Erzeugung.Jahr - Connectiontest to database mysql:database=fhem;host=localhost;port=3306 with user fhemuser
2022.03.08 16:51:07 5: DbRep Rep.Inverter.Erzeugung.Jahr - start BlockingCall with PID "30320"
2022.03.08 16:51:07 4: DbRep Rep.Inverter.Erzeugung.Jahr - Database connect - user: fhemuser, UTF-8 option set: yes
2022.03.08 16:54:07 1: DbRep Rep.Inverter.Erzeugung.Jahr -> BlockingCall DbRep_getInitData pid:30320 Timeout: process terminated


Die DB (MariaDB) liegt schon seit über einem halben Jahr auf einer Externen SSD, die Plots funktionieren auch ohne Probleme.

Hast du eine Idee woran es liegen kann?

Gruß
Max
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 6x SMA Wechselrichter, BYD HVM, BYD HVS, SMA EVCharger, KEBA Wallbox, 2x HMS800W, Daikin Wärmepumpe über CAN, viele ESPs

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

DS_Starter

Hallo Max,

Der parallele Prozess stirbt einfach ohne nähere Info zum Grund nach 3 Sekunden. Nun passiert es bei dir ganz am Anfang wenn die Verbindung zur DB aufgebaut wird, also bei einer ganz unspektakulären Aktion. Das macht es nicht leichter.

Typisch wäre so ein Abbruchverhalten wenn du generell zu wenig RAM verfügbar hast sodass der geforkte Perl Prozess stirbt.
Du könntest mit top auf Betriebssystemebene schauen wieviel Speicher Perl im Normalbetrieb verwendet und ob noch geügend freier Speicher vorhanden ist. Allerdings verwendet auch DbLog und viele andere Module auch parallele Prozesse die m.M. nach auch Probleme haben sollten in diesem Fall.

Grüße,
Heike

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

MadMax

Hallo Heiko,

Das werde ich mal prüfen aber ich habe eine pi 4 mit 4gb RAM von denen selten mehr als 1gb belegt ist.

Was soll ich mit Top schauen?
Da sehe ich genau das das eigentlich genug RAM frei ist.

Gruß
Max
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 6x SMA Wechselrichter, BYD HVM, BYD HVS, SMA EVCharger, KEBA Wallbox, 2x HMS800W, Daikin Wärmepumpe über CAN, viele ESPs

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

DS_Starter

Naja, ob fhem (perl) z.B. 1GB benutzt und du hast nur 1,5 GB oder so.
Aber bei 4GB RAM kann da eigentlich kein Problem sein.
Dann findest du vielleicht einen Hinweis in /var/log/messages ?
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

DS_Starter

Lösche doch bei dir mal die Zeile 2163  (mysql_enable_utf8   => $utf8).
Wie sieht es dann bei dir aus ?
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

MadMax

Hallo Heiko,

hatte vergessen mir das hier weiter anzuschauen.

Also in Zeile 21635 hatte ich den Eintrag gefunden, war das der richtige?
Jedenfalls habe ich den Auskommentiert aber es hat sich leider nicht verändert.


2022.04.03 16:23:27 1: DbRep Rep.Inverter.Erzeugung.Monat -> BlockingCall DbRep_getInitData pid:28193 Timeout: process terminated


Gruß
Max
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 6x SMA Wechselrichter, BYD HVM, BYD HVS, SMA EVCharger, KEBA Wallbox, 2x HMS800W, Daikin Wärmepumpe über CAN, viele ESPs

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

DS_Starter

Ok, hätte mich ehrlich gesagt auch gewundert.
Wie steht denn das timeout Attribut ?
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

MadMax

Das ist auf 180 gesetzt
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 6x SMA Wechselrichter, BYD HVM, BYD HVS, SMA EVCharger, KEBA Wallbox, 2x HMS800W, Daikin Wärmepumpe über CAN, viele ESPs

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

DS_Starter

Na dann stelle es deutlich höher oder lösche es einfach.
Der Standard ist schon lange 86400. Es soll nur dazu dienen dass die Nebenprozesse irgendwann mal abgeräumt werden wenn etwas schief geht.
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

MadMax

Hallo Heiko,

Das mit dem Timeout war das Problem.
Kann es sein das die DB einfach zu groß geworden ist und es deswegen länger dauert?
Hatte ja schließlich mal mit den 180s geklappt.

Gruß
Max
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 6x SMA Wechselrichter, BYD HVM, BYD HVS, SMA EVCharger, KEBA Wallbox, 2x HMS800W, Daikin Wärmepumpe über CAN, viele ESPs

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

DS_Starter

Hallo Max,

Zitat
Kann es sein das die DB einfach zu groß geworden ist und es deswegen länger dauert?

Das kann man so global nicht sagen. Meine DB (MariaDB) ist mehr als 5 GB groß und der initiale Verbindungsaufbau dauert
nur ca. 100 ms.


2022.04.07 19:01:54.657 3: DbRep Rep.Dum.Energy - get initial structure information of database "fhem", remaining attempts: 3
2022.04.07 19:01:54.658 3: DbRep Rep.Dum.Energy - Connectiontest to database mysql:database=fhem;host=192.168.2.44;port=3306 with user fhem
2022.04.07 19:01:54.764 3: DbRep Rep.Dum.Energy - Initial data information retrieved - total time used: 0.0056 seconds
2022.04.07 19:01:54.770 3: DbRep Rep.Dum.Energy - Connectiontest to db mysql:database=fhem;host=192.168.2.44;port=3306 successful


LG
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

MadMax

Hallo Heiko,

Bei mir dauert dir gesamte Abfrage etwa 5 Minuten.
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 6x SMA Wechselrichter, BYD HVM, BYD HVS, SMA EVCharger, KEBA Wallbox, 2x HMS800W, Daikin Wärmepumpe über CAN, viele ESPs

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

DS_Starter

Sind in deiner DB die Index angelegt ?
Du siehst es mit "set ... index list_all" im DbRep.
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

MadMax

Hallo Heiko,

Das lief echt schnell durch.
Hier die Ausgabe.


Index found in database: ======================== Table: history, Idx: Search_Idx, Col: DEVICE, READING, TIMESTAMP


Gruß
Max
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 6x SMA Wechselrichter, BYD HVM, BYD HVS, SMA EVCharger, KEBA Wallbox, 2x HMS800W, Daikin Wärmepumpe über CAN, viele ESPs

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

DS_Starter

Wie lange dauert denn ein "get ... minTimestamp" ?
Das Reading sql_processing_time zeigt es.

Bei mir sind es 0.0036 s.
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