FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Thema gestartet von: Mitch am 04 Dezember 2014, 00:22:33

Titel: configDB "säubern"
Beitrag von: Mitch am 04 Dezember 2014, 00:22:33
Hallo,

ich nutze jetzt schon einige Zeit die configDB "Option".

Durch viel umkonfigurieren und ändern habe ich mittlerweile 412 Versionen in der Datenbank.
Wie kann ich denn das ganze etwas "säubern"?

Mein fhem leidet anscheinend an der db Performanz.

Vielen Dank!
Titel: Antw:configDB "säubern"
Beitrag von: Klaus Rubik am 04 Dezember 2014, 06:19:56
Versuchs doch mit

configdb reorg <Anzahl>

Das Kommando behält nur die <Anzahl> an Versionen in der DB und löscht den Rest weg.
Titel: Antw:configDB "säubern"
Beitrag von: betateilchen am 04 Dezember 2014, 06:53:54
Wozu betreibe ich als Entwickler eigentlich den Aufwand, eine commandref zu erstellen, wenn sie nicht gelesen wird?

Die configDB ist während des Betriebs von fhem überhaupt nicht in Gebrauch. Deshalb kann ich Performanceprobleme während des Betriebs durch die Konfigurationsdatenbank eigentlich ausschließen. Die Datenbank wird beim Starten von fhem geöffnet, gelesen, und direkt wieder geschlossen.

Ausserdem ist das hier der falsche Forumbereich für Fragen zu configDB.
Titel: Antw:configDB "säubern"
Beitrag von: Mitch am 04 Dezember 2014, 09:18:51
Danke betateilchen  :)

@Klaus: Danke, habe ich gestern Nacht total überlesen. Hab es jetzt durchgeführt und mit einem at eingebaut.
Siehe da, fhem läuft um einiges performanter (für betateilchen).
Titel: Antw:configDB "säubern"
Beitrag von: betateilchen am 04 Dezember 2014, 09:36:51
Zitat von: Mitch am 04 Dezember 2014, 09:18:51
Siehe da, fhem läuft um einiges performanter

aber nicht, weil Deine configDB jetzt kleiner ist. Das wirkt sich - wenn überhaupt - ausschließlich beim Starten von fhem aus.
Titel: Antw:configDB "säubern"
Beitrag von: Mitch am 04 Dezember 2014, 09:38:40
Ich erkläre es mir dadurch, dass einfach die SQL db ziemlich voll war (insgesamt) und jetzt mit "säuberung" aller tabellen performanter ist.
Titel: Antw:configDB "säubern"
Beitrag von: betateilchen am 04 Dezember 2014, 10:43:31
Nochmal: die SQL Datenbank liegt zur Laufzeit Deines fhem einfach auf Deiner Festplatte rum wie jede andere Datei auch. Es erfolgt kein Zugriff auf die Datenbank, nachdem fhem gestartet wurde. Es sei denn, Du selbst schreibst regelmäßig irgendwas in die Konfigurationsdatenbank. (Gerüchteweise soll es beispielsweise Leute geben, die alle zwei Minuten ihr Statefile schreiben).
Titel: Antw:configDB "säubern"
Beitrag von: RoBra81 am 04 Dezember 2014, 10:52:12
Ich weiß ja nicht, ob das möglich ist, aber vielleicht verwendet Mitch ja für ConfigDB und LogDB die gleiche Datenbank...
Titel: Antw:configDB "säubern"
Beitrag von: Mitch am 04 Dezember 2014, 11:14:21
Zitat von: betateilchen am 04 Dezember 2014, 10:43:31
Es sei denn, Du selbst schreibst regelmäßig irgendwas in die Konfigurationsdatenbank
Ich gehöre wohl zu dieser "Randgruppe"  ;D

bzgl. Datenbank, ich habe halt einen MySQL Server auf meinem Linux Server, der auch fhem Server ist und dort zwei Datanbanken (configdb und DBLog).

Insgesamt finde ich schon, dass das System langsamer geworden ist, seit ich auf SQL umgestellt habe.
Ich logge auch nicht wirklich viel, konfiguriere (defniere und lösche) aber sehr viel und sehr oft.

Wenn ich etwas mit der DB mache und top aufrufe, sehe ich auch, wie SQL extrem hoch geht.
Kann man denn an MySQL noch etwas "tunen"?
Titel: Antw:configDB "säubern"
Beitrag von: betateilchen am 24 Dezember 2014, 12:41:46
Zitat von: Mitch am 04 Dezember 2014, 00:22:33
Durch viel umkonfigurieren und ändern habe ich mittlerweile 412 Versionen in der Datenbank.
Wie kann ich denn das ganze etwas "säubern"?

Die configdb kennt übrigens schon sehr lange ein eigenes (nicht dokumentiertes) Attribut "maxversions", mit der sich die Anzahl der in der Datenbank gespeicherten Versionen dauerhaft begrenzen läßt.

configdb attr maxversion 5

sorgt dafür, dass maximal fünf vorhergehende Versionen gespeichert werden. Beim Speichern einer sechsten Version wird automatisch die älteste gelöscht.

Titel: Antw:configDB &quot;säubern&quot;
Beitrag von: Mitch am 24 Dezember 2014, 12:48:44
Super, vielen Dank!

Habst direkt "eingebaut".

BTW: im Moment läuft fhem wieder 100% stabil mit configdb und dblog.

Ich vermute fast, es lag am Sonos Modul.
Titel: Antw:configDB "säubern"
Beitrag von: dlehmann69 am 07 Januar 2015, 10:06:57
Hallo,

ich habe es auch einmal getestet. Bei mir funktioniert aber nur

configdb attr maxversions 5

Beste Grüße
Dirk
Titel: Antw:configDB "säubern"
Beitrag von: betateilchen am 07 Januar 2015, 13:22:16
Zitat von: dlehmann69 am 07 Januar 2015, 10:06:57
ich habe es auch einmal getestet.

Was getestet?

Zitat von: dlehmann69 am 07 Januar 2015, 10:06:57
Bei mir funktioniert aber nur

Was bedeutet in diesem Zusammenhang "nur" ?
Titel: Antw:configDB "säubern"
Beitrag von: volschin am 07 Januar 2015, 14:01:31
Er meint das fehlende "s".  ;)
Titel: Antw:configDB "säubern"
Beitrag von: dlehmann69 am 07 Januar 2015, 14:24:42
Genau. Ich meinte das fehlende "s". Ohne dieses werden keine alten Einträge gelöscht.
Titel: Antw:configDB "säubern"
Beitrag von: betateilchen am 07 Januar 2015, 19:43:07
Zitat von: dlehmann69 am 07 Januar 2015, 14:24:42
Genau. Ich meinte das fehlende "s".

dann schreib das doch auch...  >:(