Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Redis auf dedizierten Server legen

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Redis auf dedizierten Server legen

    This topic has been deleted. Only users with topic management privileges can see it.
    • W
      Wildbill @ticaki last edited by Wildbill

      @ticaki Du hast sowohl die objects, als auch die states auf redis, oder?

      Gruss, Jürgen

      EDIT: Und Du hattest auch vorher schon redis in Gebrauch, nur halt direkt innerhalb iobroker? Denn die Umstellung auf redis hat bei mir damals auch schon einiges beschleunigt.

      T 1 Reply Last reply Reply Quote 0
      • T
        ticaki Developer @Wildbill last edited by

        @wildbill
        Ich bin seit 4-5 Jahren auf redis mit allem.

        1 Reply Last reply Reply Quote 1
        • M
          MartyBr last edited by

          @ticaki
          @Wildbill
          Hallo, eine Frage zur Ankopplung von IOB Slaves bei Nutzung eines abgesetzten Redis Server:
          Wird bei ob setup custom beim Slave die IP des abgesetzten Redis angegeben? Oder die IP des IOB Master?

          W 1 Reply Last reply Reply Quote 0
          • W
            Wildbill @MartyBr last edited by

            @martybr Als Master musst Du natürlich weiterhin die IP des iobroker-Master angeben. Nur bei states und objects musst Du dann natürlich die IP des redis-Servers angeben, je nachdem ob Du beim Master die objects, die states oder beides auf dem redis-server hast. Und bei slaves die Frage nach Migration verneinen, soweit ich noch weiß.

            Gruss, Jürgen

            M 1 Reply Last reply Reply Quote 0
            • M
              MartyBr @Wildbill last edited by

              @wildbill
              Ich wiederhole das mal mit meinen Worten:
              Ich habe einen Master mit der IP *.100
              Zwei Slaves mit der IP *.18 und *.113

              Der Redis hat die IP *.115

              Master:
              iob setup custom:
              Hier setze ich bei Objects die IP auf 127.0.0.1 und bei States die IP *.115
              Bei den Slaves setze ich Object auf *.100 und States auf *.115

              Richtig?

              Vorher kopiere ich die Redis dump Datei vom Master auf den Redis Server und verneine die Migration.

              W 1 Reply Last reply Reply Quote 0
              • W
                Wildbill @MartyBr last edited by

                @martybr Kann ich Dir leider nicht zu 100% sagen, aber ich würde sagen, es passt so, wie Du es vor hast. Die objects willst Du dann auf file (oder jsonl) lassen direkt auf dem Master, dann müssen die Slaves auch für die objects dahin verbinden. Und für die states auf den redis-server, den da legt es ja der Master ab.
                Redis aus /var/log/redis auf den neuen server kopieren (wenn iobroker gestoppt ist!), die config kopieren aus /etc/redis kopieren oder manuell anpassen und anschliessend mit dem Master anfange mit iob setup custom. Danach die Slaves nachziehen. So müsste es, meiner Meinung nach, klappen. Aber ohne Gewähr. Versuch macht kluch… 😊

                BTW: Da ich immer noch am Überlegen bin, ob ich umziehe. Wenn ich schon einen extra redis-server aufsetze, würde (werde) ich auch die objects dahin migrieren. Dann ist alles beisammen.

                Gruss, Jürgen

                T 1 Reply Last reply Reply Quote 0
                • T
                  ticaki Developer @Wildbill last edited by

                  @wildbill
                  Hauptgrund weshalb ich es gemacht habe, ich möchte mit dem iobroker in einen LXC umziehen, brauche aber priviligiert wegen SMB und dadrin geht Redis nur wenn man nesting an macht. Rein von der Sicherheit könnte ich dann aber den iobroker auch gleich auf dem Host installieren.

                  1 Reply Last reply Reply Quote 1
                  • M
                    MartyBr last edited by

                    @wildbill
                    Ich habe es gemacht !
                    Der Redis läuft nun auf einen dedizierten eigenen LXC Server. Über iobroker setup custom habe ich den Server eingetragen. Vorher natürlich die redis.dump dort reimkopiert.

                    Bei den Slave Servern ist iobroker setup custom abgebrochen: Fehlermeldung: Konnte (alten) Redis-Server nicht erreichen.
                    Lösung: Ich habe in der iobroker.jsonl bei States die neue IP des Redis Server eingetragen.
                    Nun läuft das Gesamtsystem wieder. Gefühlt ist die Reaktionszeit/Performance besser geworden. Heute Nachmittag werde ich auch die Objekte auf Redis umstellen.

                    Ich habe ca. 50.000 States und 50.000 Objekte.

                    Danke für deine Unterstützung. Die Umstellung betraf / betrifft mein Produktiv System, da bin ich immer sehr vorsichtig.

                    1 Reply Last reply Reply Quote 1
                    • W
                      Wildbill last edited by

                      Hab nun auch den Umstieg gewagt auf einen separaten LXC mit redis und auch gleich objects, sowie states auf redis gelegt. Ging alles problemlos.
                      Habt Ihr für states und redis separate Instanzen des redis-server? Die in der Doku verlinkte Anleitung ist für Ubuntu 16.04 und 6 Jahre alt. Ich habe erst einmal nun alles in eine Instanz gelenkt.
                      Mal schauen, wie es läuft… 😬

                      Gruss, Jürgen

                      ? 1 Reply Last reply Reply Quote 0
                      • ?
                        A Former User @Wildbill last edited by

                        @wildbill

                        nee, nur eine Redis-Instanz, da ist alles drin. Waere mal zu testen, was das bringt.. 🙂

                        W T 2 Replies Last reply Reply Quote 1
                        • W
                          Wildbill @Guest last edited by

                          @ilovegym Hauptsache läuft erstmal. Negative Auswirkungen bemerke ich bislang nicht. Alles flutscht, wie gehabt. Ob schneller oder responsiver ist schwer zu sagen, ging auch vorher so gut wie alles recht flott.
                          Systemlast unter Proxmox in Summe (also für den Host) unverändert, soweit sich das erkennen lässt.

                          Gruss, Jürgen

                          1 Reply Last reply Reply Quote 0
                          • T
                            ticaki Developer @Guest last edited by

                            @ilovegym
                            Kann mir nicht vorstellen dass das was bringt... aber hätte auch nicht gedacht das ein extra Redis LXC was bringt.

                            W 1 Reply Last reply Reply Quote 0
                            • W
                              Wildbill @ticaki last edited by

                              @ticaki Vermutlich bringt es eher was im Hinblick auf die Schreiblast. Die eine größere Datei wird vermutlich öfter geschrieben, als bei getrennten Dateien, von denen sich eine nicht oft ändert. Aber ich lasse mal jetzt so laufen und beobachte weiter. 👀

                              Gruss, Jürgen

                              ? 1 Reply Last reply Reply Quote 0
                              • ?
                                A Former User @Wildbill last edited by A Former User

                                @wildbill @ticaki @MartyBr

                                es gibt auch das command "redis-benchmark" ich hatte im August dazu was geschrieben, da war mein System noch etwas verspielter..

                                Commando zum testen:

                                redis-benchmark -h redis-serverIP -q -n 100000
                                

                                also bei mir dann

                                redis-benchmark -h 10.1.1.1 -q -n 100000
                                
                                W 1 Reply Last reply Reply Quote 0
                                • W
                                  Wildbill @Guest last edited by Wildbill

                                  @ilovegym Ich habe es mal testen lassen, allerdings bei laufendem iobroker, will die Haussteuerung nicht schon wieder anhalten deshalb. Schaut aber glaub ganz OK aus:

                                  redis-benchmark -h 10.10.10.194 -q -n 100000
                                  PING_INLINE: 23223.41 requests per second, p50=0.935 msec                   
                                  PING_MBULK: 24437.93 requests per second, p50=0.855 msec                   
                                  SET: 23663.04 requests per second, p50=0.911 msec                   
                                  GET: 24727.99 requests per second, p50=0.823 msec                   
                                  INCR: 23809.53 requests per second, p50=0.879 msec                   
                                  LPUSH: 23030.86 requests per second, p50=0.927 msec                   
                                  RPUSH: 22883.29 requests per second, p50=0.983 msec                   
                                  LPOP: 21777.00 requests per second, p50=0.975 msec                   
                                  RPOP: 23507.29 requests per second, p50=0.983 msec                   
                                  SADD: 25412.96 requests per second, p50=0.871 msec                   
                                  HSET: 19964.06 requests per second, p50=1.063 msec                   
                                  SPOP: 24497.80 requests per second, p50=0.927 msec                   
                                  ZADD: 17448.96 requests per second, p50=1.279 msec                   
                                  ZPOPMIN: 21791.24 requests per second, p50=0.959 msec                   
                                  LPUSH (needed to benchmark LRANGE): 24431.96 requests per second, p50=0.895 msec                   
                                  LRANGE_100 (first 100 elements): 15206.81 requests per second, p50=1.527 msec                   
                                  LRANGE_300 (first 300 elements): 8387.85 requests per second, p50=2.983 msec                   
                                  LRANGE_500 (first 500 elements): 6106.50 requests per second, p50=4.135 msec                  
                                  LRANGE_600 (first 600 elements): 5144.30 requests per second, p50=4.767 msec                   
                                  MSET (10 keys): 20218.36 requests per second, p50=1.279 msec    
                                  

                                  Wenn iobroker mal irgendwann gestoppt ist und ich dran denke, teste ich nochmal.

                                  Gruss, Jürgen

                                  EDIT: Ach ja, CPU-Last für die iobroker-VM ging von 10 auf gute 40% hoch und danach wieder zurück. Ist also noch Luft da...

                                  1 Reply Last reply Reply Quote 0
                                  • W
                                    Wildbill last edited by Wildbill

                                    Was ich vorhin noch schreiben wollte und glatt vergessen habe: An alle, die redis auf einen eigenen LXC oder eine eigene Maschine umziehen:
                                    In der iobroker-VM/-LXC/_Maschine nicht vergessen, den redis-server zu stoppen. Der muss da nicht mehr mitlaufen. Kann man auch deinstallieren, die redis-tools sollten reichen.

                                    sudo systemctl stop redis-server
                                    sudo systemctl disable redis-server
                                    

                                    Gruss, Jürgen

                                    EDIT: Und natürlich im Backitup auch umstellen auf Remote. IP vom neuen LXC rein, Port 6379 und User redis. Passwort (bei mir) leer. Und ein Testlauf, ob es auch läuft, schadet auch nix.

                                    T 1 Reply Last reply Reply Quote 0
                                    • T
                                      ticaki Developer @Wildbill last edited by ticaki

                                      @wildbill
                                      Kann man machen, aber ich sichere meine ganzen LXC's. Denke doch das das auch für einen Umzug ausreichend ist. Oder?

                                      EDIT: Das schreibe ich und mein nächster Gedankengang ist dann: doppelt hält besser - habs umgestellt 😄

                                      W 1 Reply Last reply Reply Quote 0
                                      • W
                                        Wildbill @ticaki last edited by

                                        @ticaki Ich sichere auch regelmäßig alles direkt aus Proxmox heraus auf einen Proxmox-Backup-Server und zusätzich auf mein Synology NAS. Dennoch habe ich Backitup auch in Gebrauch. Die Sicherungen in Proxmox haben halt den nachteil, dass wirklich ALLES mitgesichert wird, also auch etwaige Problem, die man eine Zeit lang mitschleppt und die irgendwann zuschlagen. Mit den zusätzlichen backups aus dem Adapter lässt sich iobroker im Ernstfall dann auf einem jungfräulichen System wieder aufsetzen ohne die ganzen Altlasten mitzuschleppen. Sicher ist sicher.
                                        Ich trage ja schließlich auch ab und zu Hosenträger und Gürtel und binde zur Sicherheit noch eine Schnur um... 😊

                                        Gruss, Jürgen

                                        1 Reply Last reply Reply Quote 0
                                        • W
                                          Wildbill last edited by

                                          @ilovegym
                                          Ich habe heute den Benchmark nochmal laufen lassen, nachdem iobroker zwecks update eh gestoppt war:

                                          redis-benchmark -h 10.10.10.194 -q -n 100000
                                          PING_INLINE: 30102.35 requests per second, p50=0.823 msec                   
                                          PING_MBULK: 27034.33 requests per second, p50=0.959 msec                   
                                          SET: 27196.08 requests per second, p50=1.007 msec                   
                                          GET: 28960.32 requests per second, p50=0.887 msec                   
                                          INCR: 27322.40 requests per second, p50=0.815 msec                   
                                          LPUSH: 29481.13 requests per second, p50=0.887 msec                   
                                          RPUSH: 27337.34 requests per second, p50=0.959 msec                   
                                          LPOP: 27449.90 requests per second, p50=0.927 msec                   
                                          RPOP: 26288.12 requests per second, p50=0.999 msec                   
                                          SADD: 26702.27 requests per second, p50=0.975 msec                   
                                          HSET: 27137.04 requests per second, p50=0.967 msec                   
                                          SPOP: 29629.63 requests per second, p50=0.863 msec                   
                                          ZADD: 26766.60 requests per second, p50=0.975 msec                   
                                          ZPOPMIN: 28019.05 requests per second, p50=0.919 msec                   
                                          LPUSH (needed to benchmark LRANGE): 29949.09 requests per second, p50=0.791 msec                   
                                          LRANGE_100 (first 100 elements): 19630.94 requests per second, p50=1.359 msec                   
                                          LRANGE_300 (first 300 elements): 9054.69 requests per second, p50=2.887 msec                   
                                          LRANGE_500 (first 500 elements): 6617.70 requests per second, p50=3.935 msec                  
                                          LRANGE_600 (first 600 elements): 6332.72 requests per second, p50=4.423 msec                  
                                          MSET (10 keys): 27723.87 requests per second, p50=0.975 msec 
                                          

                                          Gruss, Jürgen

                                          1 Reply Last reply Reply Quote 0
                                          • First post
                                            Last post

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          806
                                          Online

                                          32.0k
                                          Users

                                          80.5k
                                          Topics

                                          1.3m
                                          Posts

                                          8
                                          40
                                          1925
                                          Loading More Posts
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          The ioBroker Community 2014-2023
                                          logo