Skip to content
  • 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
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Entwicklung
  4. States-DB

NEWS

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

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

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

States-DB

Scheduled Pinned Locked Moved Entwicklung
19 Posts 3 Posters 1.4k Views
  • 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.
  • StabilostickS Online
    StabilostickS Online
    Stabilostick
    wrote on last edited by
    #1

    Habe mir gerade eine Version des js-Controllers gebaut, bei der der Serverteil des in-Memory-DB als separater Node-Prozess läuft. Funktioniert schonmal händisch. Ziel: Frage mich, ob damit die Event-Queue des Controlles sinnvoll entlastet wird. Möchte gerne einige Tests machen wegen der Performance. Hat jemand Ideen? V8-Profiling?

    1 Reply Last reply
    0
    • apollon77A Online
      apollon77A Online
      apollon77
      wrote on last edited by
      #2

      hab sowas noch nie gemacht, sorry kann ich wenig beisteuern …

      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
      • StabilostickS Online
        StabilostickS Online
        Stabilostick
        wrote on last edited by
        #3

        Idee ist, das fest einzubauen, um Redis nicht notwendig zu machen. Komplexer können wir später immer noch. Momentan sehe ich, das serverseitig der socket.io einiges an Zeit braucht. Die SetStates nur wenig. Subscription-Emits. Verflixt. Mache auch gerade mein erstes Profiling mit V8. Hilfe.

        1 Reply Last reply
        0
        • HomoranH Do not disturb
          HomoranH Do not disturb
          Homoran
          Global Moderator Administrators
          wrote on last edited by
          #4

          @Stabilostick:

          um Redis nicht notwendig zu machen. `
          Warum dieses?

          Ich habe gerade unfreiwillig einen Test mit dem Cubietruck hinter mir. Die System Load mit Redis liegt unter der Hälfte (bis etwa 0,3) bei der mit file.

          IMHO sind die Schreibvorgänge das Nadelöhr, die von Redis optimiert werden.

          Gruß

          Rainer

          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 Reply Last reply
          0
          • StabilostickS Online
            StabilostickS Online
            Stabilostick
            wrote on last edited by
            #5

            Messe ich falsch? Setstate macht bei mir nur ca. 3% der Zeit aus. Wir sind hier in-Memory. Und die Persistierung erfolgt ja alle, was war das, 30 oder 60s. Die ist auch fix.

            Ich sehe hier mehr die Socket-Kommunikation als Nadelöhr.

            1 Reply Last reply
            0
            • StabilostickS Online
              StabilostickS Online
              Stabilostick
              wrote on last edited by
              #6

              ` > Redis natively runs on Linux flavors (and lately on ARM). Many developers, however, want the same Redis awesomeness on Windows, as well. Microsoft sponsored a project to port Redis onto Windows, but the project was discontinued according to Microsoft. With this option gone, what are your options now for running Redis on Windows?

              Well, you've got a few.

              Run Redis on the Windows Ubuntu Subsystem

              Windows 10 comes with an Ubuntu subsystem that can run Redis on your Windows host. Once you have enabled developer mode, you can run Bash on Windows 10. Launch bash and do sudo apt-get install redis-server followed by redis-server on the command prompt. You will see Redis listening on port 6379. It is important to note that the Ubuntu subsystem is a developer mode capability. This subsystem is not built for running critical applications.

              Run Redis on Docker for Windows

              Docker on Windows can run Linux-based containers. Simply install Docker and change your container type to Linux on Windows 10. Following the PowerShell line will switch the container type & $Env:ProgramFiles\Docker\Docker\DockerCli.exe -SwitchDaemon. Once you have Linux containers enabled, you can simply do docker run -d -p 6379:6379 redis and you are good to go. `

              Mit dem Wissen um die npm- und Node-Installationsthemen willst Du das obige den Windows-Anwender antun? 😄

              1 Reply Last reply
              0
              • HomoranH Do not disturb
                HomoranH Do not disturb
                Homoran
                Global Moderator Administrators
                wrote on last edited by
                #7

                I have a tipi - no windows no gates

                Ich denke bei WIN ist redis nicht nötig, die Hardware dazu hat genug Power

                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 Reply Last reply
                0
                • StabilostickS Online
                  StabilostickS Online
                  Stabilostick
                  wrote on last edited by
                  #8

                  🙂 Kannst Du beim Profiling helfen?

                  1 Reply Last reply
                  0
                  • apollon77A Online
                    apollon77A Online
                    apollon77
                    wrote on last edited by
                    #9

                    das kann gut dein das socket.io auch das Nadelör ist. Redis nutzt da ja ein eher TCP/IP basiertes Protokoll …

                    Ich denke auch das in oder ausserhalb vom js.controler nicht mehr so den großen unterschied macht .... oder verhält es sich "standalone" performanter?

                    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
                    • HomoranH Do not disturb
                      HomoranH Do not disturb
                      Homoran
                      Global Moderator Administrators
                      wrote on last edited by
                      #10

                      @apollon77:

                      Kannst Du beim Profiling helfen? `
                      :lol: :lol: :lol: :lol:

                      Der war gut; Ich bin nur User, leider 😞

                      Gruß

                      Rainer

                      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 Reply Last reply
                      0
                      • StabilostickS Online
                        StabilostickS Online
                        Stabilostick
                        wrote on last edited by
                        #11

                        Du 12.000++Hilfen-User, Du… :lol:

                        1 Reply Last reply
                        0
                        • StabilostickS Online
                          StabilostickS Online
                          Stabilostick
                          wrote on last edited by
                          #12
                          oder verhält es sich "standalone" performanter?
                          

                          Das ist Sinn und Zweck der Übung. :ugeek:

                          1 Reply Last reply
                          0
                          • HomoranH Do not disturb
                            HomoranH Do not disturb
                            Homoran
                            Global Moderator Administrators
                            wrote on last edited by
                            #13

                            @Stabilostick:

                            12.000++Hilfen-User, `
                            Eben!

                            Vom User an den User 😉

                            Noob oder Einsteiger bin ich jetzt aber wirklich nicht mehr; war vor drei Jahren noch ganz anders.

                            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 Reply Last reply
                            0
                            • HomoranH Do not disturb
                              HomoranH Do not disturb
                              Homoran
                              Global Moderator Administrators
                              wrote on last edited by
                              #14

                              144_photo_2018-07-17_17-32-54.jpg
                              grüne linie oben = Load 1Min:

                              links mit file: in der Spitze 4 und mehr; dann kam es wegen der immer länger werdenden responsezeiten zum Hänger, danach fuhr ioBroker mit einem Load von 6 (Dual-Core) gar nicht mehr vollständig hoch.

                              rechts dann auf redis umgestellt. Load 1Min auf 1 herunter

                              Gruß

                              Rainer

                              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 Reply Last reply
                              0
                              • StabilostickS Online
                                StabilostickS Online
                                Stabilostick
                                wrote on last edited by
                                #15

                                Was bedeutet load verglichen mit CPU-Last? CPU von 0-1?

                                Load = The os.loadavg() method returns an array containing the 1, 5, and 15 minute load averages.

                                The load average is a measure of system activity, calculated by the operating system and expressed as a fractional number. As a rule of thumb, the load average should ideally be less than the number of logical CPUs in the system.

                                1 Reply Last reply
                                0
                                • HomoranH Do not disturb
                                  HomoranH Do not disturb
                                  Homoran
                                  Global Moderator Administrators
                                  wrote on last edited by
                                  #16

                                  @Stabilostick:

                                  Was bedeutet load verglichen mit CPU-Last? CPU von 0-1? `
                                  CPU-Last habe ich aus "top" und den zweiten Wert parse ich aus /proc/stat und rechne (Usr+sys+nice) / (Usr+sys+nice+idle) (=0 - 100%)

                                  EDIT: das steht im Gauge - das Original ist auf einem anderen Rechner - hier kann man es kaum lesen; im Chart ist der zweite Wert über den parser)

                                  Load (average) 5Min im Gauge und Load (average) 1Min im Chart wie du es zitiert hast über den (modifizierten) RPi2-Adapter.

                                  EDIT2:

                                  Hier die aktuelle Grafik (mit Redis)
                                  144_cubieload.jpg

                                  Gruß

                                  Rainer

                                  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 Reply Last reply
                                  0
                                  • StabilostickS Online
                                    StabilostickS Online
                                    Stabilostick
                                    wrote on last edited by
                                    #17

                                    Wieviele Events (State-Änderugnen, Messages wegen Subscriptions) hast du denn je 15s insgesamt im System im Schnitt?

                                    CPU-Auslastung durch den js-Controller bei in-Memory bzw. für Redis bei Nutzung Redis Server dabei?

                                    Hast Du beim JavaScript-Adapter alle States in der Subscription? History?

                                    Und was ist nochmal das für ein Rechner, auf dem Redis läuft? Ich nehme an, zusammen mit dem Master-js-controller? Cubieboard3?

                                    Ich denke, ich muss mal bei mir auf einem rpi installieren und messen. Der Intel i7-2600k ist zu fix. Trotz Windows. :mrgreen:

                                    1 Reply Last reply
                                    0
                                    • StabilostickS Online
                                      StabilostickS Online
                                      Stabilostick
                                      wrote on last edited by
                                      #18

                                      Ich gehe davon aus, das mit Sicherheit schon uWS bei engine.io getestet wurde? Sind ja jetzt wieder mit 3.1 oder so auf WS zurück… Ein Hauptteil der Last kommt von den Subscription-Messages. Das macht Redis wohl schneller bzw. mit weniger Overhead. Ach menno, Mir fällt gerade ohne große Änderung auch nix ein.

                                      Die Datenhaltung in der States-DB ist ja von der Datenmenge her nichts Großes. Bloß der Kommunikationsaufwand. Ha, shared memory?

                                      PS: Habe nichts gegen Redis. Bloß unter Windows....

                                      1 Reply Last reply
                                      0
                                      • apollon77A Online
                                        apollon77A Online
                                        apollon77
                                        wrote on last edited by
                                        #19

                                        socket.io in neueren Versionen gabmmehr Probleme als alles andere … leider. keine Ahnung was die da kaputt gemacht haben.

                                        Ich denke optimierter ist nur ein "TCP basierters eigenes protokoll". Ich könnte da auch ein paar verrückte Ideen kommen ... aber die Diskutier ich lieber erstmal direkt mit Bluefox 🙂

                                        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

                                        598

                                        Online

                                        32.4k

                                        Users

                                        81.4k

                                        Topics

                                        1.3m

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

                                        • Don't have an account? Register

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