Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. EXPERIMENTELL: JsonL Datenbank für js-controller

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.1k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    935

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

EXPERIMENTELL: JsonL Datenbank für js-controller

Scheduled Pinned Locked Moved Tester
187 Posts 20 Posters 31.6k Views 28 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • AlCalzoneA Offline
    AlCalzoneA Offline
    AlCalzone
    Developer
    wrote on last edited by
    #173

    Ich hab bei den Arbeiten für Controller 4 noch einiges an Optimierung gemacht (sofern @apollon77's Problem jetzt gelöst ist?).
    Das hat bei mir den Durchsatz der DB-Lib um Faktor 15-30 erhöht, was sich in ioBroker aber vor allem in geringerer CPU-Last bzw. Latenz auswirken dürfte.

    Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

    1 Reply Last reply
    2
    • ? Offline
      ? Offline
      A Former User
      wrote on last edited by
      #174

      @apollon77

      Hi, moechte von Redis auf jsonL umstellen, hat sich da mit js-controller 4.x was noch geaendert, das man beachten sollte?
      Der 4.x laeuft auf meinem System mit Redis einwandfrei, nur hat Redis bei mir in letzter Zeit ne recht hohe last und oefters kommt "slow connection to objects"...

      apollon77A 1 Reply Last reply
      0
      • ? A Former User

        @apollon77

        Hi, moechte von Redis auf jsonL umstellen, hat sich da mit js-controller 4.x was noch geaendert, das man beachten sollte?
        Der 4.x laeuft auf meinem System mit Redis einwandfrei, nur hat Redis bei mir in letzter Zeit ne recht hohe last und oefters kommt "slow connection to objects"...

        apollon77A Offline
        apollon77A Offline
        apollon77
        wrote on last edited by
        #175

        @ilovegym Mit js-controller 4 (Achtung aktuell Alpha!!) wird jsonl die neue Standard DB.

        Aber jetzt mal einen Schritt zurück: Wenn Redis viel last hat und teilweise "slow connection" ckommt dasnn wird das mit sjonl eher schlechter als besser!! Was ist denn da los in deinem System? Schau mal an ob du instanzen hast die viele Daten senden und so.

        Fakt ist immer noch das Redis ca. 25-30% mehr Durchsatz leistet als File oder jsonl ... also wenn du it Redis an grenzen stösst ... ... ...

        Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

        • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
        • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
        1 Reply Last reply
        0
        • ? Offline
          ? Offline
          A Former User
          wrote on last edited by
          #176

          @apollon77 ah ok, Danke, dann schau ich mal genauer, was viel frisst.. sind 75000 objects oder so.
          Zur Zeit hab ich Multihost, der Master laeuft in einem lxc mit Debian 10(von 8 auf 9 auf 10 gezogen), dazu 4 Raspi's mit jeweils 1-3 Instanzen..

          Mein Plan ist, die Raspi's auf 1 zu minimieren, und Multihost mit mindestens 3 lxc auf mindestens 3 Nodes verteilt zu erstellen, um eben die Last zu verteilen und auch bei einem Ausfall einer Node/lxc nur ein Teilausfall zu haben.

          Im Moment ist Zeit das groesste Problem, laufen tuts ja ..

          apollon77A 1 Reply Last reply
          0
          • ? A Former User

            @apollon77 ah ok, Danke, dann schau ich mal genauer, was viel frisst.. sind 75000 objects oder so.
            Zur Zeit hab ich Multihost, der Master laeuft in einem lxc mit Debian 10(von 8 auf 9 auf 10 gezogen), dazu 4 Raspi's mit jeweils 1-3 Instanzen..

            Mein Plan ist, die Raspi's auf 1 zu minimieren, und Multihost mit mindestens 3 lxc auf mindestens 3 Nodes verteilt zu erstellen, um eben die Last zu verteilen und auch bei einem Ausfall einer Node/lxc nur ein Teilausfall zu haben.

            Im Moment ist Zeit das groesste Problem, laufen tuts ja ..

            apollon77A Offline
            apollon77A Offline
            apollon77
            wrote on last edited by
            #177

            @ilovegym Die reine Anzahl (die interessant hoch ist) ist nicht das Thema ... am Ende kommt die Last von Aktionen auf die DB ... und da schau mal welche Instanz da Daten "spammt" ... aber wenn Redis so "am Limit" ist dann ist eher die Farge ob die ne bessere CPU findest für den Redis LXC :-) Aber da bringt jsonl nicht viel denke ich.

            PS: Was sinds denn für Nucs? Ehere die "Nuc6 ecke" mit Pentiums/Celerons oder Nuc8 mit i5?

            Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

            • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
            • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
            ? 1 Reply Last reply
            0
            • apollon77A apollon77

              @ilovegym Die reine Anzahl (die interessant hoch ist) ist nicht das Thema ... am Ende kommt die Last von Aktionen auf die DB ... und da schau mal welche Instanz da Daten "spammt" ... aber wenn Redis so "am Limit" ist dann ist eher die Farge ob die ne bessere CPU findest für den Redis LXC :-) Aber da bringt jsonl nicht viel denke ich.

              PS: Was sinds denn für Nucs? Ehere die "Nuc6 ecke" mit Pentiums/Celerons oder Nuc8 mit i5?

              ? Offline
              ? Offline
              A Former User
              wrote on last edited by
              #178

              @apollon77

              ah, deshalb.. redis laeuft im lxc von iobroker... und den hab ich zum Jahreswechsel vom HP DL380 G8 mit 2x Xeon E5-2680 128GB Ram 12TB SAS auf n NUC I 5 G8 mit 16GB gezogen.. er zeigt 30% CPU Last, braucht ca. 6GB Ram, hat keine nennenswerte I/O delays.. ( also alles mit Proxmox )
              Hatte eigentlich vor, den HP Server zu verkaufen, da mit 200W / 45 Euro Strom im Monat schon n Unterschied zu den NUC's, da braucht einer 18W, hab davon mal 3 geholt..

              Wenn ich dadurch Performance Probleme bekomm, werf ich den HP wieder an.. Leistung sollte fuern Redis Container ausreichen :-)
              Sonoff-Adapter mit ca 140 Tasmota Devices, Zigbee Adapter mit 195 devices..

              apollon77A 1 Reply Last reply
              0
              • ? A Former User

                @apollon77

                ah, deshalb.. redis laeuft im lxc von iobroker... und den hab ich zum Jahreswechsel vom HP DL380 G8 mit 2x Xeon E5-2680 128GB Ram 12TB SAS auf n NUC I 5 G8 mit 16GB gezogen.. er zeigt 30% CPU Last, braucht ca. 6GB Ram, hat keine nennenswerte I/O delays.. ( also alles mit Proxmox )
                Hatte eigentlich vor, den HP Server zu verkaufen, da mit 200W / 45 Euro Strom im Monat schon n Unterschied zu den NUC's, da braucht einer 18W, hab davon mal 3 geholt..

                Wenn ich dadurch Performance Probleme bekomm, werf ich den HP wieder an.. Leistung sollte fuern Redis Container ausreichen :-)
                Sonoff-Adapter mit ca 140 Tasmota Devices, Zigbee Adapter mit 195 devices..

                apollon77A Offline
                apollon77A Offline
                apollon77
                wrote on last edited by
                #179

                @ilovegym Ok, laaaaangsam!! Ich glaube Du hast es falsch verstanden.

                Die Benchmark Tests die wir gemacht haben in den letzten Wochen zeigen interessante Dinge. Siehe auch https://www.iobroker.net/#de/blog/2021_12_15

                Vor allem das die ganze "NUC5/6/7" Ecke mit Celeron/Pentium im Vergleich zu den i5 zB ab NUC8 aufwärts ein Mega Durchsatz Unterschied ist. Wie diesbezüglich Xeons abscheiden weiss ich nicht ... könntest mal Benchmark Adapter laufen lassen dann können wir es einordnen :-)

                Von daher ist der i5 schon gut

                Anaonsten: Dein Redis braucht 6GB RAM????? Oder hab ich das gerade falsch verstanden? Dann solltest DU mal schauen ob nicht irgendein Adapter hier den ioBroker storage zumüllt (gabs letztens wo ein Adapter immer neue Bilder von ner Tür Kamera abgelegthat aber nie gelsöcht hat ... ergo x GB an "Bildern".

                Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                ? 1 Reply Last reply
                0
                • apollon77A apollon77

                  @ilovegym Ok, laaaaangsam!! Ich glaube Du hast es falsch verstanden.

                  Die Benchmark Tests die wir gemacht haben in den letzten Wochen zeigen interessante Dinge. Siehe auch https://www.iobroker.net/#de/blog/2021_12_15

                  Vor allem das die ganze "NUC5/6/7" Ecke mit Celeron/Pentium im Vergleich zu den i5 zB ab NUC8 aufwärts ein Mega Durchsatz Unterschied ist. Wie diesbezüglich Xeons abscheiden weiss ich nicht ... könntest mal Benchmark Adapter laufen lassen dann können wir es einordnen :-)

                  Von daher ist der i5 schon gut

                  Anaonsten: Dein Redis braucht 6GB RAM????? Oder hab ich das gerade falsch verstanden? Dann solltest DU mal schauen ob nicht irgendein Adapter hier den ioBroker storage zumüllt (gabs letztens wo ein Adapter immer neue Bilder von ner Tür Kamera abgelegthat aber nie gelsöcht hat ... ergo x GB an "Bildern".

                  ? Offline
                  ? Offline
                  A Former User
                  wrote on last edited by
                  #180

                  @apollon77 ok, das mit den Benchmarks schau ich mir mal in Ruhe an.

                  Nee Redis laeuft auf dem gleichen Host wie der ioBroker, das werde ich mal trennen, ist vielleicht ne gute Idee..
                  meinte der ganze Host braucht um die 6 GB Ram. Influx ist auf nem eigenen Host installiert.
                  So siehts zur Zeit aus, gerade mal connected, sieht doch ganz gechillt aus.. :
                  ed4d1269-613f-4299-94b6-bb9d5e378f50-image.png

                  AlCalzoneA apollon77A 2 Replies Last reply
                  0
                  • ? A Former User

                    @apollon77 ok, das mit den Benchmarks schau ich mir mal in Ruhe an.

                    Nee Redis laeuft auf dem gleichen Host wie der ioBroker, das werde ich mal trennen, ist vielleicht ne gute Idee..
                    meinte der ganze Host braucht um die 6 GB Ram. Influx ist auf nem eigenen Host installiert.
                    So siehts zur Zeit aus, gerade mal connected, sieht doch ganz gechillt aus.. :
                    ed4d1269-613f-4299-94b6-bb9d5e378f50-image.png

                    AlCalzoneA Offline
                    AlCalzoneA Offline
                    AlCalzone
                    Developer
                    wrote on last edited by
                    #181

                    @ilovegym Wie viel ackern deine Skripte denn? Wenn das die permanente CPU-Last von Sonoff/Javascript/Redis ist, dann kommt mir das verdammt viel vor.
                    Ich mag zwar nicht ganz so viele aktive Adapter haben, aber das hier ist meine CPU-Last auf nem Pi3, der nicht so viel auf dem Kasten hat:
                    99e03df8-57fd-4b2a-aac7-31334a0abe74-grafik.png

                    Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                    1 Reply Last reply
                    0
                    • apollon77A Offline
                      apollon77A Offline
                      apollon77
                      wrote on last edited by
                      #182

                      Jo interessant ... also mein System liegt bei redis so bei 2-3% und auch javascript liegt in dem Rahmen.

                      Aber ja wenn bei dir ggf der sonoff seeehr viele Daten reinbekommt (solltest du im Admin sehen können unter "Instanzen" im expertenmodus) dann hat es javascritp und redis auch weil JavaScript abonniert im Standard "alles".

                      Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                      • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                      • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                      1 Reply Last reply
                      0
                      • ? A Former User

                        @apollon77 ok, das mit den Benchmarks schau ich mir mal in Ruhe an.

                        Nee Redis laeuft auf dem gleichen Host wie der ioBroker, das werde ich mal trennen, ist vielleicht ne gute Idee..
                        meinte der ganze Host braucht um die 6 GB Ram. Influx ist auf nem eigenen Host installiert.
                        So siehts zur Zeit aus, gerade mal connected, sieht doch ganz gechillt aus.. :
                        ed4d1269-613f-4299-94b6-bb9d5e378f50-image.png

                        apollon77A Offline
                        apollon77A Offline
                        apollon77
                        wrote on last edited by
                        #183

                        @ilovegym sagte in EXPERIMENTELL: JsonL Datenbank für js-controller:

                        @apollon77 ok, das mit den Benchmarks schau ich mir mal in Ruhe an.

                        Schreib mich an dann geb ich dir alle infos

                        Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                        • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                        • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                        1 Reply Last reply
                        0
                        • P Offline
                          P Offline
                          peterfido
                          wrote on last edited by
                          #184

                          @apollon77

                          ich habe mal spaßeshalber die States type von Redis auf jsonl umgestellt.

                          Danach dauert es eine gefühlte Ewigkeit, bis nach einem Neustart Adapter wie VIS wieder oben sind. Zurück auf Redis kann ich nach wenigen Sekunden die VIS-Seiten schon wieder im Browser betrachten.

                          Die Objects type ist bei mir auf jsonl. Da wurde beim Update wohl automatisch von File her umgestellt. Ist es ratsam für höhere Geschwindigkeit die Objekte auf Redis umzustellen?

                          Gruß

                          Peterfido


                          Proxmox auf Intel NUC12WSHi5
                          ioBroker: Debian (VM)
                          CCU: Debmatic (VM)
                          Influx: Debian (VM)
                          Grafana: Debian (VM)
                          eBus: Debian (VM)
                          Zigbee: Debian (VM) mit zigbee2mqtt

                          apollon77A 1 Reply Last reply
                          0
                          • P peterfido

                            @apollon77

                            ich habe mal spaßeshalber die States type von Redis auf jsonl umgestellt.

                            Danach dauert es eine gefühlte Ewigkeit, bis nach einem Neustart Adapter wie VIS wieder oben sind. Zurück auf Redis kann ich nach wenigen Sekunden die VIS-Seiten schon wieder im Browser betrachten.

                            Die Objects type ist bei mir auf jsonl. Da wurde beim Update wohl automatisch von File her umgestellt. Ist es ratsam für höhere Geschwindigkeit die Objekte auf Redis umzustellen?

                            apollon77A Offline
                            apollon77A Offline
                            apollon77
                            wrote on last edited by
                            #185

                            @peterfido sagte in EXPERIMENTELL: JsonL Datenbank für js-controller:

                            Danach dauert es eine gefühlte Ewigkeit, bis nach einem Neustart Adapter wie VIS wieder oben sind. Zurück auf Redis kann ich nach wenigen Sekunden die VIS-Seiten schon wieder im Browser betrachten.

                            Was genau meinst du? Meinst du "bis die Vis gestartet ist" oder meinst du "Bis die Adapter gestartet sind"?

                            Wie "groß" sind denn deine Visus so? Je nachdem wieviele Daten geladen werden müssen kann das schon einen Unterschied machen. Redis hat da halt einen größeren Durchsatz.

                            Die Objects type ist bei mir auf jsonl. Da wurde beim Update wohl automatisch von File her umgestellt. Ist es ratsam für höhere Geschwindigkeit die Objekte auf Redis umzustellen?

                            --> https://forum.iobroker.net/topic/26327/redis-in-iobroker-überblick

                            Bitte dort lesen und ggf diskutieren ... Da gibt es keine klare Ja oder Nein Antwort

                            Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                            • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                            • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                            1 Reply Last reply
                            0
                            • P Offline
                              P Offline
                              peterfido
                              wrote on last edited by
                              #186

                              @apollon77

                              ich meine die Zeit nach einem Neustart der ioBroker VM bis die Clienten die VIS wieder darstellen können. Bei Redis geht das unter einer Minute. Bei jsonl dauert es mehrere Minuten, bis die Clienten die VIS wieder erreichen.

                              Gruß

                              Peterfido


                              Proxmox auf Intel NUC12WSHi5
                              ioBroker: Debian (VM)
                              CCU: Debmatic (VM)
                              Influx: Debian (VM)
                              Grafana: Debian (VM)
                              eBus: Debian (VM)
                              Zigbee: Debian (VM) mit zigbee2mqtt

                              apollon77A 1 Reply Last reply
                              0
                              • P peterfido

                                @apollon77

                                ich meine die Zeit nach einem Neustart der ioBroker VM bis die Clienten die VIS wieder darstellen können. Bei Redis geht das unter einer Minute. Bei jsonl dauert es mehrere Minuten, bis die Clienten die VIS wieder erreichen.

                                apollon77A Offline
                                apollon77A Offline
                                apollon77
                                wrote on last edited by
                                #187

                                @peterfido Da müsste man jetzt mal logfiles anschauen und exakt vergleichen ... Aber ja, wie gesagt - je nach Anzahl der Objekte und States kann das schon sein das hier ein Durchsatz Unterschied existiert. Redis hat generell gegenüber file/jsonl einen vorteil von 30-50% mehr Durchsatz

                                Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                                • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                1 Reply Last reply
                                0
                                Reply
                                • Reply as topic
                                Log in to reply
                                • Oldest to Newest
                                • Newest to Oldest
                                • Most Votes


                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                676

                                Online

                                32.6k

                                Users

                                82.2k

                                Topics

                                1.3m

                                Posts
                                Community
                                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                ioBroker Community 2014-2025
                                logo
                                • Login

                                • Don't have an account? Register

                                • Login or register to search.
                                • First post
                                  Last post
                                0
                                • Home
                                • Recent
                                • Tags
                                • Unread 0
                                • Categories
                                • Unreplied
                                • Popular
                                • GitHub
                                • Docu
                                • Hilfe