Wie leistungsfähig muss der Server sein?

Begonnen von Thomas X, 19 Februar 2018, 11:02:49

Vorheriges Thema - Nächstes Thema

Thomas X

Hallo zusammen,

ich habe in letzter Zeit immer wieder das Problem, dass nicht alle Tablets (mit Android und Fully betrieben) aktuelle Werte erhalten. Alles ist auf Shortpoll konfiguriert. Das ganze läuft auf einem Mini-PC mit Atom Z8350 CPU und 4 GB RAM. Folgende Eckdaten kann ich liefern, um die Leistungsanforderunge mal zu benennen:

- Homematic vCCU mit USB-Stick (an diesem Server)
- 26 Homematic Devices (Thermostate, Steckdosen, Fensterkontakte, Türschloss)
- JeeLink USB-Stick (an diesem Server)
- 12 Devices (Temperaturfühler) am Jeelink über 433 MHz (LaCrosse)
- 8 Steckdosen am Jeelink über 433 MHz (Elro)
- MQTT-Bridge und Server (auf diesem System) für 2x SonOff Steckdosen
- 2x AMAD für die beiden Tablets als Infodisplay und Bedienquelle
- beide Tablets haben Screens mit FTUI und jeweils ~ 35 angezeigte Stati bzw. Messwerte
- 1x Philips Hue Bridge für drei Leuchten
- 1x MiLight Bridge für vier Leuchten
- 2x VU+ Enigma Receiver
- 1x Yamaha AV-Receiver

= in Summe 62 Devices

Regelwerk:
- 11x AT-Timer (laufen max. 1x je Stunde)
- 36 Notify-Regeln
- 28 DOIF-Regeln

= in Summe 75 Regeln

CPU-Load ist im Normalfall bei ~ 0,06. Geht sporadisch kurz auf bis zu 0,70 rauf.
CPU-Idle ist im Normalfall bei ~ 97%. Geht sporadisch kurz auf bis zu 60% runter.

Kann es sein, dass diese Werte dazu führen, dass der FHEMWEB die Anfragen nicht mehr korrekt an die Tablets sendet und diese dann nicht mehr aktualisiert werden?

Welche Hardware setzt ihr für ähnliche Konfigurationen erfolgreich ein?

Viele Grüße
Thomas

isy

#1
Hallo Thomas,
ich nutze jede Menge IO's und Devices, in Summe meldet mein Fhem nach dem Neustart "270 defined entities"
IO's:
3 HM, CUL433, CUL_SlowRF, Fritzbox DECT, Fritzbox CallMonitor, Hue, Denon HEOS, Denon AVR, Enigma2, Solarview, IT, Amazon_DASH, Bluetooth, Telegram, Email, Weather, UWZ
Devices:
38 HM, 2 433er Thermometer, 5 IT Steckdoes, 2 DECT Steckdosen, 8 HUE Leuchten, 8 Dash Buttons, 2 G-Tags........
Sonstiges:
12 Plots, 18 FileLogs, 14 DOIF, 22 Notify, 1 Tablet mit andFhem

Alles auf Raspberry 2B auf SD-Karte.
Apptime max unter 50, CPU <10%

Das läuft  wie geschnitten Brot. Großen Respekt an die Entwicklung by the way.

Gruß Helmut
Ein Weg wird erst zu einem Weg, wenn man ihn geht

Wernieman

Zitatdass nicht alle Tablets
Wie viele Clients hast Du denn die Anfragen?

Leider sagst Du nicht alle Angaben. Interessant ist z.B. auch der Speicherverbrauch (free,vmstat), IO-Belastung (iostat), Netzwerkbelastung etc.

Von den Bisher gegebenen Daten ist Dein System nicht ausgelastet.

Btw:
Bezüglich load:
https://de.wikipedia.org/wiki/Load
Die Load ist nicht als "Belastung" des Systemes zu sehen. load bedeutet nur, die auf iO-Wartenden Prozesse.

Habe schon beruflich auf Servern gearbeitet, welche eine load von >10.000 hatten. Trotzdem waren die Server geschmeidig. Dagegen kann ein Server mit Load=2 schon Tot sein.

1. Fall: War ein Webserver, wo die php-Prozesse auf einen TOTE (externe) DB warteten.
2. Fall: War ein DB-Server (Nicht der von Fall 1). 
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Tedious

#3
Ich denke mal die Frage ist was der Rechner ausser FHEM sonst noch so alles übernehmen soll. Mein System steht in der Sig, FHEM meldet nach dem Start

