DbLog reduceLogNbl auf RPi -> EventScheduler MySQL auf NAS mgl?

Begonnen von blofield, 03 Juni 2018, 11:11:10

Vorheriges Thema - Nächstes Thema

blofield

Moin,

ich habe so meine Probleme mit meinem RPi3 und dem reduceLogNbl in Kombination mit der Masse an zu bearbeitenden Daten.
Ich führe jede Nacht ein reduceLogNbl 31 durch und bereinige damit etwa 500k bis 1000k Datensätze in der MySQL DB auf meinem NAS.
Anhand der Logs kann ich gut nachvollziehen, dass bei einer Schwelle von ~780k Datensätzen, der RPi3 aussteigt und neu bootet.

Alles darunter läuft sauber durch. Im Log steht nix. Weder bei fhem noch im syslog.


2018.05.30 03:05:00 3: DbLog logdb: reduceLogNbl requested with DAYS=31
2018.05.30 03:06:19 3: DbLog logdb: reduceLogNbl deleting 2 records of day: 2018-01-03
2018.05.30 03:06:48 3: DbLog logdb: reduceLogNbl deleting 1 records of day: 2018-02-21
2018.05.30 03:06:55 3: DbLog logdb: reduceLogNbl deleting 6 records of day: 2018-03-05
2018.05.30 03:06:58 3: DbLog logdb: reduceLogNbl deleting 4 records of day: 2018-03-10
2018.05.30 03:07:07 3: DbLog logdb: reduceLogNbl deleting 4 records of day: 2018-03-25
2018.05.30 03:07:16 3: DbLog logdb: reduceLogNbl deleting 1 records of day: 2018-04-11
2018.05.30 03:07:18 3: DbLog logdb: reduceLogNbl deleting 1 records of day: 2018-04-15
2018.05.30 03:07:21 3: DbLog logdb: reduceLogNbl deleting 1 records of day: 2018-04-19
2018.05.30 03:07:28 3: DbLog logdb: reduceLogNbl deleting 35285 records of day: 2018-04-27
2018.05.30 03:07:32 3: DbLog logdb: reduceLogNbl deletion progress of day: 2018-04-27 is: 10000
2018.05.30 03:07:37 3: DbLog logdb: reduceLogNbl deletion progress of day: 2018-04-27 is: 20000
2018.05.30 03:07:41 3: DbLog logdb: reduceLogNbl deletion progress of day: 2018-04-27 is: 30000
2018.05.30 03:08:14 3: DbLog logdb: reduceLogNbl deleting 786227 records of day: 2018-04-28
2018.05.30 03:08:19 3: DbLog logdb: reduceLogNbl deletion progress of day: 2018-04-28 is: 10000
...
2018.05.30 03:17:24 3: DbLog logdb: reduceLogNbl deletion progress of day: 2018-04-28 is: 780000
2018.05.30 03:17:29 3: DbLog logdb: reduceLogNbl finished. Rows processed: 2778052, deleted: 821532, time: 749.00sec
2018.05.30 03:17:39 2: DbLog logdb -> Error table history - DBD::mysql::st execute_array failed: executing 3660 generated 4 errors at ./FHEM/93_DbLog.pm line 2050.

(Das hat gerade noch geklappt)

Wenn ich ein reduceLogNbl 31 average anwerfe steigt er sofort aus...


2018.06.02 01:01:54 3: DbLog logdb: reduceLogNbl requested with DAYS=31, AVERAGE=HOUR
2018.06.02 01:03:33 3: DbLog logdb: reduceLogNbl deleting 2 records of day: 2018-01-03
2018.06.02 01:04:11 3: DbLog logdb: reduceLogNbl deleting 1 records of day: 2018-02-21
2018.06.02 01:04:20 3: DbLog logdb: reduceLogNbl deleting 6 records of day: 2018-03-05
2018.06.02 01:04:24 3: DbLog logdb: reduceLogNbl deleting 4 records of day: 2018-03-10
2018.06.02 01:04:36 3: DbLog logdb: reduceLogNbl deleting 4 records of day: 2018-03-25
2018.06.02 01:04:49 3: DbLog logdb: reduceLogNbl deleting 1 records of day: 2018-04-11
2018.06.02 01:04:52 3: DbLog logdb: reduceLogNbl deleting 1 records of day: 2018-04-15
2018.06.02 01:04:55 3: DbLog logdb: reduceLogNbl deleting 1 records of day: 2018-04-19
2018.06.02 00:17:10 1: Including fhem.cfg


Ich habe alle anderen Jobs, die zur selben Zeit anfallen könnten sowohl auf dem RPi als auch auch dem NAS verschoben, so dass es da keine Interferenzen geben kann. Was ich auch nicht verstehe: Wenn ich ein reduceLog mit DAYS=31 am 01.06. anwerfe, was macht er denn dann mit den Daten vom 03.01., 21.02, 05.03, ... etc?! Augenscheinlich können die ja auch nicht gelöscht werden, denn die tauchen jeden Tag im Log wieder auf?!

Grundsätzlich stellt sich mir allerdings die Frage, ob bei meinem Setup: schwachbrüstiger RPi und DB auf dem NAS nicht eigentlich das NAS serverseitig die Arbeit  mittels EventScheduler oder stored Procedure verrichten kann?
Würde in diesem Fall sicher mehr Sinn machen.

Was denkt ihr? Wenn ja, wie?

blofield


DS_Starter

#1
Du hast zunächst das falsche Forum gewählt. Bitte verschiebe den Thread nach  https://forum.fhem.de/index.php/board,20.20.html.

Vermutlich hängt das Verhalten damit zusammen, dass zuviele Daten im Block verarbeitet werden müssen und der Speicher zu Ende geht.
Hast du genügend Swap-Speicher ?

Ansonsten reduziere die Tage die pro Lauf bearbeitet werden sollen und schaue wie es damit aussieht.

Zitat
Grundsätzlich stellt sich mir allerdings die Frage, ob bei meinem Setup: schwachbrüstiger RPi und DB auf dem NAS nicht eigentlich das NAS serverseitig die Arbeit  mittels EventScheduler oder stored Procedure verrichten kann?

Interressanter Ansatz. Allerdings bin ich da überfragt wie es umzusetzen wäre. Kannst diese Frage hier https://forum.fhem.de/index.php/topic,65860.0.html mal einstellen.

beste Grüße
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

blofield

Thema verschoben.

@DS_Starter

Die Vermutung mit der Datenmenge habe ich ja auch. Ich schaue mir das schon eine Weile an und sehe halt, dass bei ca. 780k Datensätzen die Grenze ist.
SWAP habe ich jetzt noch nicht gemonitored, nehme ich aber gleich mal auf. Vom RAM wird ~850MB von 923MB genutzt, SWAP stehen 1024MB zur Verfügung.

Den von Dir verlinkten Foren-Thread habe ich in der Hoffnung eine Idee zu bekommen auch durch gearbeitet. Stelle ich gerne mal als Anregung dort vor.

;)
blofield