RSS-Modul: Performance-Problem im Tagesverlauf

Begonnen von Raven, 04 September 2015, 18:42:02

Vorheriges Thema - Nächstes Thema

Raven

Servus,

ich verwende den HTML-Aufruf /fhem/rss/myrss.html i.V.m der WebViewControl app.
Mit Perform ist mir nun aufgefallen, daß sich im Laufe des Tages die Antwortzeiten verschlechtern und das liegt an dem minütlichen Aufruf des RSS-Moduls.
Mein RSS enthält neben eigenen Temperaturangaben auch 3 kleinere Charts, die den Temperaturverlauf, Öl- und Stromverbrauch des Tages darstellen.
Sollten die zusätzlichen Werte im Tagesverlauf wirklich die Ursache sein, daß sich die Performance im Laufe des Tages verschlechtert?

Oder verwendet Ihr einen anderen (RSS?) Ansatz, um diese Infos auf einem Tablet dauerhaft anzuzeigen.

Das ganze läuft auf einem Cubietruck mit HDD.


Mitternacht:
Zitat2015.09.04 00:05:57.097 1: Perfmon: possible freeze starting at 00:05:55, delay is 2.096
2015.09.04 00:07:00.381 1: Perfmon: possible freeze starting at 00:06:58, delay is 2.38
2015.09.04 00:08:03.275 1: Perfmon: possible freeze starting at 00:08:01, delay is 2.274
2015.09.04 00:09:06.106 1: Perfmon: possible freeze starting at 00:09:04, delay is 2.105
2015.09.04 00:10:09.423 1: Perfmon: possible freeze starting at 00:10:07, delay is 2.423
2015.09.04 00:11:12.431 1: Perfmon: possible freeze starting at 00:11:10, delay is 2.431

Mittags:
Zitat2015.09.04 11:22:41.313 1: Perfmon: possible freeze starting at 11:22:38, delay is 3.312
2015.09.04 11:23:46.503 1: Perfmon: possible freeze starting at 11:23:42, delay is 4.503
2015.09.04 11:24:51.114 1: Perfmon: possible freeze starting at 11:24:47, delay is 4.114
2015.09.04 11:25:56.287 1: Perfmon: possible freeze starting at 11:25:52, delay is 4.287
2015.09.04 11:27:00.661 1: Perfmon: possible freeze starting at 11:26:57, delay is 3.661
2015.09.04 11:28:05.691 1: Perfmon: possible freeze starting at 11:28:02, delay is 3.691
2015.09.04 11:29:10.643 1: Perfmon: possible freeze starting at 11:29:07, delay is 3.643

Abends:
Zitat2015.09.04 17:56:16.796 1: Perfmon: possible freeze starting at 17:56:12, delay is 4.796
2015.09.04 17:56:37.531 1: Perfmon: possible freeze starting at 17:56:33, delay is 4.531
2015.09.04 17:56:42.685 1: Perfmon: possible freeze starting at 17:56:39, delay is 3.684
2015.09.04 17:56:50.734 1: Perfmon: possible freeze starting at 17:56:46, delay is 4.734
2015.09.04 17:56:56.599 1: Perfmon: possible freeze starting at 17:56:52, delay is 4.599
2015.09.04 17:57:04.522 1: Perfmon: possible freeze starting at 17:57:00, delay is 4.522


Cubietruck-Prod: HM-LAN, Heizung, Rolläden, Schalter, Viessmann (optolink)
Cubietruck-DEV:
Fritzbox 7490

Dr. Boris Neubert

Hallo,

das ist nicht ungewöhnlich, da immer mehr Datenpunkte gerendert werden müssen, je später es wird. Dieser Effekt sollte bei Dir auch auftreten, wenn Du die Plots im Browser rendern lässt.

Attribut plotFork zur Parallelisierung könnte helfen, wenn Dein Rechner beim Rendern noch nicht voll ausgelastet ist.

Viele Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

Raven

Vielen Dank Boris für den Hinweis bzgl. Plotfork!

Alles Plots werden nun rasend schnell im Webfrontend erstellt.
Allerdings meldete Perform auch bereits vor der Plotfork-Aktivierung keine "Hänger" bei den Browser-Aufrufen (nur verständlicherweise im Raum "Everything").

Die Laufzeiten im RSS-Modul sind dagegen unverändert. Nach Deaktivierung der Plots im RSS-Modul fällt mir auf, daß die RSS-Erstellung an sich schon eine hohe Grundlast erzeugt. Mit den Plots benötigt das RSS-Modul ca. 4sec., ohne dagegen bereits ca. 2sec. heute morgen. Ist dies normal? Erzeugen meine restlichen Abfragen so eine hohe Last?

Ich verwende überwiegend diese Art von Abfragen:
Zitatcondition {(ReadingsVal('ANLAGE_STATUS','state','?') eq 'aus')}
rgb "0FF325"
text 10 320 "Alarmanlage aus!"

condition {(ReadingsVal('ANLAGE_STATUS','state','?') eq 'ein')}
rgb "F3210A"
text 10 320 "Alarmanlage ein!"
condition 1

condition { ReadingsVal("Kontakt_Garagentor","state","?") eq "open" }
rgb "FF0000"
moveby 0 20
text 10 y { "Garagentor" }
text 80 y { timedifferenz(ts2text(ReadingsTimestamp("Kontakt_Garagentor","state","?"))) }

moveby 0 20
text 250 y { "Flur" }
text 320 y { ReadingsVal("Heizung_Flur","measured-temp","?")."°C" }
moveby 0 20
text 250 y { "Küche" }
text 320 y { ReadingsVal("Heizung_Kueche","measured-temp","?")."°C" }
moveby 0 20
text 250 y { "EZ" }
text 320 y { ReadingsVal("Heizung_EZ","measured-temp","?")."°C" }
moveby 0 20
text 250 y { "WZ" }
text 320 y { ReadingsVal("Heizung_WZ","measured-temp","?")."°C" }


Mit Plots
Zitat2015.09.06 10:08:27 1: Perfmon: possible freeze starting at 10:08:24, delay is 3.792
2015.09.06 10:09:31 1: Perfmon: possible freeze starting at 10:09:28, delay is 3.814
2015.09.06 10:10:35 1: Perfmon: possible freeze starting at 10:10:32, delay is 3.901

Ohne Plots
Zitat2015.09.06 10:44:30 1: Perfmon: possible freeze starting at 10:44:29, delay is 1.768
2015.09.06 10:45:32 1: Perfmon: possible freeze starting at 10:45:31, delay is 1.853
2015.09.06 10:46:35 1: Perfmon: possible freeze starting at 10:46:34, delay is 1.402
Cubietruck-Prod: HM-LAN, Heizung, Rolläden, Schalter, Viessmann (optolink)
Cubietruck-DEV:
Fritzbox 7490