NEWS
Performance verbessern
-
Ich habe ioBroker auf einem NUC Celeron als VM (6GM RAM) laufen. In letzter Zeit ist der Zugriff vom Browser aus sehr langsam. Zugriff auf Objektbaum mit Ladezeit im Sekundenbereich. Teilweise werden Zigbee Aktoren Aktivitäten einige Sekunden später auf der Alex wieder geben.
Liegt es ab vielen Objekten`/ States
Objects: 116788
States: 90210
Bringt eine Umstellung auf Redis etwas?Das System ist aktuell
Speicherauslastun zwischen 4,5 und 5,8 GB
CPU 55% -
Bei sovielen states und objects definitiv eine Empfehlung für Redis.
Kann auch sein, dass der celeron zu schwach ist… aber erstmal auf Redis umstellen, das wird dir was bringen. -
@toki1973 sagte in Performance verbessern:
auf einem NUC Celeron
welcher?
da gibt es Leistungsunterschiede im Faktor 4-6@toki1973 sagte in Performance verbessern:
Zugriff auf Objektbaum mit Ladezeit im Sekundenbereich.
das kann an der Anzahl Objekte liegen, die werden ja erst einmal alle geladen.
Ansonsten wäre da auch die Leistung des Frontends entscheidend.@toki1973 sagte in Performance verbessern:
Das System ist aktuell
ist relativ
Gewissheit bringtiob diag
in der Langfassung.@toki1973 sagte in Performance verbessern:
Speicherauslastun zwischen 4,5 und 5,8 GB
CPU 55%Und was sagt
top
? -
Top:
top - 18:37:27 up 9 min, 2 users, load average: 2,55, 2,02, 1,16 Tasks: 124 total, 5 running, 119 sleeping, 0 stopped, 0 zombie %CPU(s): 58,3 us, 5,6 sy, 0,0 ni, 29,2 id, 2,1 wa, 0,0 hi, 0,3 si, 4,5 st MiB Spch: 6051,2 total, 1337,3 free, 3972,5 used, 1060,7 buff/cache MiB Swap: 975,0 total, 975,0 free, 0,0 used. 2078,7 avail Spch PID USER PR NI VIRT RES SHR S %CPU %MEM ZEIT+ BEFEHL 1998 iobroker 20 0 1770468 952784 43860 R 105,9 15,4 3:53.82 iobroker.js-con 2168 iobroker 20 0 795052 130272 43544 S 9,9 2,1 0:03.39 io.javascript.0 2489 iobroker 20 0 744548 74040 39044 S 5,0 1,2 0:01.96 io.pollenflug.0 2034 iobroker 20 0 1181000 329088 45240 S 3,3 5,3 0:14.67 io.admin.0 2045 iobroker 20 0 906344 238344 38056 S 3,3 3,8 0:07.19 io.influxdb.0 2608 iobroker 20 0 689264 81080 37988 S 2,0 1,3 0:02.57 io.vis.0 2317 iobroker 20 0 835828 264832 37928 S 1,7 4,3 0:05.79 io.mqtt.0 2244 iobroker 20 0 951048 92984 39160 R 0,7 1,5 0:03.12 io.alexa2.0 2343 iobroker 20 0 682196 79252 37988 S 0,7 1,3 0:01.87 io.sonoff.1 138 root 20 0 0 0 0 I 0,3 0,0 0:00.11 kworker/u4:3-writeback 441 root 20 0 80240 3640 3368 S 0,3 0,1 0:00.70 qemu-ga 571 toki 20 0 17968 6688 4820 S 0,3 0,1 0:00.04 sshd 2181 iobroker 20 0 942508 364152 38020 S 0,3 5,9 0:08.89 io.node-red.0 2306 iobroker 20 0 678188 69900 38156 S 0,3 1,1 0:01.64 io.modbus.1 2391 iobroker 20 0 725088 69280 38056 S 0,3 1,1 0:01.53 io.daswetter.0 2680 toki 20 0 11772 5424 3284 R 0,3 0,1 0:00.16 top 2713 iobroker 20 0 10,9g 152788 40540 S 0,3 2,5 0:05.15 node-red 1 root 20 0 103416 13344 9120 S 0,0 0,2 0:02.67 systemd 2 root 20 0 0 0 0 S 0,0 0,0 0:00.00 kthreadd 3 root 0 -20 0 0 0 I 0,0 0,0 0:00.00 rcu_gp 4 root 0 -20 0 0 0 I 0,0 0,0 0:00.00 rcu_par_gp 5 root 0 -20 0 0 0 I 0,0 0,0 0:00.00 slub_flushwq 6 root 0 -20 0 0 0 I 0,0 0,0 0:00.00 netns 8 root 0 -20 0 0 0 I 0,0 0,0 0:00.00 kworker/0:0H-events_highpri 9 root 20 0 0 0 0 I 0,0 0,0 0:00.83 kworker/u4:0-flush-8:0 10 root 0 -20 0 0 0 I 0,0 0,0 0:00.00 mm_percpu_wq 11 root 20 0 0 0 0 I 0,0 0,0 0:00.00 rcu_tasks_kthread 12 root 20 0 0 0 0 I 0,0 0,0 0:00.00 rcu_tasks_rude_kthread 13 root 20 0 0 0 0 I 0,0 0,0 0:00.00 rcu_tasks_trace_kthread 14 root 20 0 0 0 0 S 0,0 0,0 0:00.20 ksoftirqd/0 15 root 20 0 0 0 0 I 0,0 0,0 0:02.32 rcu_preempt 16 root rt 0 0 0 0 S 0,0 0,0 0:00.00 migration/0 18 root 20 0 0 0 0 S 0,0 0,0 0:00.00 cpuhp/0 19 root 20 0 0 0 0 S 0,0 0,0 0:00.00 cpuhp/1 20 root rt 0 0 0 0 S 0,0 0,0 0:00.25 migration/1 21 root 20 0 0 0 0 S 0,0 0,0 0:00.17 ksoftirqd/1 23 root 0 -20 0 0 0 I 0,0 0,0 0:00.00 kworker/1:0H-events_highpri 26 root 20 0 0 0 0 S 0,0 0,0 0:00.00 kdevtmpfs 27 root 0 -20 0 0 0 I 0,0 0,0 0:00.00 inet_frag_wq 28 root 20 0 0 0 0 S 0,0 0,0 0:00.00 kauditd 29 root 20 0 0 0 0 I 0,0 0,0 0:00.01 kworker/1:1-cgroup_destroy 30 root 20 0 0 0 0 S 0,0 0,0 0:00.00 khungtaskd 31 root 20 0 0 0 0 S 0,0 0,0 0:00.00 oom_reaper
Es ist ein NUC aus dem Jahr 2020. Kann man die Generation und den Typ über die Konsole auslesen?
Das Frontend ist ein i7 Gen 5 - Gibt es Browser Empfehlungen für iob?
Bis auch 3 Adapter ist alles aktuell -
@toki1973 bitte noch iob diag full
-
@toki1973
Hast du den device-watcher im Einsatz?
Wenn ja deaktiviere den mal testweise. Da gab es vor kurzem eine Problem dass er den js-controller dicht gemacht hat. -
@mcm57 Device Watcher habe ich nun mal deaktiviert - scheint schon besser zu sein.
Als nächstes dann auf Redis umstellen. -
@mcm57 ist doch schon längst korrigiert
-
@homoran
Das diag sagt das node js nicht korrekt installiert ist:Recommended versions are nodejs 18.19.0 and npm 10.2.3 *** nodejs is NOT correctly installed *** Wrong installation path detected. This needs to be fixed. Please check https://forum.iobroker.net/topic/35090/howto-nodejs-installation-und-upgrades-unter-debian for more information on how to fix these errors.
Damit bekomme ich keine neuer Version:
sudo apt update sudo apt upgrade
-
@toki1973 sagte in Performance verbessern:
https://forum.iobroker.net/topic/35090/howto-nodejs-installation-und-upgrades-unter-debian
Augen auf.. da stehen alle informationen
-
Die Verzeichnisse sind korrekt:
======================= SUMMARY ======================= v.2023-10-10 Static hostname: iobroker Icon name: computer-vm Chassis: vm 🖴 Virtualization: kvm Operating System: Debian GNU/Linux 12 (bookworm) Kernel: Linux 6.1.0-16-amd64 Architecture: x86-64 Hardware Vendor: QEMU Hardware Model: Standard PC _i440FX + PIIX, 1996_ Firmware Version: rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org Installation: kvm Kernel: x86_64 Userland: amd64 Timezone: Europe/Berlin (CET, +0100) User-ID: 1000 X-Server: false Boot Target: graphical.target Pending OS-Updates: 0 Pending iob updates: 0 Nodejs-Installation: /usr/bin/nodejs v18.19.0 /usr/bin/node v18.19.0 /home/iobroker/.diag.sh: line 488: npm: command not found /home/iobroker/.diag.sh: line 489: npx: command not found /home/iobroker/.diag.sh: line 490: corepack: command not found Recommended versions are nodejs Unable to enable Expiry Keyspace events from Redis Server: Connection is closed. Connection is closed. and npm *** nodejs is NOT correctly installed *** Wrong installation path detected. This needs to be fixed. Please check https://forum.iobroker.net/topic/35090/howto-nodejs-installation-und-upgrades-unter-debian for more information on how to fix these errors. MEMORY: total used free shared buff/cache available Mem: 6.3G 3.7G 1.4G 524K 1.5G 2.6G Swap: 1.0G 3.2M 1.0G Total: 7.4G 3.7G 2.4G Active iob-Instances: 35 Active repo(s): stable ioBroker Core: js-controller 5.0.17 admin 6.12.0 ioBroker Status: iobroker is running on this host. Objects type: jsonl States type: jsonl Status admin and web instance: + system.adapter.admin.0 : admin : iobroker - enabled, port: 8081, bind: 0.0.0.0, run as: admin system.adapter.web-speedy.0 : web-speedy : iobroker - disabled + system.adapter.web.0 : web : iobroker - enabled, port: 8082, bind: 0.0.0.0, run as: admin system.adapter.web.1 : web : iobroker - disabled, port: 8082, bind: 0.0.0.0, run as: admin Objects: 118184 States: 91554 Size of iob-Database: 82M /opt/iobroker/iobroker-data/objects.jsonl 152M /opt/iobroker/iobroker-data/states.jsonl =================== END OF SUMMARY ====================
-
a) schrieb ich GAB
b) weiss ich nicht ob dieser user im latest unterwegs ist und den Performanceeinfluss gab es schon vor dem fehlerhaften Update mit der aktuellem stable - zumindest gab es es ein7ge (wenige) diesbezügliche Meldungen / Vermutungen. Da das testweise deaktivieren kaium Azfwand darstellt ist ein diesbezüglicher Test m.E. sinnvoll.
Und ja
Das fehlerhafte Update mit massivstem Einfluss wurde super rasch korrigiert. 1a Reaktion - besser gegrs nicht. Aber wie geschrueben betrifft das derzeit die latest Schiene. -
@toki1973 sagte in Performance verbessern:
home/iobroker/.diag.sh: line 488: npm: command not found
bitte eigenen Thread aufmachen, wenn nach lesen der angepinnten Ankündigungen noch fragen sind.
Die wichtigen Infos stehen auch nicht in der Summary.EDIT: Ist ja schon dein Thread, sorry!
aber ich hatte ja nach full gefragt -
@toki1973 sagte in Performance verbessern:
Die Verzeichnisse sind korrekt:
Schon. Für nodejs und node jedenfalls. Dafür fehlt dir npm, npx und corepack komplett.
Da wirst du dir die dfsg-Version des Pakets 'nodejs' eingehandelt haben.
Siehe:
https://forum.iobroker.net/topic/71478/plötzliche-probleme-durch-nodejs-dfsg-version-npm-fehlt -
@thomas-braun Vielen Dank mal wieder! Auf diesem Weg wurde es repariert!
Das ist der Nachteil von regelmäßigen Updates -
@toki1973 sagte in Performance verbessern:
Das ist der Nachteil von regelmäßigen Updates
In dem Fall ist es aber kein 'Fehler' gewesen, denn dein Paketmanager hat genau das getan, was er tun soll: Die aktuellste Version die in den Repos bereitgestellt wird einspielen. Das die dfsg-Version nicht die für den ioBroker passende Variante darstellt kann der nicht wissen.
-
Hi an alle,
hab hier auch nochmal ein Thema bzgl. Performance.....mein System müsste anhand der Hardware und den in der VM gegebenen Ressourcen deutlich leistungsfähiger sein, der Aufruf z.b. der Objekte oder anderer Seiten im Browser ist manchmal sehr zäh......
Alles ist auf Redis am laufen ( Objekte und States)
Anbindung an die VM ist mit 10GbIobroker VM auf ESXi 7 am laufen mit folgenden Specs :
Dual Socket System mit 16 Cores
16 GB RamIobroker Diag Full Summary sieht wie folgt aus :
======================= SUMMARY ======================= v.2023-10-10 Static hostname: IOBROKER-MASTER Icon name: computer-vm Chassis: vm 🖴 Virtualization: vmware Operating System: Debian GNU/Linux 12 (bookworm) Kernel: Linux 6.1.0-17-amd64 Architecture: x86-64 Hardware Vendor: VMware, Inc. Hardware Model: VMware Virtual Platform Firmware Version: 6.00 Installation: vmware Kernel: x86_64 Userland: amd64 Timezone: Europe/Berlin (CET, +0100) User-ID: 1000 X-Server: false Boot Target: graphical.target Pending OS-Updates: 17 Pending iob updates: 1 Nodejs-Installation: /usr/bin/nodejs v18.19.0 /usr/bin/node v18.19.0 /usr/bin/npm 10.2.3 /usr/bin/npx 10.2.3 /usr/bin/corepack 0.22.0 Recommended versions are nodejs 18.19.0 and npm 10.2.3 Your nodejs installation is correct MEMORY: total used free shared buff/cache available Mem: 12G 8.0G 1.2G 3.2M 3.6G 4.5G Swap: 2.1G 285M 1.9G Total: 14G 8.3G 3.0G Active iob-Instances: 76 Active repo(s): stable ioBroker Core: js-controller 5.0.17 admin 6.13.16 ioBroker Status: iobroker is running on this host. At least one iobroker host is running. Objects type: redis States type: redis Status admin and web instance: + system.adapter.admin.0 : admin : IOBROKER-MASTER - enabled, port: 8081, bind: 0.0.0.0, run as: admin + system.adapter.web.0 : web : IOBROKER-MASTER - enabled, port: 8082, bind: 0.0.0.0, run as: admin + system.adapter.webcal.0 : webcal : IOBROKER-MASTER - enabled, port: 8082, bind: 0.0.0.0, run as: admin Objects: 56453 States: 48398 Size of iob-Database: 46M /opt/iobroker/iobroker-data/objects.jsonl 22M /opt/iobroker/iobroker-data/objects.json.migrated 22M /opt/iobroker/iobroker-data/objects.json.bak.migrated 612K /opt/iobroker/iobroker-data/states.json 260K /opt/iobroker/iobroker-data/states.json.bak =================== END OF SUMMARY ====================
Paar krumme "Hunde" mit drin, aber daran kann es ja nicht liegen oder ?
BTW : Kann nicht das volle Log posten , da immer ne Meldung kommt " payload too large" .......komisch, Server überlastet ?Danke für ne helping hand.......
GrüßeSunny
-
Naja, 76 laufende Instanzen halten auch vermeintliche Dickschiffe auf Trab. Stichwort i/o-Last.
-
@thomas-braun
Ja ist mir bewusst.....
was wäre Deine Empfehlung ?
Ram Auslastung und CPU Auslastung auf dem ESXI sieht eigentlich alles gut aus, da ist nichts am Limit...
Idee ?
Grüße und Danke
Sunny -
@sunny9999 sagte in Performance verbessern:
Ram Auslastung und CPU Auslastung auf dem ESXI sieht eigentlich alles gut aus, da ist nichts am Limit...
und bei
top
?