NEWS
js-controller 4.0 jetzt im BETA/LATEST!
-
@paul53 Ja weil JSONL halt ganz anders funktioniert. Es schreibt kontionuierlich in kleinern Blöcken und komprimiert (schreibt neu) die Datei nach anderen Regeln. Dafür gibt es neue jsonl Einstellungen um das zu tunen falls nötig:
Das sind die Defaults (Objects und States haben hier leicht andere Defaults!!) falls es im iobroker.json nicht enthalten ist.
-
@apollon77 sagte in js-controller 4.0 jetzt im BETA/LATEST!:
Verstehe ich nicht weil der Container macht eigentlich genauein Fix beim startup soweit ich weiss ...
nein, das tut er nicht, würde auch den Startvorgang erheblich verlängern. Was getan wird ist beim ersten Start des Containers und wenn ein backupfile gefunden wurde, dass das Startupscript nach dem Entpacken ein chown iobroker:iobroker über /opt/iobroker laufen lässt.
Und ja, auch ich musste nach dem upgrade den fixer laufen lassen. Das war bisher nach einem Controller-Update nie notwendig
-
@fastfoot ahh ok. Aber ich verstehe dennoch nicht warum der fixer hier einen Effekt hat. Ich habe auch in den logs die bisher gezeigt wurden keinerlei Fehler gesehen. Oooohhhhhh eine Idee hab ich. Ich rede mit André
-
@chaot sagte in js-controller 4.0 jetzt im BETA/LATEST!:
@apollon77
Gute Arbeit.
Rate mal wann ich das Update installiert habe
Interessant!
Ich konnte dies bei dem Netzwerk-Traffic feststellen, leider bei Disk IO kaum.
Wie könnte ich feststellen, weswegen ich diese Peaks bei Disk IO habe?
-
@apollon77 sagte in js-controller 4.0 jetzt im BETA/LATEST!:
@fastfoot ahh ok. Aber ich verstehe dennoch nicht warum der fixer hier einen Effekt hat. Ich habe auch in den logs die bisher gezeigt wurden keinerlei Fehler gesehen. Oooohhhhhh eine Idee hab ich. Ich rede mit André
hier mal stellvertetend ein Auszug, alle Adapter liefern den Fehler:
2022-02-06 16:46:35.306 - info: host.iobroker starting 22 instances 2022-02-06 16:46:35.539 - error: host.iobroker instance system.adapter.admin.0 could not be started: Error: spawn EPERM 2022-02-06 16:46:39.467 - error: host.iobroker instance system.adapter.telegram.0 could not be started: Error: spawn EPERM 2022-02-06 16:46:43.468 - error: host.iobroker instance system.adapter.javascript.0 could not be started: Error: spawn EPERM 2022-02-06 16:46:47.467 - error: host.iobroker instance system.adapter.javascript.1 could not be started: Error: spawn EPERM 2022-02-06 16:46:51.476 - error: host.iobroker instance system.adapter.alexa2.0 could not be started: Error: spawn EPERM 2022-02-06 16:46:55.532 - info: host.iobroker instance scheduled system.adapter.ical.0 0 10 * * * 2022-02-06 16:46:55.565 - info: host.iobroker instance system.adapter.ical.0 could not be started: Error: spawn EPERM
-
@e-i-k-e Gute Frage ... Du hast jetzt JSONL db oder was?
-
Hat das aktivieren des Redis optimierung funktioniert?
pi@ioBroker-Rock:/opt/iobroker$ iob objects activateSets iobroker [command] Commands: iobroker setup Setup ioBroker iobroker start [all|<adapter>.<instance>] Starts the js-controller or a specified adapter instance iobroker stop [<adapter>.<instance>] stops the js-controller or a specified adapter instance iobroker restart [<adapter>.<instance>] Restarts js-controller or a specified adapter instance [aliases: r] iobroker debug <adapter>[.<instance>] Starts a Node.js debugging session for the adapter instance iobroker info Shows the host info iobroker logs [<adapter>] Monitor log iobroker add <adapter> [desiredNumber] Add instance of adapter [aliases: a] iobroker install <adapter> Installs a specified adapter [aliases: i] iobroker rebuild [<path>] Rebuild all native modules or path iobroker url <url> [<name>] Install adapter from specified url, e.g. GitHub iobroker del <adapter> Remove adapter from system [aliases: delete] iobroker del <adapter>.<instance> Remove adapter instance [aliases: delete] iobroker update [<repositoryUrl>] Update repository and list adapters iobroker upgrade Upgrade management iobroker upload [all|<adapter>] Upload management [aliases: u] iobroker object Object management [aliases: o] iobroker state State management [aliases: s] iobroker message <adapter>[.instance] <command> [<message>] Send message to adapter instance/s iobroker list <type> [<filter>] List all entries, like objects iobroker chmod <mode> <file> Change file rights iobroker chown <user> <group> <file> Change file ownership iobroker touch <file> Touch file iobroker rm <file> Remove file iobroker file File management iobroker user User commands iobroker group group management iobroker host <hostname> Set host to given hostname iobroker set <adapter>.<instance> Change settings of adapter config iobroker license <license.file or license.text> Update license by given file iobroker cert Certificate management iobroker clean <yes> Clears all objects and states iobroker backup Create backup iobroker restore <backup name or path> Restore a specified backup iobroker validate <backup name or path> Validate a specified backup iobroker status [all|<adapter>.<instance>] Status of ioBroker or adapter instance [aliases: isrun] iobroker repo [<name>] Show repo information iobroker uuid Show uuid of the installation [aliases: id] iobroker unsetup Reset license, installation secret and language iobroker fix Execute the installation fixer script, this updates your ioBroker installation iobroker multihost Multihost management iobroker compact compact group management iobroker plugin Plugin management iobroker version [<adapter>] Show version of js-controller or specified adapter [aliases: v] Options: --help Show help [boolean]
-
@apollon77
redis/redis -
@fastfoot Ich habe eine Vermutung, die ich heute Abend mal checken werde. Der Controller 4 erkennt jetzt Nodejs Versionsänderungen und setzt die capabilities der node executable neu ... Mein Hinterkopf sagt mir das da bei docker irgendwas besonders war :))
-
@e-i-k-e Na du bish ein Held :-)))) Wir redn über Optimierungen die durch jsonl DB Nutzung kommen :-)))
bei Redis ist die Frage wie Du die Persistenz eingestellt hast ... siehe auch https://forum.iobroker.net/topic/26327/redis-in-iobroker-überblick (bzw generell eher ein Thema für dort)
-
Okay Ich habe nichts gesagt
Aber trotzdem scheint der Befehl
iob objects activateSets
bei mir nicht zu funktionieren, siehe Post #80. -
@e-i-k-e Glaube Type ... mach mal
iob object activateSets
(wobei bei Single Host aktiv sein sollte ... nur multihost erst ausführen wenn alle hosts controller 4 sind! -
Super, das wars schon! Bitte oben übernehmen
pi@ioBroker-Rock:/opt/iobroker$ iob object activateSets Successfully migrated 22666 objects to Redis Sets Successfully activated the usage of Redis Sets. Please make sure to only use js-controller 4.0 or higher on all hosts!
Master/Slave System. Natürlich sind alle auf Version 4.0.4
Was genau bewirkt die "Redis Sets Optimierungen" und wie macht sich dies bemerkbar?
-
@e-i-k-e Schaut bei mir auch so aus wenn ich auf "Stunde" stelle. Allerdings nicht mit Peaks bis 40M
Hast du redis auf einem eigenem Container? Starte den mal neu. Das Verhalten kommt bei mir manchmal vor wenn der Redis Container sich irgendwie aufwickelt.
-
Läuft aktuell noch im gleichen Container.
Habe aber nach deiner Nachricht trotzdem mal den kompletten Container neu gestartet.Hat aber keine Änderung mit sich gebracht.
-
@e-i-k-e daswebn die die Standard redis persistent hast dann Ist das genau so weil der auch in regelmäßigen Abständen (default 5mins) sein persistenz file neu schreibt. Das ist ggf sehr io lastig. Aber das Said: bitte anderer thread!!
-
Alles klar und danke für die kurze Erklärung!
Bei mir läuft die Web-Oberfläche von ioBroker nun definitiv schneller und auch unter den Objekten kann ich endlich wieder richtig Filtern und dies endet nicht mehr in ein dauerladen.
Danke!!
-
@e-i-k-e Also ich denke nicht das du es wirklich bemerkst
Bei Redis ist es so das die Suche nach Objekttypen bzw "Objekten mit Custom Einträgen" vergleichsweise teuer sind weil ggf viele Objekte einzeln geprüft werden müssen. Mit diesem Feature werden quasi "Lookup Objekte" im Redis angelegt, die alle Objekte eines bestimmten Typs enthalten. So ist diese Suche weniger aufwändig.
Es beschleunigt interne Abläuft und ggf auch bestimmte Admin.Aktionen, aber ich denke es wird nur bei großen Systemen unter Redis echt eine Änderung sein bzw. spürbar ist je eh relativ
-
@apollon77 sagte in js-controller 4.0 jetzt im BETA/LATEST!:
@e-i-k-e Also ich denke nicht das du es wirklich bemerkst
Bei Redis ist es so das die Suche nach Objekttypen bzw "Objekten mit Custom Einträgen" vergleichsweise teuer sind weil ggf viele Objekte einzeln geprüft werden müssen. Mit diesem Feature werden quasi "Lookup Objekte" im Redis angelegt, die alle Objekte eines bestimmten Typs enthalten. So ist diese Suche weniger aufwändig.
Es beschleunigt interne Abläuft und ggf auch bestimmte Admin.Aktionen, aber ich denke es wird nur bei großen Systemen unter Redis echt eine Änderung sein bzw. spürbar ist je eh relativ
Danke für die Erklärung.
Interesse halber, ab wann spricht man denn von "großen" Systemen? -
@e-i-k-e sagte in js-controller 4.0 jetzt im BETA/LATEST!:
Interesse halber, ab wann spricht man denn von "großen" Systemen?
Ich denke das ist relativ. Sagen wir so: Die Auswirkung der Optimierung wird größer je mehr Objekte du hast Aber bis es eine Sekunde bei einem Adapterstart ausmacht reden wir glaube von weit über 100k Objekten die zu durchsuchen sind Aber wie heisst es so schön: Kleinfieh macht auch Mist.