Das ist lustig. Also, ja, die Plots werden immer gefüllt. Ich dachte ich stoppe mal schnell die Zeit um festzustellen, dass die Ladezeiten völlig uneinheitlich sind: 5 s, 13 s, sogar 65 s waren dabei.
Viele Grüße,
Jürgen
Ankündigung
Einklappen
Keine Ankündigung bisher.
Plot lädt bei Page Reload nicht
Einklappen
X
-
Hallo klotzek,
na tollLeider liegt es nicht an den Antwortenzeiten der Datenbank - das war hier die Vermutung und Hoffnung.
Dann müssen wir mal weiterforschen.
Wie verhält sich Deine Seite wenn Du sie zum ersten mal öffnest. Werden die Plots nach einer längeren Wartezeit gefüllt oder gar nicht ?
Gruss
Andre
Einen Kommentar schreiben:
-
Hallo klotzek,
eine Antwortzeit von 1 Sekunde und weniger ist super, das kann ich fast nicht glauben. Auf was für einer Hardware läuft Deine shNG-Instanz ?
Bei mir
Kannst Du am Ende des Code-Snippets mal noch folgendes hinzufügen :
Code:print ("Anzahl Einträge : " + str(len(result['series'])))
Bei mir liefert eine Abfrage auf ein Item welches erst seit 3 Monaten befüllt wird folgendes Ergebnis - dauert also ca. 4-5 Sekunden
Code:Start der DB-Abfrage :01/24/2023, 15:12:47 Ende der DB-Abfrage :01/24/2023, 15:12:51 {'cmd': 'series', 'series': [(1668769455438, 0.0), (1668959859140, 0.01.......................... Anzahl Einträge : 718
Andre
Einen Kommentar schreiben:
-
Hallo bmx. Danke für den Hinweis. Das Plugin kannte ich gar nicht.....
Einen Kommentar schreiben:
-
Er meint das Executor Plugin, dort kannst Du Python Code im Kontext von SHNG laufen lassen.
Einen Kommentar schreiben:
-
Hallo Andre,
sorry for late. Ich hab noch nicht ganz verstanden, wo das snippet rein soll. In die __init__.py des database plugings? Und: Würde eine Ausgabe ins log nicht mehr Sinn machen?
Viele Grüße,
Jürgen
Einen Kommentar schreiben:
-
Hi klotzek,
ich in im Moment gemeinsam mit wvhn an der Ursachenforschung für dieses Verhalten. Könntest Du bitte mit folgendem Code im Executor-Plugin
die Laufzeit Deiner Datenbankabfrage ermitteln (ich hoffe ich habe keinen Typo drin). Am besten diese Laufzeitmessung auch für das zweite "Klopper"-Item durchführen.
Es wäre schön wenn Du uns die Ergebnisse mitteilen könntest, besten Dank.
Code:from datetime import datetime result = "" myItem = sh.return_item('EG.Oekonomie.Temp_Scheune.ist') print ("Start der DB-Abfrage :" + datetime.now().strftime("%m/%d/%Y, %H:%M:%S")) result= myItem.series("avg",start="9y", end="now",count=36500) print ("Ende der DB-Abfrage :" + datetime.now().strftime("%m/%d/%Y, %H:%M:%S")) print(result)
Besten Dank
Viele Grüsse
Andre
Einen Kommentar schreiben:
-
Hallo Martin,
bedaure, aber ich verwende SQLite.
Viele Grüße,
Jürgen
Einen Kommentar schreiben:
-
Welche Datenbank ist im Einsatz? Ich kämpfe gerade mit einem anderen Problem, welches bei mysql auftritt, da pymysql nur einen cursor je Session unterstützt.
Ich denke daran, weil zwei große Abfragen dazu führen könnten, dass sie incht sequentiell abgearbeitet werden können, sondern die beiden Anfragen sich am Thema Datenbank Cursor verhakeln.
Einen Kommentar schreiben:
-
Hallo Wolfram,
das isses. Interessant ist, ich hab 2 dieser "Klopper" auf einer Seite. Das Verringern des Counts bei einem Diagramm genügt bereits, um beide Diagramme sofort anzuzeigen.
Viele Grüße,
Jürgen
Einen Kommentar schreiben:
-
Hallo Jürgen,
kannst Du mal testweise die Anzahl der Datensätze (count-Parameter) verringern? Wenn wir davon ausgehen, dass ein Datensatz rund 20 Byte hat, dann sind 36500 Datensätze rund 712 kiB allein für die Serie - 11 mal die Größe des Sendepuffers von 64kiB.
Ein Reload bricht die aktuelle Websocket-Verbindung einfach ab, während ein Seitenwechsel die aktuelle Serie beim Backend abbestellt und erst bei erneutem Aufruf wieder anfordert. Es kann sein, dass das shNG-Websocketmodul beim Reload aus dem Tritt kommt.
Wenn der Aufbau des Plots mit kleineren Datenmengen funktioniert, müssen wir das Thema im shNG-Forum weiter untersuchen.
Gruß
Wolfram
Einen Kommentar schreiben:
-
Hallo Wolfram,
ich habe den Chrome am Start.
Eine der letzten Meldungen der Konsole ist:Code:[io.smarthomeng] sending data: {"cmd":"series","item":"EG.Oekonomie.Temp_Scheune.ist","series":"avg","start":"9y","end":"now","count":"36500"}
Code:[io.smarthomeng] receiving data: {"cmd":"series","series":[[1389701081353,null],[1389704400000,3.9],[1389711600000,3.47],[1389722400000,2.95],[1389729600000,3.15],[1389736800000,3.15],[1389744000000,2.55],[1389751200000,1.65],[1389758400000,0.95],[1389765600000,0.83],[1389776400000,4.7],[1389783600000,5.55],[1389790800000,4.5],[.....
nginx: In error.log und access.log Nichts diesbezüglich.
Es ist weder ein Proxy, noch ein Reverse Proxy im Einsatz.
Viele Grüße,
Jürgen
Einen Kommentar schreiben:
Einen Kommentar schreiben: