Performance Optimierungen?

Hallo,

ich nutze das Webfront auf einen RaspberryPI und Chromium als zentrale Visualisierung für unser Haus. Das klappt soweit auch ganz gut. Chromium ist allerdings fast immer auf 100% CPU Auslastung, was manchmal zu Verzögerungen führt.

Im Webfront habe ich diverse Schalter und Daten wie Temperatur, Stromverbrauch etc. Teilweise zeige ich diese Daten auch als Graphen an, die mit dem Aktualisierungsintervall 300 Sekunden eingestellt sind.

Welche Möglichkeiten gibt es denn, die Performance des Webfront in Chromium weiter zu optimieren? Ich selbst kann mir nicht so recht erklären, was bei einer Aktualisierung alle 300 Sekunden so rechenintensiv sein sollte?

Für jeden Hinweis bin ich dankbar.

Danke und Grüße

Frank.

Das kommt mehr auf die Scripte an, die dahinter stecken.
Vlt. kannst du mal was davon veröffentlichen, sonst ist das eher im Nebel raten.

Hast du den Webfront-Editor akitv ?
Wenn ja deaktiviere ihn mal. Dann sollte zumindest nicht mehr der ganze Objektbaum mit allen Infos übertragen werden, sondern nur der sichtbare Teil.

Ich weiß nicht ob Chromium die Entwicklertools dabei hat. Sonst kannst du normalerweise mit F12 dir z.B. die Ladezeiten vom IPS-Server und andere Prozesse des Browsers anschauen.

Wenn es sich den Graphen um Highcharts Graphen handelt, so rendert es der Browser.
Dies ist relativ rechenintensiv, zumal die Highcharts-Quellen (Der JavaScrip-Code) zumeist direkt extern von Highcharts geladen wird. Wenn du es nicht umgestellt hast.

Michael

Das WebFront müsste schon extrem groß sein oder viele HTMLBoxen, Kamera oder externe Seiten enthalten, damit es inperformant läuft. Dagegen lässt sich dann aber nicht so viel machen - der Pi ist was das angeht leider trotz vier Kernen nicht der schnellste.

paresy

Vielen Dank für Eure schnellen Antworten. Ich konnte leider erst heute antworten, da wir aktuell DSL Probleme haben.

Ich hatte gleich den Tipp mit „Editor ausschalten“ probiert. Direkt danach hatte ich auf „Alle Webfronts neu laden“ geklickt und konnte bei PI zusehen, wie die CPU Last von 100% auf 6% abgesunken ist. Das war also ein echter Volltreffer.

Am nächsten Morgen war die Sache aber wieder vorbei und die 100% Last war wieder da. Inzwischen habe ich herausgefunden, dass nur „Webfronts neu laden“ diesen Effekt reproduzierbar erzeugt.

Ich habe außerdem im Firefox nachgesehen, was da an Daten übertragen wird. Es tickern sekündlich Daten zum Webfront wie im Anhang zu sehen. Das scheint mir ein ordentlicher Traffic zu sein, wen man bedenkt, dass sich die Inhalte des Webfronts kaum verändern.

Wo kommt das her? Werden bspw. die Aktualisierungsintervalle der Variablen in IPS so auch 1:1 im Webfront abgebildet? Beispiel: Ich aktualisiere die Temperatur in IPS jede Sekunde. Erzeugt das dann automatisch ein Push vom Server an das Webfront ebenfalls in jeder Sekunde?

Danke für Eure Hilfe!

Nix push von Server.
Das WebFront pollt jede Sekunde und holt alle Änderungen der Objekte in seinem Zugriff.
Michael

Wie arbeitet eigentlich die Aktualisierung der Graphen im Webfront?

Ich habe eine Seite mit insgesamt 6 Graphen, die verschiedene Temperaturen im Tagesverlauf anzeigen. Das funktioniert soweit auch sehr gut aber…Wenn ich diese Seite nicht permanent offen habe und - sagen wir mal - 6 Stunden eine andere Seite des Webfront geöffnet hatte, sehe ich beim Rücksprung auf die Temperatur-Seite die Werte von vor 6 Stunden. Es dauert dann manchmal Minuten, bis die aktuellen Werte angezeigt werden.

Was passiert da? Kann ich das Verhalten irgendwie beeinflussen?

Danke für Eure Hilfe.