Home Assistant - DNS und Performance

tiermutter

Well-known member
Moin zusammen,

mein HA läuft mittlerweile soweit wie ich es mir wünsche, gestern Abend habe ich nochmal die Datenbank gelöscht um "sauber" von vorn zu beginnen.
Nun zerbreche ich mir allerdings über andere Dinge den Kopf:

1. DNS
Damit hatte ich schon zu kämpfen, bevor ich in HA überhaupt den ersten Handschlag getan habe. Hier läuft "coreDNS" und hat bei mir volle CPU Last verursacht.
Dem habe entgegengewirkt in dem ich "den Schrott" mit ha dns options --fallback=false abgeschaltet habe.
Was genau soll das überhaupt sein, und wozu? Ist DNS / Internet so wichtig für HA?

2. Performance
Das erste Performanceproblem hatte ich ja gelöst, indem ich coredns abgeschaltet habe.
Gestern habe ich mich gewundert, warum HA so träge ist und als erstes vermutet, dass es wieder aktiv ist. Dem war aber nicht so, stattdessen hat python3 zwischen 26 und 100% CPU Last verursacht.
Nachdem ich planmäßig die Datenbank gelöscht habe, war wieder alles ok. Woher kommt das?
Beim löschen habe ich festgestellt, dass die Datenbank in mehrere Teile aufgeteilt war, die teilweise "currupted" im Namen trugen. Die DB waren zusammen über 800MB groß.
Könnte die Auslastung damit zu tun haben? Woher könnten die defekten Datenbanken stammen? Sicherlich von meinen vielen Spielereien im Testbetrieb, aber wie kann ich sowas vorbeugen?
Und kann ich irgendwie vorbeugen, dass mit wachsender Datenbank wieder solche Auslastung durch python3 passiert?
 
Hört sich ja erstmal nach "kaputt gespielt" an... :censored: Mir sind solche Probleme noch nie untergekommen und hier laufen "einige" HA-Instanzen (aber nicht im produktiven Einsatz). Hier auf einer Testkiste sieht das wie folgt bzgl. der CPU-Auslastung aus:

1677665966957.png

1677666072448.png

Kannst auch mal in der HA-CLI einfach mal nach den verfügbaren Optionen schauen:


Vielleicht hätte auch schon ein einfacher Neustart oder ein Update des DNS etwas gebracht. Alternativ dazu, gäbe es auch noch die Optionen:

dns options --help

Da kannst Du dann - falls Du es brauchst - mal das Logging hochschrauben, oder einen anderen Upstream-Server angeben. Weiss ja nicht, wie wo was Du bisher so konfiguriert hast, könnte mir aber schon vorstellen, dass das Ding Theater machen "könnte", wenn es keine vernünftigen Antworten vom Upstream-Server bekommt. Frei nach dem Motto: "Anfrage ok, dann bin ich jetzt erstmal wieder still" vs "Anfrage nicht ok, dann muss ich jetzt solange Vollgas geben, bis ich eine vernünftige Antwort bekomme"... aber nix genaues weiss man nicht, daher... Logging hochschrauben und nachschauen 🙃

Das mit dem Python... keine Ahnung, aber wenn ein Python-Script eine DNS-Abfrage lostritt.... naja... man könnte eine "unglückliche Verkettung der Umstände" vermuten 😄 Ist jetzt aber auch nur geraten und das wird es (vermutlich) auch nicht sein. Allerdings weiss ich auch nicht, "wie" zickig HA wird, wenn das mit dem DNS nicht funktioniert. Aber was auch immer - rumraten macht es ja auch nicht besser, von daher... Issues durchschauen:

1677668720798.png

.... 😁 Hab nur mal kurz geschaut und vllt taugen die beiden hier ja etwas...

DNS evtl. https://github.com/home-assistant/supervisor/issues/4016
Python evtl. https://github.com/home-assistant/core/issues/83791

Ansonsten halt mal durchfiltern... bei 2+k offenen Issues verkürzt sich die Liste dennoch maßgeblich, wenn man nach den richtigen Dingen filtert 😅
 
Kannst auch mal in der HA-CLI einfach mal nach den verfügbaren Optionen schauen:
Die HA CLI kennt das Kommando nicht... und die CLI der VM natürlich auch nicht...
Gut möglich, dass coredns hier so nen Aufstand gemacht hat, weil es nichts erreicht hat, schließlich wird alles auf mein Adguard umgeleitet oder blockiert. Unterm Strich egal was es ist, muss sowas finde ich nicht sein, und wenn dann ordentlich dokumentiert, aber warum sollte mir irgendein Tool wie HA überhaupt einen fallback-DNS aufzwängen?
ne Ahnung, aber wenn ein Python-Script eine DNS-Abfrage lostritt.... naja... man könnte eine "unglückliche Verkettung der Umstände" vermuten
Hatte ich auch vermutet, aber durch das Rücksetzen der Datenbank war ja deutlich ruihger...

Das Issue mit py3 klingt interessant, mal schauen was sich da tut... das DNS Ding trifft nicht so recht zu, mein HA fragt eigentlich kaum was an, zumindest nicht wenn coredns deaktiv ist 🙃 Aber aktivieren werde ich es nicht wieder, um das herauszufinden...
 
Die py3 Thematik kam mit der Zeit (wachsende Datenbank?) nun wieder, teils ist das Abrufen von HA extrem träge bis unbrauchbar gewesen, hatte aber keine Zeit und keine Lust mich damit zu befassen...
Kürzlich habe ich dann das Update auf die 23.4.x gemacht, hier habe ich mir schon durch die Release Notes Besserung versprochen, denn es wurde ja irgendwas an der Datenbank optimiert, was u.a. die CPU Last senken soll...

Nach nichtmal 2h darf ich mir zwar noch kein Urteil erlauben, aber die Last ist deutlich zurückgegangen, auch wenn py3 weiterhin sehr auffällig ist (immer wieder mal Peaks um 50-80% Last).

Meine Vermutung geht nun dahin, dass meine selbsterstellten Sensoren (oder wie auch immer das heißt, was ich mir da mit eurer Hilfe alles gebastelt habe) eventuell etwas "Unmut" stiften, weil diese ja teils auch in der alten Schreibweise sind, was bei mir ja auch schon zu Problemen geführt hat.... dem nehme ich mich aber nicht zeitnah an, denke ich...
 

Letzte Anleitungen

Statistik des Forums

Themen
4.379
Beiträge
45.225
Mitglieder
3.978
Neuestes Mitglied
HAbeginner
Zurück
Oben