Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Error/Bug
  4. [Erledigt] js-controller hohe Load

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.5k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.0k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.7k

[Erledigt] js-controller hohe Load

Geplant Angeheftet Gesperrt Verschoben Error/Bug
20 Beiträge 7 Kommentatoren 1.5k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • P Offline
    P Offline
    pxstd
    schrieb am zuletzt editiert von
    #1

    Kein richtiger Fehler, aber ein Problem.

    Ich habe in letzter Zeit immer wieder eine sehr Hohe Load auf meinem iobroker Node, scheinbar durch den js-controller Prozess.

    Kann ich irgendwie sehen, ob dort gerade ein Script in der Ausführung hängt, oder was genau da Trouble macht?

    Patrick

    1 Antwort Letzte Antwort
    0
    • apollon77A Offline
      apollon77A Offline
      apollon77
      schrieb am zuletzt editiert von
      #2

      Ok, ein paar mehr details bitte.

      "scheinbar" durch den js-controller? Ja oder Nein? Was sagt "top"?

      Wieviele States und Objekte hast Du (Wird im Admin oben Rechts unter Objekte angezeigt). Nutzt Du Redis um die States zu speichern??

      Wo wird gespeichert? SD-Karte? Geht es der noch gut?

      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 Antwort Letzte Antwort
      0
      • P Offline
        P Offline
        pxstd
        schrieb am zuletzt editiert von
        #3

        Hey,

        > "scheinbar" durch den js-controller? Ja oder Nein? Was sagt "top"?
        ja, laut top/htop ist es js-controller.

        > Wieviele States und Objekte hast Du (Wird im Admin oben Rechts unter Objekte angezeigt).
        Objekte: 20905, Zustände: 11313

        > Nutzt Du Redis um die States zu speichern??
        Nope, alles default.

        > Wo wird gespeichert? SD-Karte? Geht es der noch gut?
        iSCSI Mount auf einem Synology Nas.

        1 Antwort Letzte Antwort
        0
        • apollon77A Offline
          apollon77A Offline
          apollon77
          schrieb am zuletzt editiert von
          #4

          @pxstd:

          > Wieviele States und Objekte hast Du (Wird im Admin oben Rechts unter Objekte angezeigt).
          Objekte: 20905, Zustände: 11313

          > Nutzt Du Redis um die States zu speichern??
          Nope, alles default. `

          Dann ist das Dein Grund :-)

          Im "default" stellt der js-controller die "In Memory DB" für alle Objekte und States bereit, persistiert das regelmäßig auf Platte, Handelt alle Subscriptions und so. Bei einer so hohen Anzahl an States die sich auch noch regelmäßig ändern ist da einiges los. Nodejs ist per definieion "single threaded", daher siehst Du das. Je nachdem wie Performant der iSCSI Zugriff ist kann auch I/O Wait noch eine Rolle spielen wodurch die Last gefühlt noch höher wird.

          Ab 10.000 States spätestens ist empfohlen das State-Handling auf Redis umzustellen. Redis ist ein In-memory-Store der exakt dafür hochperformant geschrieben ist. ggf kannst Du den auch af der NAS laufen haben oder mit auf dem ioBroker Host.

          Bei mir hat diese Umstellung große Effekte gehabt.

          Kannst auch im FOrum suchen, da gab es mal Performanceanalysen von Redis vs js-controller-DBs.

          Ingo

          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 Antwort Letzte Antwort
          0
          • P Offline
            P Offline
            pxstd
            schrieb am zuletzt editiert von
            #5

            Wow, okay. Für den Moment scheint das erstmal die Lösung zu sein.

            Alles, aber auch wirklich alles scheint wesentlich flüssiger zu laufen. Auch in der Admin.

            Verrückt. Ich beobachte das mal. Danke Ingo!

            Patrick

            1 Antwort Letzte Antwort
            0
            • SegwayS Offline
              SegwayS Offline
              Segway
              schrieb am zuletzt editiert von
              #6

              Hallo,

              hab dies gerade gelesen. Ich halte für mich fest, dass ab 10k Datenpunkte man auf redis umsteigen soll ? Bin bei knapp 9k :-( mhhh ich mal beobachten - gemerkt DANKE !

              Gruß Dirk
              Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

              1 Antwort Letzte Antwort
              0
              • P Offline
                P Offline
                pxstd
                schrieb am zuletzt editiert von
                #7

                @Segway:

                Hallo,

                hab dies gerade gelesen. Ich halte für mich fest, dass ab 10k Datenpunkte man auf redis umsteigen soll ? Bin bei knapp 9k :-( mhhh ich mal beobachten - gemerkt DANKE ! `

                Versuchs doch vielleicht einfach jetzt schon.

                Bei mir läuft alles virtualisiert, also no harm done.

                Snapshot => Umstellung => Checken.

                Wenn doof => Zurück, wenn nicht => freuen :)

                Wie gesagt - bei mir läuft gefühlt alles butterweicher.

                1 Antwort Letzte Antwort
                0
                • SegwayS Offline
                  SegwayS Offline
                  Segway
                  schrieb am zuletzt editiert von
                  #8

                  Mit redis kenne ich mich nullkommanull aus - da muss ich mich erst einlesen. Da haben andere Projekte aber noch Vorrang bei mir :-) zB meine smarte Teichfiltersteuerung - das wird ein etwas größeres und längeres Projekt

                  Gruß Dirk
                  Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

                  1 Antwort Letzte Antwort
                  0
                  • SegwayS Offline
                    SegwayS Offline
                    Segway
                    schrieb am zuletzt editiert von
                    #9

                    Laut Github relativ einfach zu installieren. Wird damit die Art wie in die DB geschrieben wird "verbessert" ?

                    Kann alles sonst so bleiben ? habe eine sql-DB am laufen

                    Gruß Dirk
                    Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

                    1 Antwort Letzte Antwort
                    0
                    • P Offline
                      P Offline
                      pxstd
                      schrieb am zuletzt editiert von
                      #10

                      @Segway:

                      Laut Github relativ einfach zu installieren. Wird damit die Art wie in die DB geschrieben wird "verbessert" ?

                      Kann alles sonst so bleiben ? habe eine sql-DB am laufen `

                      Nee nee, Redis ist quasi eine alternative Art von Datenbank.

                      Ein sog. Key - Value Store der vorrangig im flüchtigen Speicher läuft um das ganze Performanter zu machen.

                      Also im Grunde installierst Du redis-server (je nach OS) und konfigurierst dann den State-Speicher vom iobroker um.

                      Das ist mit Null Aufwand verbunden.

                      1 Antwort Letzte Antwort
                      0
                      • SegwayS Offline
                        SegwayS Offline
                        Segway
                        schrieb am zuletzt editiert von
                        #11

                        sorry aber da blick ich nicht durch. Wo werden denn dann all meine Daten gespeichert ? Nicht mehr in der Sql DB auf meinem NAS ?

                        Gruß Dirk
                        Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

                        1 Antwort Letzte Antwort
                        0
                        • Jeeper.atJ Offline
                          Jeeper.atJ Offline
                          Jeeper.at
                          schrieb am zuletzt editiert von
                          #12

                          Die ganzen States werden im Hauptspeicher gehalten. Dort sind Sie performanter. Sie werden meines Wissens nach nur selten in eine eigene DB geschrieben. Diese hat nichts mit deiner SQL zu tun. Deine historischen Werte sind nach wie vor an derselben Stelle.

                          Vorteil Redis: Performance, wenig Schreibzugriffe auf eine Raspi SD-Karte (verlängert das Leben ungemein).

                          Nachteil: Bei einem Stromausfall oder sonstigen abnormalen Zustand gehen dir die aktuellen Zustände verloren. Es bedeutet das IOBroker nicht mehr weiß ob es Fenster offen oder zu ist. Die States werden erst wieder bei einer Änderung in den Speicher geschrieben. (Um beim Beispiel zu bleiben, Fenster auf und zu und IOBroker weiß wieder da das Fenster zu ist.)

                          1 Antwort Letzte Antwort
                          0
                          • paul53P Offline
                            paul53P Offline
                            paul53
                            schrieb am zuletzt editiert von
                            #13

                            @Jeeper.at:

                            Sie werden meines Wissens nach nur selten in eine eigene DB geschrieben. `
                            Typisch alle 5 Minuten.
                            @Jeeper.at:

                            Bei einem Stromausfall oder sonstigen abnormalen Zustand gehen dir die aktuellen Zustände verloren. `
                            Maximal die, die sich in den letzten 5 Minuten vor Stromausfall geändert haben.

                            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                            1 Antwort Letzte Antwort
                            0
                            • SegwayS Offline
                              SegwayS Offline
                              Segway
                              schrieb am zuletzt editiert von
                              #14

                              Ah okay, also mein Environment bleibt komplett unberührt ! Ich kann alles so weiter nutzen.

                              Im schlimmsten Fall habe ich 5 Minuten Datenverlust. Aber mein Nux hängt an einer USV also sollte das erledigt sein.

                              Gruß Dirk
                              Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

                              1 Antwort Letzte Antwort
                              0
                              • Jeeper.atJ Offline
                                Jeeper.atJ Offline
                                Jeeper.at
                                schrieb am zuletzt editiert von
                                #15

                                @Paul, danke für die Präzisierung.

                                Top.

                                1 Antwort Letzte Antwort
                                0
                                • apollon77A Offline
                                  apollon77A Offline
                                  apollon77
                                  schrieb am zuletzt editiert von
                                  #16

                                  Also Redis geht auch nur mit 100 States, einen Effekt hat es aber je höher die Anzahl ist. Wir werden zukünftig bei 10k+ eine Hinweismeldung ausgeben.

                                  Man kann Redis was die "Persistierung" (Wann schreibt er auf Platte) konfigurieren. Schau euch das mal an https://redis.io/topics/persistence

                                  Wenn Ihr ne gescheite SSD/HDD habt empfehle ich sogar AOF als Variante weil Du dann keinen Datenverlust hast. Am Ende aber auch hier: backup nicht vergessen!! Das File liegt nicht im ioBroker-Verzeichnis!

                                  Und aufpassen beim einspielen von Linux Updates. Ein Restart des Redis sorgt dafür das alle adapter neu starten weil Sie Ihre Verbindung verlieren. Ist aber handelbar.

                                  Sonst ist der Switch auf Redis (ausser das initial halt alle States leer sind bis Sie einmalig geschrieben wurden) transparent. Also hier achtung bei eigenen JavaScripts die heimlich davon ausgehen das states Werte haben :-)

                                  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 Antwort Letzte Antwort
                                  0
                                  • P Offline
                                    P Offline
                                    pxstd
                                    schrieb am zuletzt editiert von
                                    #17

                                    @apollon77:

                                    Also hier achtung bei eigenen JavaScripts die heimlich davon ausgehen das states Werte haben :-) `

                                    Amen! :)

                                    1 Antwort Letzte Antwort
                                    0
                                    • ruhr70R Offline
                                      ruhr70R Offline
                                      ruhr70
                                      schrieb am zuletzt editiert von
                                      #18

                                      @apollon77:

                                      Wenn Ihr ne gescheite SSD/HDD habt empfehle ich sogar AOF als Variante weil Du dann keinen Datenverlust hast. Am Ende aber auch hier: backup nicht vergessen!! Das File liegt nicht im ioBroker-Verzeichnis `

                                      Da hatte Paul53 Mal was im Forum geschrieben, wie man das umstellt, das Redis ins ioBroker-Verzeichnis Verzeichnis speichert

                                      Gesendet von iPad mit Tapatalk

                                      Adapter: Fritzbox, Unify Circuit
                                      Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                                      1 Antwort Letzte Antwort
                                      0
                                      • HomoranH Nicht stören
                                        HomoranH Nicht stören
                                        Homoran
                                        Global Moderator Administrators
                                        schrieb am zuletzt editiert von
                                        #19

                                        Hab mir damals was notiert.

                                        Verstehe ich aber selber nicht mehr :oops:

                                        redis neu konfigurieren:
                                        
                                        	Damit beim ioBroker Backup auch die Redis mit gesichert wird:
                                        
                                        	in /etc/redis/redis.conf ab Zeile 236
                                        	# The filename where to dump the DB
                                        	dbfilename dump.rdb
                                        
                                        	ändern in:
                                        	dbfilename states.rdb
                                        
                                        	und
                                        	# Note that you must specify a directory here, not a file name.
                                        	dir /var/lib/redis
                                        
                                        	ändern in:
                                        	dir /opt/iobroker/iobroker-data
                                        
                                        	Zugriffsrechte der redis ändern:
                                        	in /lib/systemd/system/redis-server.service
                                        	ziemlich am Ende eine Zeile mit
                                        	ReadWriteDirectories=-/opt/iobroker/iobroker-data
                                        	hinzufügen.
                                        
                                        	noch einmal chmod 777 -R /opt/iobroker ausführen
                                        
                                        

                                        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                        1 Antwort Letzte Antwort
                                        0
                                        • SegwayS Offline
                                          SegwayS Offline
                                          Segway
                                          schrieb am zuletzt editiert von
                                          #20

                                          Habe nun auf redis umgestellt …. ich teste / beobachte :-)

                                          Gruß Dirk
                                          Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          759

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe