CALENDAR sehr langsam

Begonnen von Merlin123, 13 März 2017, 15:26:38

Vorheriges Thema - Nächstes Thema

Merlin123

Nachdem ich immer mal wieder Hänger hab, hab ich mal mit Perfmon und apptime geschaut und das festgestellt:


Oli_Kal       CALVIEW_Notify  50839     24   101513  4229.71      0 HASH(Oli_Kal); HASH(Kalender_Oliver)
Kalender_Oliver         Calendar_Get    275    612    99128   161.97      0 HASH(Kalender_Oliver);  ; uid; next


Die Def sieht so aus:

define Kalender_Oliver Calendar ical url https://calendar.google.com/calendar/ical/horgul123%40gmail.com/private-a1f044xxxxxxx/basic.ics
attr Kalender_Oliver hideOlderThan 10
define Oli_Kal CALVIEW Kalender_Oliver 1 3600
attr Oli_Kal maxreadings 10
attr Oli_Kal modes next


Gibt es da ne Möglichkeit das zu beschleunigen? Wieso ist das so langsam?
Ich würde noch verstehen, wenn Calendar langsam wäre, aber Calview zeigt ja nur an..... (und sucht die letzten 10 Einträge)
Gruß,
Oliver

tomster

Is bei mir auch so. Gerade nach einem Neustart ist FHEM für eine ganze Weile "blockiert". Ist aber bei den Calendars auch so. Drum hab ich die Intervalle unterschiedlich gewählt, damit es "im Betrieb" nicht so auffällt.

P.S. Wär aber wohl im entsprechenden Thread besser aufgehoben...

Merlin123

Welcher Thread wäre das? Hab keinen passenden gesehen...
Gruß,
Oliver

tomster


Merlin123

Hmmm... Ich habe den erwähnten Thread als generellen Thread über das Modul gesehen. Finde auch "Monsterthreads", wo alles mögliche drin ist, sehr unübersichtlich. :)

Gruß,
Oliver

chris1284

Es wird calendar sein da calview bei update des calendars ein "get full next" auf dem calendar modul auslöst.
Die Ergebnisse selbst werden dann in calview recht simpel und schnell durchgearbeitet.

mach doch mal auf eurem calendar ein get full next und schaut wie lange das dauert.

leider gibt es in euren signaturen keine hardwareinfos somit denke ich mal das ihr schwächere sachen wie zb pi einsetzt.

Zitat von: tomster am 13 März 2017, 16:14:06
Is bei mir auch so. Gerade nach einem Neustart ist FHEM für eine ganze Weile "blockiert". Ist aber bei den Calendars auch so. Drum hab ich die Intervalle unterschiedlich gewählt, damit es "im Betrieb" nicht so auffällt.

das intervall zu verändern sollte den start 0 beeinflussen. calendar triggert nach dem fhemstart sein update innerhalb eines bestimmten zeitraumes zufällig (und dann natürlich auch calview pro calendarupdate).

chris1284

man sieht das sehr schön in apptime

Zitat
Oli_Kal                    CALVIEW_Notify  50839     24   101513  4229.71      0 HASH(Oli_Kal); HASH(Kalender_Oliver)
Kalender_Oliver         Calendar_Get       275    612    99128   161.97      0 HASH(Kalender_Oliver);  ; uid; next


von 101513 ms laufzeit calview verbrät der calendar schon 99128 ms = dass sind 97,65% der zeit die allein Calendar verballert

somit sollte der titel auf CALENDAR sehr langsam geändert werden  ;)

tomster

Zitat von: chris1284 am 14 März 2017, 12:24:27
das intervall zu verändern sollte den start 0 beeinflussen. calendar triggert nach dem fhemstart sein update innerhalb eines bestimmten zeitraumes zufällig (und dann natürlich auch calview pro calendarupdate).

Klar, beim Start bringt das Intervall nüschte. Da wird ja quasi jeder Prozeß zeitgleich gestartet. Aber im Betrieb hab ich seitdem eine deutliche "Entspannung" der Auslastung. Und wenn ich es mir so recht betrachte dann deutet wirklich alles daraufhin, dass Calendar der Verursacher ist...
Und ja, läuft auf einem Pi3.

