NEWS
ioBroker sehr hohe Diskwrites in Proxmox
-
Hallo Zusammen,
nachdem mir letztens mein SmartHome abgeraucht ist (SSD defekt in Kombination mit Rock64) habe ich alles komplett neu durchdacht und bin auch bei einer Lösung über Proxmox, auf leistungsstarker Hardware, gelandet.
Nach Empfehlung benutze ich auch keinen History Adapter sondern eine Influx Datenbank.
(Warum kein HistoryIch aktuell folgende Konstellation jeweils als separate Containerlösung
- ioBroker
- Homebridge
- MotionEye
bei ioBroker fallen mir jedoch außergewöhnlich hohe "TotalDiskWrites", auf. Nach dem Neustart z.B. 146 GiB in 14 Stunden?
Diskwrites Stunde/Durchschnitt
insbesondere da meine letzte Festplatte abgeraucht ist macht mir das etwas Sorgen, ggf. interpretiere ich die Daten aber auch verkehrt
- A) Daher die Bitte, ob jemand der ebenfalls Proxmox nutzt mal schauen könnte wie die TotalDiskWrites in eurem System aufkommt
- B) Jemand mir sagen kann wie ich rausfinde, was im ioBroker diese Hohe Last verursachen könnte.
(ich habe den Freshenergie Adapter bzw. Discovergy Adapter bereits deaktiviert, Strom wird ja sehr häufig aktualisiert)
Danke vorab für eurer Interesse
- Architektur x64
- CPUs 4
- Geschwindigkeit 2056 MHz
- Modell Intel(R) Celeron(R) CPU N3450 @ 1.10GHz
- RAM 4 GB
- System Betriebszeit 6 T. 09:11:56
- Node.js v12.18.2 (Es gibt eine neuere Version: v12.20.1)
- NPM 6.14.8
- 120 GB Sandisk Plus
-
@robbsen sagte in ioBroker sehr hohe Diskwrites in Proxmox:
Jemand mir sagen kann wie ich rausfinde, was im ioBroker diese Hohe Last verursachen könnte.
Fast sicher das Schreiben der Datenpunkte auf die SSD. Ich vermute, du verwendest noch nicht Redis? Das lohnt sich um die Datenmenge, die geschrieben wird, runter zu bringen.
-
Hallo Robbsen,
auch bei mir sind die Zugriffe sehr hoch. Ich kann aber nicht sagen, ob das ein Problem für die SSD ist...
-
@robbsen Da kann ich aber anderes berichten
So sieht mein ioBroker immer aus.
-
Bei mir sieht es auch nicht so wild aus:
Der Traffic (von und zu den Slaves ???) kommt bei mir so schubweise
-
@unclesam hi, nein habe ich bisher nicht. werde ich dann ggf. versuchen. Hatte eigentlich gehofft nun ein stabiles System zu haben. Redis Umstellung hört sich nach Aufwand an
@meister-mopper na dann müsstest du aber auch die SSD kräftig belasten!habe eben gelesen das Problem könnte bei Proxmox liegen, Proxmox ist wohl für Server und damit keine Consumer SSD ausgelegt.
Ich schätze das sind Consumer oder Prosumer SSDs? Die sind nicht geeignet für ZFS, da die kleinste Einheit, die diese SSDs schreiben können mehrere MBs sind und bei jedem Blockupdate dann gleich mehrere MB geändert werden
-
@robbsen sagte in ioBroker sehr hohe Diskwrites in Proxmox:
habe eben gelesen das Problem könnte bei Proxmox liegen
wollte eben nach deiner Proxmox-Version fragen, auch da kann es dran liegen,
Aber IMHO dann nicht an der Datenrate, das wäre nicht Proxmox, sondern die SSD "schuld".Ich glaube jedoch nicht, dass hier jemand eine dedizierte Server-SSD nutzt.
Ich auf jedenfall nicht. Das ist billigste Mediamrkt/Versandhaus-Qualität -
@homoran hatte mich bei der Prosumer auch gewundert... die sind ja nicht bezahlbar ^^
ich nutze Virtual Environment 6.3-3
-
@robbsen sagte in ioBroker sehr hohe Diskwrites in Proxmox:
ich nutze Virtual Environment 6.3-3
ich habe noch die 5.x
-
@homoran danke das ist auch schon mal wichtig..
ich versuche nach und nach jetzt mal alle Adapter auszuschalten bis ich raushabe was die Last verursache. bei dir ist es ja deutlich geringer
-
@robbsen sagte in ioBroker sehr hohe Diskwrites in Proxmox:
ich versuche nach und nach jetzt mal alle Adapter auszuschalten bis ich raushabe was die Last verursache. bei dir ist es ja deutlich geringer
Kannst du mal noch auf deinem System den folgenden Befehl ausführen:
ls -lah /opt/iobroker/iobroker-data
Ich bin mir nämlich fast sicher, dass deine State-Dateien etwa 7 MB gross sind. -
@unclesam Kannst du mir bitte erklären was das aussagt?
Habe es bei mir auch mal eingegeben ohne zu wissen was ich da mache:pi@ioBroker01:~$ ls -lah /opt/iobroker/iobroker-data insgesamt 44M drwxrwxrwx+ 8 iobroker iobroker 4,0K Aug 23 17:45 . drwxrwxrwx+ 9 iobroker iobroker 4,0K Jan 15 11:59 .. drwxrwxrwx+ 2 iobroker iobroker 4,0K Jan 19 15:20 backup-objects drwxrwxrwx+ 154 iobroker iobroker 12K Dez 3 15:20 files drwxrwxrwx+ 540 iobroker iobroker 16K Jan 19 00:00 history -rwxrwxrwx+ 1 iobroker iobroker 3,6K Feb 11 2020 iobroker.json drwxrwxrwx+ 3 iobroker iobroker 4,0K Jan 9 19:14 node-red -rwxrwxrwx+ 1 iobroker iobroker 12M Jan 19 15:20 objects.json -rwxrwxrwx+ 1 iobroker iobroker 12M Jan 19 15:20 objects.json.bak drwxrwxr-x+ 2 iobroker iobroker 4,0K Aug 23 17:45 sayit drwxrwxrwx+ 2 iobroker iobroker 4,0K Nov 29 15:25 sonosCache -rwxrwxrwx+ 1 iobroker iobroker 9,8M Jan 19 15:20 states.json -rwxrwxrwx+ 1 iobroker iobroker 9,8M Jan 19 15:20 states.json.bak
-
Hab mir das bisher nicht angeschaut. Hier mal als Vergleich. Ich habe kein redis in Betrieb.
Bei mir also 5000 GB in 4 Tagen... ca. 600 GB in 12Std.... uiuiuiDisk IO ioBroker
Disk IO InfluxDB
-
-
Bei mir fehlt die Spalte mit der Diskusage.
Habe auch keine Möglichkeit gefunden sie einzublenden. Wie kommt man zu der?
Beim ioBroker sieht es bei mir so aus:
Der Knick nach unten war eine Erhöhung des Datenabfrageintervalls vom Netatmo-Server von 5 Minuten auf 10 Minuten.
-
@homoran sagte in ioBroker sehr hohe Diskwrites in Proxmox:
Kannst du mir bitte erklären was das aussagt?
Deine states.json Dateien sind je knapp 10 MB gross. Jedes mal, wenn sich also im eingestellten Intervall (ich vermute 5 Minuten) mindestens ein State geändert wurde, dann schreibt er die Datei neu. Dasselbe bei Objektänderungen (aber die sind ja selten). Bei Redis sieht man nicht solche Peaks, da eine State Änderung eben nur einen kleinen Wert in der DB ändert (aber dafür nicht alle 5 Minuten, sondern viel häufiger - da kenne ich die Config nicht).
Die Höhe der Peaks sagt nur etwas darüber aus, wie gross die Datei ist. Es spielt keine Rolle, wieviele States geändert werden. Die Häufigkeit der Peaks sagt aus, wie oft sich irgendein State ändert (immer mit dem fixen Intervall) - und das ist in einem "normalen" ioBroker System recht häufig.
-
So sieht mein ioBroker aus... verwende Redis, der ioBroker läuft auf einer SSD.
-
@master67 sagte in ioBroker sehr hohe Diskwrites in Proxmox:
verwende Redis
Danke für die Grafik. Genau, was zu erwarten war bei Redis: viel kleinere, dafür häufigere Writes. In Summe kann das einiges weniger sein als bei File DB.
-
@unclesam Danke für die Erklärung!
Das mit den Schreibvorgängen war mir bewusst, aber ich habe ja gar keine wirklichen Peaks:
-
@unclesam sagte wenn sich also im eingestellten Intervall (ich vermute 5 Minuten) mindestens ein State geändert wurde, dann schreibt er die Datei neu
Voreinstellung ist 30 s.
@unclesam sagte in ioBroker sehr hohe Diskwrites in Proxmox:
Dasselbe bei Objektänderungen (aber die sind ja selten).
Da der Zeitstempel genau so jung ist wie bei der states.json, vermute ich, dass ein Adapter läuft, der immer wieder neue Objekte erzeugt.
@unclesam sagte in ioBroker sehr hohe Diskwrites in Proxmox:
da eine State Änderung eben nur einen kleinen Wert in der DB ändert (aber dafür nicht alle 5 Minuten, sondern viel häufiger - da kenne ich die Config nicht).
Redis schreibt in der Voreinstellung alle 5 Minuten.