ZitatServer started with 299 defined entities

FHEM und MySQL laufen nativ auf dem Rechner, dazu noch der LMS mit rund 300GB Musik in der DB. Parallel läuft eine HA-Bridge und Portainer in Docker Containern. Hat noch reichlich Luft für neue Aufgaben, hier die CPU-Stats:

tat_cpu
28479151 245550 27781333 843417033 47025516 0 2303809
2018-02-20 09:25:15
stat_cpu0
13832831 59427 16489713 199279834 7431221 0 307607
2018-02-20 09:25:15
stat_cpu0_diff
1313 57 407 23471 1426 0 37
2018-02-20 09:25:15
stat_cpu0_percent
4.92 0.21 1.52 87.87 5.34 0.00 0.14
2018-02-20 09:25:15
stat_cpu0_text
user: 4.92 %, nice: 0.21 %, sys: 1.52 %, idle: 87.87 %, io: 5.34 %, irq: 0.00 %, sirq: 0.14 %
2018-02-20 09:25:15
stat_cpu1
3526582 78086 2831917 221213148 8799934 0 1471975
2018-02-20 09:25:15
stat_cpu1_diff
822 53 372 23605 1779 0 25
2018-02-20 09:25:15
stat_cpu1_percent
3.08 0.20 1.40 88.55 6.67 0.00 0.09
2018-02-20 09:25:15
stat_cpu1_text
user: 3.08 %, nice: 0.20 %, sys: 1.40 %, idle: 88.55 %, io: 6.67 %, irq: 0.00 %, sirq: 0.09 %
2018-02-20 09:25:15
stat_cpu2
6193132 55148 5230374 211609992 13123636 0 356078
2018-02-20 09:25:15
stat_cpu2_diff
1111 21 300 23455 1702 0 49
2018-02-20 09:25:15
stat_cpu2_percent
4.17 0.08 1.13 88.05 6.39 0.00 0.18
2018-02-20 09:25:15
stat_cpu2_text
user: 4.17 %, nice: 0.08 %, sys: 1.13 %, idle: 88.05 %, io: 6.39 %, irq: 0.00 %, sirq: 0.18 %
2018-02-20 09:25:15
stat_cpu3
4926605 52888 3229328 211314058 17670724 0 168148
2018-02-20 09:25:15
stat_cpu3_diff
1122 20 365 23010 2191 0 18
2018-02-20 09:25:15
stat_cpu3_percent
4.20 0.07 1.37 86.10 8.20 0.00 0.07
2018-02-20 09:25:15
stat_cpu3_text
user: 4.20 %, nice: 0.07 %, sys: 1.37 %, idle: 86.10 %, io: 8.20 %, irq: 0.00 %, sirq: 0.07 %
2018-02-20 09:25:15
stat_cpu_diff
4367 152 1444 93541 7097 0 129
2018-02-20 09:25:15
stat_cpu_percent
4.09 0.14 1.35 87.64 6.65 0.00 0.12
2018-02-20 09:25:15
stat_cpu_text
user: 4.09 %, nice: 0.14 %, sys: 1.35 %, idle: 87.64 %, io: 6.65 %, irq: 0.00 %, sirq: 0.12 %
2018-02-20 09:25:15


FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...

Thomas X

Vielen Dank für Euer Feedback. Es scheint in der Tat nicht die Auslastung des Servers zu sein. Hätte mich eigentlich auch gewundert.

Um die Info noch nachzureichen: Ich habe zwei Tablets als Dauer-Client (24x7) und dann das eine oder andere Handy / Notebook als zeitweiligen Client für Bedienung. Es handelt sich immer um das gleiche Tablet, welches dann nicht mehr die aktuellen Werte bekommt. Ich bin inzwischen fast der Meinung, dass das an meiner HTML liegen muss.

Entweder zu viele Werte auf einer Seite, obwohl man im Netz viele Beispiele findet, die ebenfalls viele Werte anzeigen. Was schon zu einer Besserung geführt hat, ist das Entfernen des Wallpapers auf der Seite. Ich werde die Seite jetzt nochmal auf einem anderen Gerät anzeigen lassen und dann mal vergleichen.

Viele Grüße
Thomas

Wernieman

ZitatEs handelt sich immer um das gleiche Tablet, welches dann nicht mehr die aktuellen Werte bekommt.
Oder es liegt am Tablet ....

