NEWS
Umstellung auf redis
-
Guten Abend zusammen,
da mein ioBroker ziemlich abschwächelt (ewige Ladezeiten), wollte ich die States und Objekte mal auf redis umziehen.
Mein ioBroker läuft auf meiner Synology (host), Watchtower hat den gerade anscheinend auch aktualisiert. Also redis als Image hinzugefügt, läuft soweit (auch der Test EVAL "return 'c-i.t' >= 'c.' and 'c-i.t' < 'c.香'" 1 1).
Ich habe nun als ENV Variablen den redis hinzugefügt, aber ioBroker will nicht. Die lapidare Feststellung "Checking Database Connection... Failed." hilft mir nicht wirklich weiter. Ich suche schon was länger, das Forum ist ja voll von redis, aber eine Lösung habe ich noch nicht gefunden. Vielleicht hat ja jemand einen Tipp für mich?

Liebe Grüße, Manu
-
@meister-mopper Ja, Docker. buanet-latest, redis-latest. Beides über host. hatte gesehen, dass der ioBroker gerade aktualisiert wurde.

-
@meister-mopper Ja, Docker. buanet-latest, redis-latest. Beides über host. hatte gesehen, dass der ioBroker gerade aktualisiert wurde.

Hatte mir den Container kopiert, aber bekomme den ioBroker nicht mehr hoch. Nur noch "Checking Database Connection... Failed.". Mit und ohne redis.
Habe jetzt mal meinen Mount umgebogen, damit er hoffentlich wieder startet. Dachte, das wäre einfacher :( -
Hatte mir den Container kopiert, aber bekomme den ioBroker nicht mehr hoch. Nur noch "Checking Database Connection... Failed.". Mit und ohne redis.
Habe jetzt mal meinen Mount umgebogen, damit er hoffentlich wieder startet. Dachte, das wäre einfacher :( -
ioBroker hat jetzt wirklich etwas gezickt, das hatte er nicht gut vertragen. Also Backup eingespielt, damit konnte ich mein System wiederbeleben. Und alles wieder beim Alten: die grafischen Oberflächen wie Admin oder Vis waren quasi nicht benutzbar - nur noch timeouts, Hänger, ewiges Warten.
Ich habe daher etwas weiter gegraben, denn das Redis-Konzept macht schon Sinn. Diese Anleitung hats schließlich gebracht, um auf Redis zu migrieren: https://docs.buanet.de/iobroker-docker-image/docs/#migrating-to-redis. Jetzt rennt ioBroker, ich bin hocherfreut. Mit so einem Performance-Boost habe ich nicht gerechnet! -
ioBroker hat jetzt wirklich etwas gezickt, das hatte er nicht gut vertragen. Also Backup eingespielt, damit konnte ich mein System wiederbeleben. Und alles wieder beim Alten: die grafischen Oberflächen wie Admin oder Vis waren quasi nicht benutzbar - nur noch timeouts, Hänger, ewiges Warten.
Ich habe daher etwas weiter gegraben, denn das Redis-Konzept macht schon Sinn. Diese Anleitung hats schließlich gebracht, um auf Redis zu migrieren: https://docs.buanet.de/iobroker-docker-image/docs/#migrating-to-redis. Jetzt rennt ioBroker, ich bin hocherfreut. Mit so einem Performance-Boost habe ich nicht gerechnet!@manuxi die Umstellung auf Redis will ich auch (gefühlt schon ewig) machen. Wieviel states und objects hast du denn?
25700/30046 bei mir -
@manuxi die Umstellung auf Redis will ich auch (gefühlt schon ewig) machen. Wieviel states und objects hast du denn?
25700/30046 bei mir@fredf Ist in etwa genau so viel bei mir. Die Umstellung war recht easy und flott - wenn man denn weiß, was man machen muss. Steht aber alles im verlinkten Artikel. Ich hatte mir dazu einen redis-Container gebaut und gestartet. Dann per Terminal die Migration gestartet. Nachdem die durch war, meinen IOB-Container gestoppt und folgende Daten eingegeben:

Es sieht ganz gut aus von der Geschwindigkeit, auch RAM-Verbrauch und CPU-Last sind enorm gesunken. -
@fredf Ist in etwa genau so viel bei mir. Die Umstellung war recht easy und flott - wenn man denn weiß, was man machen muss. Steht aber alles im verlinkten Artikel. Ich hatte mir dazu einen redis-Container gebaut und gestartet. Dann per Terminal die Migration gestartet. Nachdem die durch war, meinen IOB-Container gestoppt und folgende Daten eingegeben:

Es sieht ganz gut aus von der Geschwindigkeit, auch RAM-Verbrauch und CPU-Last sind enorm gesunken.@manuxi danke dir. Ich schaue mal wann ich das angehe

-
wenn du docker verwendest, dann kannst du hier mal reinschauen.
dann wird es viel einfacher.
ich habe per docker-compose (bzw in portainer nennt sich das stacks
2 zusammengehörende services definiert
die angaben zum macvlan kannst du ignorieren, falls du das nicht einsetzt
Wichtig ist, das bei beiden das gleiche netzwerk definiert ist
iobrokerprod4
dadurch ist dann redis vom iobroker aus erreichbar und zwar mit dem hostnamen redis4
der servicenamen entspricht dann dem hostnamen
danach rufst du auf der shell im iobroker container den folgenden befehl aufiobroker setup customund gehst den dialog zur umstellung nach redis durch.
version: '3' services: iobrokerprod4: restart: always image: buanet/iobroker:latest container_name: iobrokerprod4 hostname: iobrokerprod4 ports: - "8081:8081" environment: SETGID: 1001 SETUID: 1001 volumes: - /home/iobroker/docker/volume/iobroker_prod4:/opt/iobroker - /home/iobroker/docker/volume/iobroker_prod4_nodemodules:/usr/lib/node_modules - /media/iobroker_backup/:/opt/iobroker/backup networks: dockerMACVLAN: ipv4_address: 192.168.1.85 iobrokerprod4: redis4: image: "redis:alpine" volumes: - /home/iobroker/docker/volume/redis_prod4:/data networks: iobrokerprod4: networks: dockerMACVLAN: external: true iobrokerprod4: -
@oliverio Danke Dir, darüber bin ich auch schon mehrmals gestolpert. Hab den Portainer für andere Container bereits benutzt, hier wäre das ja auch nicht das Schlechteste. Werde es also demnächst mal damit machen, falls es hier keine Besserung gibt - denn trotz der jetzt höheren Geschwindigkeit habe ich jetzt schon wieder Hänger bei Zugriff auf Admin. Meine Vermutung ist da das gemountete Verzeichnis, vielleicht Permission-Probleme. Ich untersuche das weiter.
-
wenn du docker verwendest, dann kannst du hier mal reinschauen.
dann wird es viel einfacher.
ich habe per docker-compose (bzw in portainer nennt sich das stacks
2 zusammengehörende services definiert
die angaben zum macvlan kannst du ignorieren, falls du das nicht einsetzt
Wichtig ist, das bei beiden das gleiche netzwerk definiert ist
iobrokerprod4
dadurch ist dann redis vom iobroker aus erreichbar und zwar mit dem hostnamen redis4
der servicenamen entspricht dann dem hostnamen
danach rufst du auf der shell im iobroker container den folgenden befehl aufiobroker setup customund gehst den dialog zur umstellung nach redis durch.
version: '3' services: iobrokerprod4: restart: always image: buanet/iobroker:latest container_name: iobrokerprod4 hostname: iobrokerprod4 ports: - "8081:8081" environment: SETGID: 1001 SETUID: 1001 volumes: - /home/iobroker/docker/volume/iobroker_prod4:/opt/iobroker - /home/iobroker/docker/volume/iobroker_prod4_nodemodules:/usr/lib/node_modules - /media/iobroker_backup/:/opt/iobroker/backup networks: dockerMACVLAN: ipv4_address: 192.168.1.85 iobrokerprod4: redis4: image: "redis:alpine" volumes: - /home/iobroker/docker/volume/redis_prod4:/data networks: iobrokerprod4: networks: dockerMACVLAN: external: true iobrokerprod4:@oliverio Okay, also ich musste hier eine andere Version des Containers nehmen, da die buanet-latest (wohl noch von einer älteren Installation) nicht mehr empfohlen werden und ich nur noch Hänger hatte. Watchtower hatte jeweils die neuesten Versionen gezogen. Teilweise konnte ich die Seiten unter Admin überhaupt nicht erreichen (Scripts, Hosts, usw.). Jetzt bin ich auf latest-v6 und alles scheint wieder zu klappen. Ich bin erstaunt, dass ein so altes Image hier geholfen hat o0
Zum Testen der neueren Versionen würde ich daher gerne Portainer nutzen, habe aber noch nicht gesehen, wie ich darüber den iobroker als host einrichte. Das werde ich wohl so machen müssen, um einen Zigbee-Stick anzusprechen. Ich suche später mal weiter, falls sich keiner hier meldet. Bin allerdings noch an der nächsten Redis-Migration für die latest-v6... -
@oliverio Okay, also ich musste hier eine andere Version des Containers nehmen, da die buanet-latest (wohl noch von einer älteren Installation) nicht mehr empfohlen werden und ich nur noch Hänger hatte. Watchtower hatte jeweils die neuesten Versionen gezogen. Teilweise konnte ich die Seiten unter Admin überhaupt nicht erreichen (Scripts, Hosts, usw.). Jetzt bin ich auf latest-v6 und alles scheint wieder zu klappen. Ich bin erstaunt, dass ein so altes Image hier geholfen hat o0
Zum Testen der neueren Versionen würde ich daher gerne Portainer nutzen, habe aber noch nicht gesehen, wie ich darüber den iobroker als host einrichte. Das werde ich wohl so machen müssen, um einen Zigbee-Stick anzusprechen. Ich suche später mal weiter, falls sich keiner hier meldet. Bin allerdings noch an der nächsten Redis-Migration für die latest-v6... -
wenn du docker verwendest, dann kannst du hier mal reinschauen.
dann wird es viel einfacher.
ich habe per docker-compose (bzw in portainer nennt sich das stacks
2 zusammengehörende services definiert
die angaben zum macvlan kannst du ignorieren, falls du das nicht einsetzt
Wichtig ist, das bei beiden das gleiche netzwerk definiert ist
iobrokerprod4
dadurch ist dann redis vom iobroker aus erreichbar und zwar mit dem hostnamen redis4
der servicenamen entspricht dann dem hostnamen
danach rufst du auf der shell im iobroker container den folgenden befehl aufiobroker setup customund gehst den dialog zur umstellung nach redis durch.
version: '3' services: iobrokerprod4: restart: always image: buanet/iobroker:latest container_name: iobrokerprod4 hostname: iobrokerprod4 ports: - "8081:8081" environment: SETGID: 1001 SETUID: 1001 volumes: - /home/iobroker/docker/volume/iobroker_prod4:/opt/iobroker - /home/iobroker/docker/volume/iobroker_prod4_nodemodules:/usr/lib/node_modules - /media/iobroker_backup/:/opt/iobroker/backup networks: dockerMACVLAN: ipv4_address: 192.168.1.85 iobrokerprod4: redis4: image: "redis:alpine" volumes: - /home/iobroker/docker/volume/redis_prod4:/data networks: iobrokerprod4: networks: dockerMACVLAN: external: true iobrokerprod4: -
@oliverio ich habe iobroker also Host laufen.
Wie bekomme ich dass denn am besten hin?
Meine ganzen Geräte basieren natürlich jetzt auf der ip des Hosts. Möchte die ungern umstellen. -
Ich verstehe nicht so ganz was du jetzt erreichen willst? Den Host Mode?
Der iobroker hat dann die gleiche ip wie der Host, genauso wie beim bridge -
Bridge Mode ist für viele anwendungsfälle ausreichen.
Sobald man multicast oder broadcast benötigt funktioniert das dann nichtHost Mode schaltet den Host und den Container netzwerktechnisch gleich. Hat dann aber ggfs Probleme beim portmapping wenn ich mehrere Container auf einen Port Mappen will, dann muss ich jeweils unterschiedliche Ports nehmen.
Macvlan ist für mich die beste Lösung, benötigt aber ein wenig mehr Konfiguration.
-
@oliverio nee,
Hatte nur die Frage im Kopf, ob mir Redis etwas bringt, wenn ja, ob es dann im hostmode auch einfach zu implementieren ist.@ben1983
Redest, bringt ihr dann etwas, wenn du zu viele Daten Punkte verwalten musst, die häufig aktualisiert werden.
Irgendwas hab ich hier mal von 15.000 Datenpunkte gelesen. Bin mir aber nicht sicher, ob das die richtige Grenze ist
Auch hier, wenn du kein Problem hast, dann hör auf, mit optimieren.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden