Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. ioBroker sehr hohe Diskwrites in Proxmox

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    ioBroker sehr hohe Diskwrites in Proxmox

    This topic has been deleted. Only users with topic management privileges can see it.
    • paul53
      paul53 @apollon77 last edited by

      @apollon77 sagte: Ein Objekt mit einem neuen "geändert am" Zeitstempel ist ein geändertes Objekt.

      Das sehe ich auch so. Es sollte Aufgabe des Adapters sein, nur geänderte oder neue Objekte zu schreiben.

      apollon77 1 Reply Last reply Reply Quote 0
      • JLeg
        JLeg @apollon77 last edited by

        @apollon77 sagte in ioBroker sehr hohe Diskwrites in Proxmox:

        Ein Objekt mit einem neuen "geändert am" Zeitstempel ist ein geändertes Objekt. Die Diskussion ob das so Sinn macht und ob das ein neues schreiben triggern sollte - das ist das was wir diskutieren müssen ... Gibt mehrere Blickrichtungen darauf!

        Keine Frage, aber, die gerade diskutierten Fälle waren solche, bei denen es keinerlei Änderungen in der objects.json gab (also auch keine "ts"-Änderungen), aber trotzdem geschrieben wurde. D.h. objects.json und objects.json.bak sind exakt identisch. Die einzigen "Änderungen" sind in diesem Fall der Zeitstempel der beiden Dateien... 😉
        Ich habe verstanden, dass das ursächlich an Adaptern liegen dürfte - die Frage wäre aber imo, ob es nicht "oben drüber" jemanden (Objektdatei-Schreibroutine) gibt, der das abfangen (und verwerfen) könnte?

        1 Reply Last reply Reply Quote 0
        • apollon77
          apollon77 @paul53 last edited by

          @paul53 das ist aber nicht so einfach oder viel Logik in jedem Adapter. Vor allem crib adapter haben dieses Problem weil sie jedes Mal alles prüfen müssen. Deswegen Überlegen wir was wir da tun können 😉 das Thema hat’s aber nicht in den 3.2er Controller geschafft. 3.3 dann vllt.

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

            @apollon77 OK, möglicherweise habe ich da einen Denkfehler oder ein Verständnissproblem. Aber wie @JLeg schrieb: Wenn es KEINE Änderungen an den Objekten selbst gibt und von einem bestehenden Objekt sich nur der Zeitstempel ändert, weil es 1:1 von einem Adapter oder Skript nochmals "neu" erstellt wurde und sich somit nur der Zeitstempel ändert, dann verstehe ich nicht ganz, warum das dann neu gespeichert werden sollte. Gibt es dafür Anwendungsfälle oder eine schlüssige Begründung oder weil, wie Du geschrieben hast, alles jedes Mal komplett geprüft werden muss und die Systemlast dadurch zu stark steigen könnte? Ansonsten bin ich da auch der Meinung, der Controller sollte das eher abfangen. Etwas mehr Last sehe ich (zumindest auf eine potenten System abseits der Raspi&Co) als unkritischer als zu oft stattfindende (unnötige?!) Schreibzugriff auf die objects.json.
            Würde da das Umstellen der Objekte auf redis (die states habe ich schon auf redis) etwas verbessern? Meine objects.json hat aktuell etwas über 15MB, landen da bei redis dann auch nur die "Änderungen" und es werden nur die paar kB geschrieben, die sich geändert haben?

            Gruss, Jürgen

            apollon77 1 Reply Last reply Reply Quote 0
            • Dr. Bakterius
              Dr. Bakterius Most Active @apollon77 last edited by

              @apollon77 sagte in ioBroker sehr hohe Diskwrites in Proxmox:

              Ein Objekt mit einem neuen "geändert am" Zeitstempel ist ein geändertes Objekt. Die Diskussion ob das so Sinn macht und ob das ein neues schreiben triggern sollte - das ist das was wir diskutieren müssen ...

              Okay, das erklärt einiges. Was bleibt ist die Frage, warum die Timestamps überhaupt in den objects und nicht in den states gespeichert werden?

              apollon77 1 Reply Last reply Reply Quote 0
              • apollon77
                apollon77 @Dr. Bakterius last edited by

                @dr-bakterius naja weil der timestamp im
                Objekt quasi die Version desselben ist (Objekt = die Definition). Der state hat den timestamp
                Mit der letzten zustandsänderung des States.

                Dr. Bakterius 1 Reply Last reply Reply Quote 0
                • apollon77
                  apollon77 @Wildbill last edited by

                  @wildbill hängt davon ab wie du die persistenz in deiner redis konfig machst. Bei rdb persistenz wird auch alles geschrieben in den definierten Zyklen. Bei aof werden Änderungen nur angehängt und dann regelmäßig konsolidiert.

                  Effektiv wie gesagt kann man das Setting writeFileInterval bei den Dbs anpassen.

                  1 Reply Last reply Reply Quote 1
                  • Dr. Bakterius
                    Dr. Bakterius Most Active @apollon77 last edited by

                    @apollon77 sagte in ioBroker sehr hohe Diskwrites in Proxmox:

                    weil der timestamp im Objekt quasi die Version desselben ist (Objekt = die Definition).

                    Bedeutet das, dass hier der Adapter jeweils die bereits vorhandenen Objekte neu erstellt und daher der Timestamp der Objekte neu erstellt wird und sich daher unterscheidet? Der Entwickler müsste den Adapter also dahingehend anpassen, dass nur nicht vorhandene Objekte erstellt werden. Habe ich das richtig verstanden?

                    apollon77 1 Reply Last reply Reply Quote 0
                    • apollon77
                      apollon77 @Dr. Bakterius last edited by

                      @dr-bakterius wie gesagt aktuell ist das sehr schwer und aus dem Grund nutzen Adapter üblicherweise extendObject. In jedem Adapter hier mega viel Logik einzubauen macht keinen echten Sinn. Aber ja adapter die hier viel so machen könnten etwas ändern.

                      Generell aber:
                      Ja, das Thema ist bekannt und seid mindestens 1-2 Jahren genau so 😉 es gibt ein issue im js-Controller das zu optimieren und den Work around das writeFileInterval anzupassen (mit kleineren Risiken falls der Controller crasht was eher selten vorkommt). Wir überlegen mal für Controller 3.3 ob wir eine Lösung finden

                      1 Reply Last reply Reply Quote 3
                      • apollon77
                        apollon77 last edited by

                        Ps: aber ja crib adapter sind in meinen Augen die einzigen die so ein behavior an den Tag legen dürfen ;-). Deamon Adapter sollten es nicht tun. Und wenn doch ist es bei denen ein issue Wert.

                        Dr. Bakterius 1 Reply Last reply Reply Quote 0
                        • Dr. Bakterius
                          Dr. Bakterius Most Active @apollon77 last edited by

                          @apollon77 sagte in ioBroker sehr hohe Diskwrites in Proxmox:

                          crib adapter sind in meinen Augen die einzigen die so ein behavior an den Tag legen dürfen ;-). Deamon Adapter sollten es nicht tun.

                          Gut, und jetzt steige ich aus... 😌

                          Homoran apollon77 2 Replies Last reply Reply Quote 0
                          • Homoran
                            Homoran Global Moderator Administrators @Dr. Bakterius last edited by Homoran

                            @dr-bakterius sagte in ioBroker sehr hohe Diskwrites in Proxmox:

                            @apollon77 sagte in ioBroker sehr hohe Diskwrites in Proxmox:

                            crib adapter sind in meinen Augen die einzigen die so ein behavior an den Tag legen dürfen ;-). Deamon Adapter sollten es nicht tun.

                            Gut, und jetzt steige ich aus... 😌

                            Musst du nicht.
                            Den Ausdruck kannte ich bis eben auch nicht!
                            Aber wenn Daemon das Gegenteil ist, müssten crib-Adapter die scheduled Adapter, wie DWD/iCal usw. sein

                            1 Reply Last reply Reply Quote 1
                            • apollon77
                              apollon77 @Dr. Bakterius last edited by

                              @dr-bakterius 🙂

                              Am Ende gibt es zwei Haupt-Typen von adaptersn: Schedule: Die werden zu definierten Zeiten gestartet (meistens Wetter adapter). "Deamon" Adapter sind die die man startet und die dann immer laufen. Die sollen bitte am Anfang einmalig Objekte anlegen und dann nur wenn nötig ist ändern. Da muss im Zweifel der Entwickler ran 🙂

                              1 Reply Last reply Reply Quote 2
                              • crunchip
                                crunchip Forum Testing Most Active last edited by crunchip

                                Da meine objects.json 32mb beträgt und bevor ich diese ebenfalls auf redis umstelle, habe ich nun mal "writeFileInterval": 3600000, für objekte hinterlegt, mal sehen wie sich das verhält. Zwischenzeitlich mach ich mir trotzdem mal Gedanken, ob und wenn ja, wie ich das am sinnvollsten umsetzten könnte.
                                mit aktueller Einstellung ergibt sich bei knapp einem Tag, folgender Wert
                                228f01e9-c8f9-4762-9386-f08817441446-grafik.png

                                O 1 Reply Last reply Reply Quote 0
                                • K
                                  Kueppert last edited by Kueppert

                                  ich dachte eben noch: och, bei mir sieht das mit JS3.2 aber alles easy aus...nunja, 260 GB in 2 Tagen 😄 doch was mehr als ich dachte...schreibe aber auf 4 Platten, normale HDDs - ach kakke...stimmt nicht, ioBroker läuft auf ner SSD O.o

                                  Sieht da für euch irgendwas schlimm aus?

                                  cf2559bc-3731-47a3-a4b4-158c74202c32-image.png
                                  95f393bd-3fc2-468a-a0e8-4dcaf27e75e1-image.png

                                  crunchip 1 Reply Last reply Reply Quote 0
                                  • crunchip
                                    crunchip Forum Testing Most Active @Kueppert last edited by

                                    @kueppert alles im grünen Bereich👍

                                    1 Reply Last reply Reply Quote 1
                                    • K
                                      Kueppert last edited by Kueppert

                                      Ich hatte testweise den ioBroker auf die Synology (HDD) ausgelagert - war aber leider weniger performant als direkt auf ne SSD ^^ Habs daher wieder zurück gedreht (geht ja bei Proxmox - wenn man weiß wie zumindest - relativ flott -- hat bei mir nen halben Tag gedauert 🙄 )

                                      1 Reply Last reply Reply Quote 0
                                      • F
                                        ftd last edited by

                                        3,15 TB in 7 Tagen...

                                        f59c3999-ebcb-404d-b14a-75d01403647e-image.png

                                        Übeltäter schon gefunden: DWD Cronjob stand auf 1 Minute, anstatt 1 Stunde. 🤦 Mal schauen, was nach weiteren 7 Tagen da steht...

                                        Wearout nach 3 Jahren ioBroker:

                                        dd0ab806-cd3b-4fb4-8321-2201c865899a-image.png

                                        a39477d7-403c-488c-89af-67cc392c239d-image.png

                                        S apollon77 2 Replies Last reply Reply Quote 0
                                        • S
                                          saeft_2003 Most Active @ftd last edited by

                                          @ftd

                                          Steht bei dir dann 15% wearout unter disks?

                                          F 1 Reply Last reply Reply Quote 0
                                          • apollon77
                                            apollon77 @ftd last edited by

                                            @ftdAuch wenn bissl off topic: Was auch immer der wearout Wert bei Proxmox bedeutet. Ich habe dazu ehrlich noch nie was klares gefunden. Man kann annehmen das das irgendwie sie SMART Werte nimmt und geschriebene Daten vs "maximal daten laut ssd datenblatt" ... keine Ahnung ...

                                            Dr. Bakterius 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

                                            686
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            35
                                            405
                                            54256
                                            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