Wenn es nicht mehr aktuell ist, hat es noch Netz-Verknüpfung? Es ist bestimmt per WLAN-angebunden?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Thomas X

#6
Ja, es ist an WLAN angebunden. Hat aber einen sehr guten Empfang. Das Tablet habe ich auch schon getauscht. War vorher ein Acer 10" und ist nun ein Trekstor 13,3". Bei beiden war das gleiche Problem. WLAN ist auch durchgängig verbunden. Ich habe das mit Zabbix im Monitoring.

Zur Verfolständigung und Info für alle Leser: Bei mir sind "374 defined entities" in FHEM. Hier noch ein paar Werte:

vmstat:
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
0  0      0 367864 264908 2751804    0    0     4    52    1   11  1  1 98  1  0


iostat:
Linux 4.4.0-112-generic (gobo)  20.02.2018      _x86_64_        (4 CPU)

20.02.2018 13:57:10
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0,84    0,01    0,62    0,55    0,00   97,98

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
mmcblk0           0,07     4,47    0,62   13,55    14,94   402,43    58,92     0,05    3,48    0,59    3,61   1,68   2,38
mmcblk0rpmb       0,00     0,00    0,00    0,00     0,00     0,00     8,00     0,00    0,00    0,00    0,00   0,00   0,00
mmcblk0boot1      0,00     0,00    0,00    0,00     0,00     0,00     8,00     0,00    1,15    1,15    0,00   1,15   0,00
mmcblk0boot0      0,00     0,00    0,00    0,00     0,00     0,00     8,00     0,00    1,12    1,12    0,00   1,12   0,00


sar:
Linux 4.4.0-112-generic (gobo)  20.02.2018      _x86_64_        (4 CPU)

13:57:50        CPU     %user     %nice   %system   %iowait    %steal     %idle
13:57:52        all      1,13      0,00      1,64      0,38      0,00     96,86
13:57:54        all      2,01      0,00      1,13      0,63      0,00     96,24
13:57:56        all      1,13      0,00      0,88      0,50      0,00     97,49
13:57:58        all      1,51      0,00      0,76      0,50      0,00     97,23
13:58:00        all      1,63      0,00      0,50      0,50      0,00     97,37
Average:        all      1,48      0,00      0,98      0,50      0,00     97,04


Thomas X

Hallo zusammen,

das Problem konnte ich in den letzten Stunden genauer lokalisieren. Ich habe noch zwei PCs auf die gleiche Seite angesetzt. Beide PCs sind aktuell nur das Tablet nicht. Also liegt es entweder am Tablet, obwohl das schon getauscht ist, oder an Fully. Mal schauen. Ich teste jetzt weiter, das hat aber dann nichts mehr mit diesem Thread zu tun.

Der Server ist nicht das Problem und rennt gut.

Wernieman

Was hast Du für ein io-System im Server?

Was mich etwas wundert ist das dauernde iowait von ~0,5% (Nicht schlimm, wundert mich nur)
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Thomas X

Ist eine eMMC mit 32 GB, die in dem China-PC halt drinnen war. Ich wollte da jetzt nicht noch eine SSD einbauen.

Das System ist die Chuwi HiBox.

Wernieman

Egal das es "China" ist .. aber ein io von 0,5% bei einer eMMC ist auffällig .. das System macht nur FHEM?

Ist aber Gundsätzlich O.K:
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Tedious

Ich sags mal so... auf so einer Kiste im Netzwerk hatte ich mal MySQl ausgelagert. Aber nicht lange, die Zugriffe waren dermaßen grottig, und im Sommer gab es immer Temperaturprobleme und Throtteling...
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...

Thomas X

Ist schon klar, dass die eMMC nicht super performt. Kommt vom IO-Verhalten etwas über einen RasPI mit SD-Karte. Ich überlege derzeit einen MiniPC mit J3455 und SSD einzusetzen. Dann würde ich auch FHEM auf MySQL wechseln und meine Zabbix-Server mit drauf machen.

Da warte ich aber noch auf einen guten Preis.  ;)


Wernieman

#13
Beu mir läuft das alles auf einem Zotac CI320 ... war eine super Investition
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Tedious

Eine "fertige" Box mit N3050 oder N3150 liegt knapp über 100€, unabhängig vom Hersteller. Bisschen Ram rein, ggf. eine 2.5 HD aus der Grabbel- und Restekiste rein, denn hat man für unter 150€ was performantes und stabiles gebaut. Stromverbrauch zwischen 7 und 8W.
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...