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

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    ioBroker sehr hohe Diskwrites in Proxmox

    This topic has been deleted. Only users with topic management privileges can see it.
    • 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
                                          • F
                                            ftd @saeft_2003 last edited by

                                            @saeft_2003 Ja, die 15% stehen unter Disks.

                                            @apollon77 Ich mach mir da nicht so den Kopf... die Platte kostet neu 30€. Backups über alles laufen problemlos... wenn Ausfall, dann austauschen, Backup zurückspielen, fertig.

                                            @all Macht euch über die Wearouts nicht verrückt:

                                            Samsung SSD EVO 850 (3,7 Jahre, 4% Wearout )

                                            73a6b6cf-638e-43bb-bf5b-a49ffa6d646c-image.png

                                            Crossair Force SSD (7,6 Jahre, 0% Wearout)

                                            faf5ceb5-fa5e-469e-9fb7-fbcedc35efa6-image.png

                                            Samsung HD (11,6 Jahre, kein Wearout gelogged, summt im Dauerbetrieb wie ein Bienchen)

                                            31c33ca7-91d8-4ce3-8ca3-2f4e9eb22d30-image.png

                                            Zurück zum Topic: Seitdem der DWD nicht mehr minütlich schreibt, ist Ruhe bei den Diskwrites (da bei 24.01. gegen 00:00 Uhr die hellgrüne Linie):

                                            a8b40393-5eeb-42a9-a14f-86a8a7e86f09-image.png

                                            K liv-in-sky 2 Replies Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

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

                                            540
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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