Merlin123

#8
Zitat von: chris1284 am 14 März 2017, 12:27:02
man sieht das sehr schön in apptime


von 101513 ms laufzeit calview verbrät der calendar schon 99128 ms = dass sind 97,65% der zeit die allein Calendar verballert

somit sollte der titel auf CALENDAR sehr langsam geändert werden  ;)
Ah so ist das zu lesen.. Danke für die Info.
Und Du hast Recht bzgl. der Hardware. Ist ein Pi bei mir.

Kann man das irgendwie beschleunigen?

Würde ein Umstieg von meinem Pi A auf den Pi3 deutlich was ändern?
Gruß,
Oliver

chris1284

#9
Zitat von: Merlin123 am 14 März 2017, 13:16:41
Würde ein Umstieg von meinem Pi A auf den Pi3 deutlich was ändern?

das war der erste oder ist es ein A+?  ... mal die hw-daten vorweg





Pi APi A+Pi 3
CPU1x700MHz1x700MHz4x1200MHz
RAM256 MB512 MB1024 MB

Fazit: Unterschied wie tag und nacht vermutlich, auch was plots usw angeht.

es kommt auch drauf an wie viele calendar und was für einträge.

hast du mal gemessen was apptime sagt wenn du ein

wenn ich das so sehe sind es bei dir pro auf ruf der calendar get funktion ca 0,16 sekunden.
calview holt bei update für jeden calendar folgendes
-> uids der Termine holen:   get calendername uid next
-> für jede uid:  get calendername start uid, get calendername end uid, get calendername summary uid, get calendername location uid, get calendername description uid

das sind bei 4 terminen und 1 calendar

1 + (4x5) gets die ausgeführt werden -> 21 calendaraufrufe

kann man sich ja ausrechnen bei 4 kalendarn mit 4 serienterminen sind das 84 aufrufe.

gesamt dauert der calview vorgang durchschnittlich 4 sekunden.

https://wiki.fhem.de/wiki/Apptime

ich denke also das bei deinem fhem mit zb 4 kalendern und je einen update pro tag ca 20 sekundne blockiert wird
was apptime da sagt müssten 24 aufrufe von calview sein, getriggert durch ein updateevent eines calendars mit, mit einer zeit von 101 sekunden (1,8 minuten ca). wenn das spürbar wird hast du wohl zu viele calendar oder auch ein zu kurzes update intervall für dein system. ich weiss leider nciht wie lange apptime bei dir gemessen hat (1 Tag, 1h, 10 minuten??)

chris1284

Zitat von: tomster am 14 März 2017, 12:45:54
Klar, beim Start bringt das Intervall nüschte. Da wird ja quasi jeder Prozeß zeitgleich gestartet.

wenn du meinst das alle calendar gleichzeitig geladen werden ist das auch falsch da für jedes calendar device eine random timer generiert wird zu dem er das 1. update zieht (innerhalb der ersten 10 minuten meine ich), so habe ich boris damals verstanden um das lange starten zu unterbinden

tomster

OK, kann sein. Ich hab es nicht wirklich nachvollzogen. Fakt ist dennoch, dass FHEM beim Neustart einige Zeit braucht um sich bei ein paar Prozent CPU einzupendeln.
Und das liegt mit 98% Sicherheit an den Calendars; ob einer oder alle 3 kann ich nicht sagen.

P.S. Ich wollte nicht mosern, nur meine mit fundiertem Halb Nichtwissen erstellten Beobachtungen schildern ;-)

chris1284

habe oben noch was editiert zu der apptime sache wie ich es sehe.

ps: als mosern vertehe ich das auch nicht :-) alles gut

Merlin123

@Chris: apptime hat 3 oder 3 Stunden gemessen.... Welcher Pi genau weiß ich gar nicht mehr, aber ist ja auch nicht so relevant, welcher A das ist

ich frag mich einfach nur, wieso das so lange dauert. Andere Kalenderanwendungen (außerhalb von fhem) sind ja auch nicht so langsam ;)
Gruß,
Oliver