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 @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

                                    797
                                    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