Performance
Moderator: Co-Administratoren
- wak
- Beiträge: 253
- Registriert: 05.05.2014, 00:21
- Hat sich bedankt: 2 Mal
- Danksagung erhalten: 31 Mal
Performance
Hallo Mathias,
ich habe immer wieder Performance bzw. Themperature Thema durch Historian und das ca. seit Version 2.4.0.
Nach 1-2 Tagen braucht Historian ca. 10-20 % der CPU, wenn auch nix los ist, und alle anderen Prozesse auf 0% stehn, sogar nach dem Neustart (STOP / START) braucht er nach einiger Erholungszeit immer noch 3%: Anbei noch eine Übersicht der letzten Woche, am 26. hab ich 2.5.1 und Raspberrymatic 3.53.30.20201024 eingespielt, und am 30. neugestartet. Kannt man irgendwie sehen, was Historian bzw. die Datenbank gerade für Prozesse laufen hat?
Im File-Lob sehe ich das all 2-5 Sek. ein Wert reinkommt und alle 5 Sek. werden Systemvarialben gelesen!
LG wak
ich habe immer wieder Performance bzw. Themperature Thema durch Historian und das ca. seit Version 2.4.0.
Nach 1-2 Tagen braucht Historian ca. 10-20 % der CPU, wenn auch nix los ist, und alle anderen Prozesse auf 0% stehn, sogar nach dem Neustart (STOP / START) braucht er nach einiger Erholungszeit immer noch 3%: Anbei noch eine Übersicht der letzten Woche, am 26. hab ich 2.5.1 und Raspberrymatic 3.53.30.20201024 eingespielt, und am 30. neugestartet. Kannt man irgendwie sehen, was Historian bzw. die Datenbank gerade für Prozesse laufen hat?
Im File-Lob sehe ich das all 2-5 Sek. ein Wert reinkommt und alle 5 Sek. werden Systemvarialben gelesen!
LG wak
-
- Beiträge: 1767
- Registriert: 03.11.2010, 10:25
- System: CCU
- Wohnort: Aachen
- Hat sich bedankt: 58 Mal
- Danksagung erhalten: 253 Mal
- Kontaktdaten:
Re: Performance
Der CCU-Historian an sich besitzt im Normalbetrieb (kein -compact oder -recalc aktiv) keine durchlaufenden Prozesse/Threads, die Last erzeugen. Jede Aktion wird auch geloggt. Die meiste Zeit schläft der CCU-Historian.
Bei der eingebetten Datenbank kann es aber schonmal sein, dass sie im laufenden Betrieb reorganisiert wird. Beobachtest Du auch viele Datenträgerzugriffe? Nach einem -compact der Datenbank sollte eigentlich Ruhe sein.
Gruß
Mathias
Bei der eingebetten Datenbank kann es aber schonmal sein, dass sie im laufenden Betrieb reorganisiert wird. Beobachtest Du auch viele Datenträgerzugriffe? Nach einem -compact der Datenbank sollte eigentlich Ruhe sein.
Gruß
Mathias
- wak
- Beiträge: 253
- Registriert: 05.05.2014, 00:21
- Hat sich bedankt: 2 Mal
- Danksagung erhalten: 31 Mal
Re: Performance
Hallo Mathias,
danke für deine Antwort, den -compact hatte ich erst letzte Woche mal getestet, hat aber nicht wirklich etwas gebracht.
Nach dem Neustart gestern war die CPU für Historian auf 2-3% heute bereits zwischen 5-8%.
Kann man den Historian File-Log-Level im Betrieb von INFO auf FINE oder FINEST ändern, sprich ohne neustart ändern ?
LG wak
danke für deine Antwort, den -compact hatte ich erst letzte Woche mal getestet, hat aber nicht wirklich etwas gebracht.
Nach dem Neustart gestern war die CPU für Historian auf 2-3% heute bereits zwischen 5-8%.
Kann man den Historian File-Log-Level im Betrieb von INFO auf FINE oder FINEST ändern, sprich ohne neustart ändern ?
LG wak
-
- Beiträge: 1767
- Registriert: 03.11.2010, 10:25
- System: CCU
- Wohnort: Aachen
- Hat sich bedankt: 58 Mal
- Danksagung erhalten: 253 Mal
- Kontaktdaten:
Re: Performance
Hallo wak,
die Komfigurationsdatei kann während des Betriebs geändert werden. Spätestens nach 30 Sekunden wird die neue Komfiguration geladen.
VG Mathias
die Komfigurationsdatei kann während des Betriebs geändert werden. Spätestens nach 30 Sekunden wird die neue Komfiguration geladen.
VG Mathias
- wak
- Beiträge: 253
- Registriert: 05.05.2014, 00:21
- Hat sich bedankt: 2 Mal
- Danksagung erhalten: 31 Mal
Re: Performance
Danke für die super schnelle Antwort, hat funktioniert, aber damit wird alles kurz gestoppt und wieder gestartet, obwohl ich nur den Level geändert habe:
2020-11-01 19:21:07|FINE |Stopping re-init task
2020-11-01 19:21:07|FINE |Stopping XML-RPC server
2020-11-01 19:21:07|INFO |Stopping BIN-RPC server on port 2099
2020-11-01 19:21:07|INFO |Stopping database
2020-11-01 19:21:16|INFO |Stopping base services
2020-11-01 19:21:16|FINE |Reading configuration file /usr/local/addons/ccu-historian/ccu-historian.config
2020-11-01 19:21:16|INFO |Starting base services
2020-11-01 19:21:16|INFO |Connecting to database
2020-11-01 19:21:18|INFO |Starting database web server
2020-11-01 19:21:18|INFO |Setting up device 1
2020-11-01 19:21:18|INFO |Creating HM script client for http://127.0.0.1:8181/tclrega.exe
2020-11-01 19:21:18|INFO |Setting up plug-in 1
2020-11-01 19:21:18|INFO |Configured following interfaces: BidCos-RF, HmIP-RF, SysVar, CUxD
2020-11-01 19:21:18|INFO |Starting interfaces
2020-11-01 19:21:18|INFO |Starting BIN-RPC server on port 2099
2020-11-01 19:21:18|INFO |Starting XML-RPC server on port 2098
2020-11-01 19:21:18|INFO |Connecting to 127.0.0.1:8701
2020-11-01 19:21:18|INFO |Starting historian
2020-11-01 19:21:18|INFO |Starting web server
2020-11-01 19:21:18|INFO |jetty-7.2.2.v20101205
2020-11-01 19:21:18|INFO |NO JSP Support for /, did not find org.apache.jasper.servlet.JspServlet
2020-11-01 19:21:18|INFO |Started SelectChannelConnector@0.0.0.0:8082
2020-11-01 19:21:18|INFO |Web server port: 8082
Ich gehe davon aus, das dann wieder meine CPU Auslastung bereits bereinigt ist, werde es mal versuchen.
Einiges habe ich bereits geändert:
devices.device1.sysVarDataCycle=60000 (vorher 5000)
database.pgEnable=false (vorher true)
historian.metaCycle=84600000
historian.bufferTime=3600000
und zusätzlich habe ich mal die Datenbank vom USB stick auf die Interne memory beim Thickerboard copiert.
Werde mal beobachten ob sich das jetzt ändert.
LG wak
2020-11-01 19:21:07|FINE |Stopping re-init task
2020-11-01 19:21:07|FINE |Stopping XML-RPC server
2020-11-01 19:21:07|INFO |Stopping BIN-RPC server on port 2099
2020-11-01 19:21:07|INFO |Stopping database
2020-11-01 19:21:16|INFO |Stopping base services
2020-11-01 19:21:16|FINE |Reading configuration file /usr/local/addons/ccu-historian/ccu-historian.config
2020-11-01 19:21:16|INFO |Starting base services
2020-11-01 19:21:16|INFO |Connecting to database
2020-11-01 19:21:18|INFO |Starting database web server
2020-11-01 19:21:18|INFO |Setting up device 1
2020-11-01 19:21:18|INFO |Creating HM script client for http://127.0.0.1:8181/tclrega.exe
2020-11-01 19:21:18|INFO |Setting up plug-in 1
2020-11-01 19:21:18|INFO |Configured following interfaces: BidCos-RF, HmIP-RF, SysVar, CUxD
2020-11-01 19:21:18|INFO |Starting interfaces
2020-11-01 19:21:18|INFO |Starting BIN-RPC server on port 2099
2020-11-01 19:21:18|INFO |Starting XML-RPC server on port 2098
2020-11-01 19:21:18|INFO |Connecting to 127.0.0.1:8701
2020-11-01 19:21:18|INFO |Starting historian
2020-11-01 19:21:18|INFO |Starting web server
2020-11-01 19:21:18|INFO |jetty-7.2.2.v20101205
2020-11-01 19:21:18|INFO |NO JSP Support for /, did not find org.apache.jasper.servlet.JspServlet
2020-11-01 19:21:18|INFO |Started SelectChannelConnector@0.0.0.0:8082
2020-11-01 19:21:18|INFO |Web server port: 8082
Ich gehe davon aus, das dann wieder meine CPU Auslastung bereits bereinigt ist, werde es mal versuchen.
Einiges habe ich bereits geändert:
devices.device1.sysVarDataCycle=60000 (vorher 5000)
database.pgEnable=false (vorher true)
historian.metaCycle=84600000
historian.bufferTime=3600000
und zusätzlich habe ich mal die Datenbank vom USB stick auf die Interne memory beim Thickerboard copiert.
Werde mal beobachten ob sich das jetzt ändert.
LG wak
- wak
- Beiträge: 253
- Registriert: 05.05.2014, 00:21
- Hat sich bedankt: 2 Mal
- Danksagung erhalten: 31 Mal
Re: Performance
Hallo Matthias,
das Performance Thema habe ich leider immer noch!
Meiner Meinung nach hat es mit folgendem Parameter "devices.device1.sysVarDataCycle" zu tun, wenn er gross wie 60000 ist, dann ist der Performance Verlust geringer, als wenn er 10000!
Derzeit starte ich den Historian Service täglich um 04:00 durch, wie man in der Grafik sieht, geht dann auch die Temperature wieder runter und im Verlauf des Tages wieder hoch. Die Systemvariablen hat ich bereits kontrolliert und besondere bereits gelöscht, hat leider auch nix gebracht.
Vielleicht hast du noch eine Idee, was hier falsch laufen könnte.
LG wak
das Performance Thema habe ich leider immer noch!
Meiner Meinung nach hat es mit folgendem Parameter "devices.device1.sysVarDataCycle" zu tun, wenn er gross wie 60000 ist, dann ist der Performance Verlust geringer, als wenn er 10000!
Derzeit starte ich den Historian Service täglich um 04:00 durch, wie man in der Grafik sieht, geht dann auch die Temperature wieder runter und im Verlauf des Tages wieder hoch. Die Systemvariablen hat ich bereits kontrolliert und besondere bereits gelöscht, hat leider auch nix gebracht.
Vielleicht hast du noch eine Idee, was hier falsch laufen könnte.
LG wak
Re: Performance
Sorry für die Offtopic aber wie konntest du deine Prozesse und deren CPU Last dir anzeigen lassen?
RasPi 4B 4GB
Addons: CCU-Historian, CUxD, hm-ioBroker, E-Mail, HVL, RedMatic
Addons: CCU-Historian, CUxD, hm-ioBroker, E-Mail, HVL, RedMatic
-
- Beiträge: 1767
- Registriert: 03.11.2010, 10:25
- System: CCU
- Wohnort: Aachen
- Hat sich bedankt: 58 Mal
- Danksagung erhalten: 253 Mal
- Kontaktdaten:
Re: Performance
Bezüglich Deiner CPU-Auslastung habe ich keine weitere Idee. Es ist aber kein generelles Problem, da es bei meinen Installationen bisher nicht aufgefallen ist. Aber wenn Du mir mal das Skript für die CPU-Auslastung geben könntest, dann kann ich nochmal genau nachprüfen.
-
- Beiträge: 3729
- Registriert: 23.09.2017, 12:04
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 119 Mal
Re: Performance
Soweit ich weiss, wird die geänderte Konfig übernommen, indem das Programm neu gestartet wird. Vielleicht hat sich Mathias da nur etwas ungenau ausgedrückt.
- wak
- Beiträge: 253
- Registriert: 05.05.2014, 00:21
- Hat sich bedankt: 2 Mal
- Danksagung erhalten: 31 Mal
Re: Performance
Hallo,
anbei das Shell-Script für die CPU% das ich verwende, habe es unter folgenden Pfad gespeicher: /www/addons/wak/cpustat.sh
Das wird all 3 Minuten mit folgendem Befehl via HM-Script gestartet:
Ich hoffe das hilft.
LG wak
anbei das Shell-Script für die CPU% das ich verwende, habe es unter folgenden Pfad gespeicher: /www/addons/wak/cpustat.sh
Code: Alles auswählen
#!/bin/sh
# Loggen von Systemvitalwerten und speichern dieser
# in CCU1 Systemvariablen zum Loggen und Auswerten
# mittels CCU-Historian
load5min1=`cat /proc/loadavg|cut -d " " -f 2|cut -d "." -f 1`
load5min2=`cat /proc/loadavg|cut -d " " -f 2|cut -d "." -f 2`
load5min=`expr $load5min1 \* 100 + $load5min2`
memfree=`cat /proc/meminfo | grep ^MemFree: | cut -b 18-24`
memcached=`cat /proc/meminfo | grep ^Cached: | cut -b 18-24`
memfreesum=`expr $memfree + $memcached`
proccount=`ps|grep "root"|wc -l`
ut=`cat /proc/uptime|cut -d "." -f 1`
uptime=`expr $ut / 86400`
cputemp=`cat /sys/class/thermal/thermal_zone0/temp | sed 's/.\{3\}$/.&/'`
echo "cculog_load5min.State " $load5min
echo "cculog_mem_free.State " $memfree
echo "cculog_mem_cached.State " $memcached
echo "cculog_mem_freesum.State " $memfreesum
echo "cculog_proccount.State " $proccount
echo "cculog_cputemp.State " $cputemp
echo "cculog_uptime.State " $uptime
tclWriteSysvar='load tclrega.so;
array set hms [rega_script {
dom.GetObject("'cculog_load5min'").State('$load5min');
dom.GetObject("'cculog_mem_free'").State('$memfree');
dom.GetObject("'cculog_mem_cached'").State('$memcached');
dom.GetObject("'cculog_mem_freesum'").State('$memfreesum');
dom.GetObject("'cculog_proccount'").State('$proccount');
dom.GetObject("'cculog_cputemp'").State('$cputemp');
dom.GetObject("'cculog_uptime'").State('$uptime');
}
];'
echo $tclWriteSysvar | /bin/tclsh -c
Code: Alles auswählen
! start ccu monitor script
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("/www/addons/wak/cpustat.sh");
LG wak