Discussion:
[vz-users] master aktualisiert
Andreas Goetz
2015-09-08 09:07:19 UTC
Permalink
Hallo Zusammen,

ich habe- bis auf das Refresh Control- alle Changes aus Dev nach Master
gemerged. Der letzte Stand vorher hat das Tag 0.4-final bekommen. Bei
Aktualisierungen ist Folgendes zu beachten:

- da sich die Pfade geÀndert haben muss fÌr Composer ein neuer Autoloader
generiert werden- composer update sollte das mit erledigen
- PHP 5.4 ist jetzt zwingende Voeraussetzung

Viele GrÌße,
Andreas
G. Stenzel
2015-09-12 08:46:44 UTC
Permalink
Hallo

ich habe gestern mal den Volkszähler per 'sudo git pull' aktualisiert.
Da etliche Dateien nicht zu überschreiben waren, habe ich noch
'sudo git fetch --all'
'sudo git reset --hard HEAD'
gemacht (als Lösung im Netz gefunden). Danach noch den Composer
aktualisiert.

Der Volkszähler lief dann auch wieder, allerdings dauern die Abfragen
sehr lange, z.B. eine Änderung im Diagrammzeitfenster oder eine
Browseranfrage an die middleware.
[IP]/middleware.php/capabilities/database.json gibt aus:
{"version":"0.3","capabilities":{"database":{"data_rows":371483,"data_size":109297664,"aggregation_enabled":1,"aggregation_rows":629133,"aggregation_ratio":0.59}}}

Kann mir bitte jemand helfen, die Performance wieder zu normalisieren?
Ich vermute mal, da ist beim update etwas schiefgegangen? Version
'0.3' müßte doch '0.4' sein, oder?

Viele Grüße
Gernot
Post by Andreas Goetz
Hallo Zusammen,
ich habe- bis auf das Refresh Control- alle Changes aus Dev nach Master
gemerged. Der letzte Stand vorher hat das Tag 0.4-final bekommen. Bei
- da sich die Pfade geändert haben muss für Composer ein neuer Autoloader
generiert werden- composer update sollte das mit erledigen
- PHP 5.4 ist jetzt zwingende Voeraussetzung
Viele Grüße,
Andreas
Andreas Götz
2015-09-12 10:44:40 UTC
Permalink
Moin,

Kannst Du mal bitte ein langsames MW Statement mit &debug=1 loggen? Was heisst langsam?

Viele Grüsse,
Andreas
Post by G. Stenzel
Hallo
ich habe gestern mal den Volkszähler per 'sudo git pull' aktualisiert.
Da etliche Dateien nicht zu überschreiben waren, habe ich noch
'sudo git fetch --all'
'sudo git reset --hard HEAD'
gemacht (als Lösung im Netz gefunden). Danach noch den Composer
aktualisiert.
Der Volkszähler lief dann auch wieder, allerdings dauern die Abfragen
sehr lange, z.B. eine Änderung im Diagrammzeitfenster oder eine
Browseranfrage an die middleware.
{"version":"0.3","capabilities":{"database":{"data_rows":371483,"data_size":109297664,"aggregation_enabled":1,"aggregation_rows":629133,"aggregation_ratio":0.59}}}
Kann mir bitte jemand helfen, die Performance wieder zu normalisieren?
Ich vermute mal, da ist beim update etwas schiefgegangen? Version
'0.3' müßte doch '0.4' sein, oder?
Viele Grüße
Gernot
Post by Andreas Goetz
Hallo Zusammen,
ich habe- bis auf das Refresh Control- alle Changes aus Dev nach Master
gemerged. Der letzte Stand vorher hat das Tag 0.4-final bekommen. Bei
- da sich die Pfade geändert haben muss für Composer ein neuer Autoloader
generiert werden- composer update sollte das mit erledigen
- PHP 5.4 ist jetzt zwingende Voeraussetzung
Viele Grüße,
Andreas
G. Stenzel
2015-09-12 11:36:38 UTC
Permalink
Hallo Andreas

Im Frontend dreht sich die Aktualisierungsanzeige oft sehr lange, bis
sich etwas ändert oder die Ansicht sich automatisch aktualisiert. Fhem
bringt dann ein read timeout bei einer http-Abfrage. Im Vergleich zu
vorher reagiert das System deutlich träger.

Wenn ich an die untenstehende Abfrage das debug-statement anhänge,
zeigt er mir nur ein leeres Browserfenster?
http://IP/middleware.php/data/UUID.json?from=now&tuples=1&debug=1

Ich habe mal noch etwas rumprobiert. Es scheint ein Auslastungsproblem
bei parallelen Anfragen an den mysqld zu sein. Auf dem Raspi zeigt mir
top dann überwiegend eine Vollauslastung der CPU durch den mysqld an.
Ich habe das jetzt mal etwas beobachtet. Anfragen über vzclient bzw.
fhem-http-Anfragen verursachen nur minimale CPU-Last durch den mysqld.
Erst wenn ich das Frontend aufrufe, springt die mysqld-Auslastung
dauerhaft auf Vollast (>98%) und bleibt dort auch ca 30s bis 60s so
hoch nach dem Schließen des Frontends. Schließlich geht die Auslastung
wieder zurück auf ~ 1%, selbst bei den anderen Anfragen. Irgendwie
scheint es also mit dem Frontend zusammenzuhängen.

Gruß
G.
Post by Andreas Götz
Moin,
Kannst Du mal bitte ein langsames MW Statement mit &debug=1 loggen? Was heisst langsam?
Viele Grüsse,
Andreas
Post by G. Stenzel
Hallo
ich habe gestern mal den Volkszähler per 'sudo git pull' aktualisiert.
Da etliche Dateien nicht zu überschreiben waren, habe ich noch
'sudo git fetch --all'
'sudo git reset --hard HEAD'
gemacht (als Lösung im Netz gefunden). Danach noch den Composer
aktualisiert.
Der Volkszähler lief dann auch wieder, allerdings dauern die Abfragen
sehr lange, z.B. eine Änderung im Diagrammzeitfenster oder eine
Browseranfrage an die middleware.
{"version":"0.3","capabilities":{"database":{"data_rows":371483,"data_size":109297664,"aggregation_enabled":1,"aggregation_rows":629133,"aggregation_ratio":0.59}}}
Kann mir bitte jemand helfen, die Performance wieder zu normalisieren?
Ich vermute mal, da ist beim update etwas schiefgegangen? Version
'0.3' müßte doch '0.4' sein, oder?
Viele Grüße
Gernot
Post by Andreas Goetz
Hallo Zusammen,
ich habe- bis auf das Refresh Control- alle Changes aus Dev nach Master
gemerged. Der letzte Stand vorher hat das Tag 0.4-final bekommen. Bei
- da sich die Pfade geändert haben muss für Composer ein neuer Autoloader
generiert werden- composer update sollte das mit erledigen
- PHP 5.4 ist jetzt zwingende Voeraussetzung
Viele Grüße,
Andreas
Andreas Götz
2015-09-12 12:09:16 UTC
Permalink
Hi Gernot,

Glaub ich alles, hilft aber bei der Diagnose nicht. Ich brauche den konkreten Debug Output der MW/json Abfrage welche die hohe Last verursacht.

Alternativ lass mich per http mal draufschauen.
Post by G. Stenzel
Hallo Andreas
Im Frontend dreht sich die Aktualisierungsanzeige oft sehr lange, bis
sich etwas ändert oder die Ansicht sich automatisch aktualisiert. Fhem
bringt dann ein read timeout bei einer http-Abfrage. Im Vergleich zu
vorher reagiert das System deutlich träger.
Wenn ich an die untenstehende Abfrage das debug-statement anhänge,
zeigt er mir nur ein leeres Browserfenster?
http://IP/middleware.php/data/UUID.json?from=now&tuples=1&debug=1
Hast Du die UUID auch mal durch eine richtige ersetzt?

Vg
Andreas
Post by G. Stenzel
Ich habe mal noch etwas rumprobiert. Es scheint ein Auslastungsproblem
bei parallelen Anfragen an den mysqld zu sein. Auf dem Raspi zeigt mir
top dann überwiegend eine Vollauslastung der CPU durch den mysqld an.
Ich habe das jetzt mal etwas beobachtet. Anfragen über vzclient bzw.
fhem-http-Anfragen verursachen nur minimale CPU-Last durch den mysqld.
Erst wenn ich das Frontend aufrufe, springt die mysqld-Auslastung
dauerhaft auf Vollast (>98%) und bleibt dort auch ca 30s bis 60s so
hoch nach dem Schließen des Frontends. Schließlich geht die Auslastung
wieder zurück auf ~ 1%, selbst bei den anderen Anfragen. Irgendwie
scheint es also mit dem Frontend zusammenzuhängen.
Gruß
G.
Post by Andreas Götz
Moin,
Kannst Du mal bitte ein langsames MW Statement mit &debug=1 loggen? Was heisst langsam?
Viele Grüsse,
Andreas
Post by G. Stenzel
Hallo
ich habe gestern mal den Volkszähler per 'sudo git pull' aktualisiert.
Da etliche Dateien nicht zu überschreiben waren, habe ich noch
'sudo git fetch --all'
'sudo git reset --hard HEAD'
gemacht (als Lösung im Netz gefunden). Danach noch den Composer
aktualisiert.
Der Volkszähler lief dann auch wieder, allerdings dauern die Abfragen
sehr lange, z.B. eine Änderung im Diagrammzeitfenster oder eine
Browseranfrage an die middleware.
{"version":"0.3","capabilities":{"database":{"data_rows":371483,"data_size":109297664,"aggregation_enabled":1,"aggregation_rows":629133,"aggregation_ratio":0.59}}}
Kann mir bitte jemand helfen, die Performance wieder zu normalisieren?
Ich vermute mal, da ist beim update etwas schiefgegangen? Version
'0.3' müßte doch '0.4' sein, oder?
Viele Grüße
Gernot
Post by Andreas Goetz
Hallo Zusammen,
ich habe- bis auf das Refresh Control- alle Changes aus Dev nach Master
gemerged. Der letzte Stand vorher hat das Tag 0.4-final bekommen. Bei
- da sich die Pfade geändert haben muss für Composer ein neuer Autoloader
generiert werden- composer update sollte das mit erledigen
- PHP 5.4 ist jetzt zwingende Voeraussetzung
Viele Grüße,
Andreas
G. Stenzel
2015-09-12 12:56:10 UTC
Permalink
Hallo Andreas

Ich hatte die IP und UUID anonymisiert.
Wenn ich aufrufe:
http://[IP]/middleware.php/capabilities/database.json
dann erhalte ich:
{"version":"0.3","capabilities":{"database":{"data_rows":362745,"data_size":109297664,"aggregation_enabled":1,"aggregation_rows":629157,"aggregation_ratio":0.577}}}

Wenn ich aufrufe:
http://[IP]/middleware.php/capabilities/database.json&debug=1
dann erhalte ich:
{"version":"0.3","exception":{"message":"Missing
format","type":"Exception","code":0}}

Wie gesagt, alle Anfragen per vzclient oder http z.B. aus meinen
Skripten bzw. aus FHEM verursachen laut top keine Lastprobleme. Erst
wenn das Frontend aktiv ist, entsteht die Vollauslastung durch den
mysqld und dann hängen auch alle anderen parallelen Anfragen. Dieses
Verhalten hatte ich vorher nicht beobachtet bzw. es gab keinerlei
Auslastungsprobleme mit meinem System.

Wie eine temporäre Freigabe meines Systemsnach außen eingerichtet
werden kann, weiß ich momentan nicht. Gibt es dazu eine Anleitung
irgendwo?

Gruß
G.
Post by Andreas Götz
Hi Gernot,
Glaub ich alles, hilft aber bei der Diagnose nicht. Ich brauche den konkreten Debug Output der MW/json Abfrage welche die hohe Last verursacht.
Alternativ lass mich per http mal draufschauen.
Post by G. Stenzel
Hallo Andreas
Im Frontend dreht sich die Aktualisierungsanzeige oft sehr lange, bis
sich etwas ändert oder die Ansicht sich automatisch aktualisiert. Fhem
bringt dann ein read timeout bei einer http-Abfrage. Im Vergleich zu
vorher reagiert das System deutlich träger.
Wenn ich an die untenstehende Abfrage das debug-statement anhänge,
zeigt er mir nur ein leeres Browserfenster?
http://IP/middleware.php/data/UUID.json?from=now&tuples=1&debug=1
Hast Du die UUID auch mal durch eine richtige ersetzt?
Vg
Andreas
Post by G. Stenzel
Ich habe mal noch etwas rumprobiert. Es scheint ein Auslastungsproblem
bei parallelen Anfragen an den mysqld zu sein. Auf dem Raspi zeigt mir
top dann überwiegend eine Vollauslastung der CPU durch den mysqld an.
Ich habe das jetzt mal etwas beobachtet. Anfragen über vzclient bzw.
fhem-http-Anfragen verursachen nur minimale CPU-Last durch den mysqld.
Erst wenn ich das Frontend aufrufe, springt die mysqld-Auslastung
dauerhaft auf Vollast (>98%) und bleibt dort auch ca 30s bis 60s so
hoch nach dem Schließen des Frontends. Schließlich geht die Auslastung
wieder zurück auf ~ 1%, selbst bei den anderen Anfragen. Irgendwie
scheint es also mit dem Frontend zusammenzuhängen.
Gruß
G.
Post by Andreas Götz
Moin,
Kannst Du mal bitte ein langsames MW Statement mit &debug=1 loggen? Was heisst langsam?
Viele Grüsse,
Andreas
Post by G. Stenzel
Hallo
ich habe gestern mal den Volkszähler per 'sudo git pull' aktualisiert.
Da etliche Dateien nicht zu überschreiben waren, habe ich noch
'sudo git fetch --all'
'sudo git reset --hard HEAD'
gemacht (als Lösung im Netz gefunden). Danach noch den Composer
aktualisiert.
Der Volkszähler lief dann auch wieder, allerdings dauern die Abfragen
sehr lange, z.B. eine Änderung im Diagrammzeitfenster oder eine
Browseranfrage an die middleware.
{"version":"0.3","capabilities":{"database":{"data_rows":371483,"data_size":109297664,"aggregation_enabled":1,"aggregation_rows":629133,"aggregation_ratio":0.59}}}
Kann mir bitte jemand helfen, die Performance wieder zu normalisieren?
Ich vermute mal, da ist beim update etwas schiefgegangen? Version
'0.3' müßte doch '0.4' sein, oder?
Viele Grüße
Gernot
Post by Andreas Goetz
Hallo Zusammen,
ich habe- bis auf das Refresh Control- alle Changes aus Dev nach Master
gemerged. Der letzte Stand vorher hat das Tag 0.4-final bekommen. Bei
- da sich die Pfade geändert haben muss für Composer ein neuer Autoloader
generiert werden- composer update sollte das mit erledigen
- PHP 5.4 ist jetzt zwingende Voeraussetzung
Viele Grüße,
Andreas
Udo1
2015-09-12 13:22:24 UTC
Permalink
Post by G. Stenzel
Wie eine temporäre Freigabe meines Systemsnach außen eingerichtet
werden kann, weiß ich momentan nicht.
Gehst du über eine FritzBox ins Internet?

Gruß
Udo
G. Stenzel
2015-09-12 13:29:22 UTC
Permalink
Ja.
Post by Udo1
Post by G. Stenzel
Wie eine temporäre Freigabe meines Systemsnach außen eingerichtet
werden kann, weiß ich momentan nicht.
Gehst du über eine FritzBox ins Internet?
Gruß
Udo
Udo1
2015-09-12 14:10:13 UTC
Permalink
Ich gehe mal davon aus, dass der RPi auch an der FritzBox hängt. Dann
ist es recht einfach:
Du loggst dich in die FritzBox ein.
Gehst auf Internet/Freigaben/Neue Portfreigabe.
Dann erstellst du eine Portfreigabe für HTTP-Server an Computer
'RaspberryPi' ( oder wie auch immer der in deinem Netz heißt), an
IP-Adresse 'IP des Raspberry in deinem Netz' und klickst ok.
Per PN teilst du Andi dann mit: deine Internetadresse/IP-des Raspberry.
Deine Internetadresse findest du im Menue-Punkt: Internet, die IP des
Raspberry wirst du kennen.

Gruß
Udo
Ja.
Post by Udo1
Post by G. Stenzel
Wie eine temporäre Freigabe meines Systemsnach außen eingerichtet
werden kann, weiß ich momentan nicht.
Gehst du über eine FritzBox ins Internet?
Gruß
Udo
G. Stenzel
2015-09-12 14:13:39 UTC
Permalink
Alles klar.
Vielen Dank!
Post by Udo1
Ich gehe mal davon aus, dass der RPi auch an der FritzBox hängt. Dann
Du loggst dich in die FritzBox ein.
Gehst auf Internet/Freigaben/Neue Portfreigabe.
Dann erstellst du eine Portfreigabe für HTTP-Server an Computer
'RaspberryPi' ( oder wie auch immer der in deinem Netz heißt), an
IP-Adresse 'IP des Raspberry in deinem Netz' und klickst ok.
Per PN teilst du Andi dann mit: deine Internetadresse/IP-des Raspberry.
Deine Internetadresse findest du im Menue-Punkt: Internet, die IP des
Raspberry wirst du kennen.
Gruß
Udo
Ja.
Post by Udo1
Post by G. Stenzel
Wie eine temporäre Freigabe meines Systemsnach außen eingerichtet
werden kann, weiß ich momentan nicht.
Gehst du über eine FritzBox ins Internet?
Gruß
Udo
Udo Matzinger
2015-10-12 20:20:46 UTC
Permalink
<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"><meta http-equiv="Content-Type" content="text/html charset=utf-8"><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="" dir="auto">Hallo,<div class=""><br class=""></div><div class="">was ist aus diesem Thema eigentlich geworden?</div><div class="">Scheinbar bin ich von einem ähnlichen Problem betroffen:</div><div class="">- Ich habe gestern meine bis dahin laufende volkszäher Installation mit ‚git pull‘ auf den master aktualisiert (und habe das Kommando heute noch mal wiederholt, um sicherzugehen, dass ich den letzten Stand mit Andis gestern commiteten Fix habe).</div><div class="">- Seitdem sind die Datenbankabfragen (mysql) für die Darstellung extrem zäh. Die Abfrage eines Kanals für 24h dauert im Minutenbereich statt 1 Sekunde wie vorher. Auf meinem Xeon-Server sind dabei 5 Kerne zu 100% ausgelastet und dass bei eingeschalteter Aggregation.</div><div class=""><br class=""></div><div class="">Ich habe mal eine Abfrage (1 Kanal für 24h) mit &amp;debug=1 ausgeführt, hier ist der interessante debug-Anteil der Ausgabe:</div><div class=""><br class=""></div><div class=""><pre style="word-wrap: break-word; white-space: pre-wrap;" class="">"debug": {
"level": "1",
"database": "pdo_mysql",
"time": 361.22724,
"uptime": 257587080,
"load": [
3.46,
3.78,
3.01
],
"commit-hash": "bfff72a54514d970c7cea395dff256c330f0c61a",
"php-version": "5.6.4-4ubuntu6.3",
"messages": [],
"sql": {
"totalTime": 361.13634586334,
"worstTime": 360.98874211311,
"queries": [
{
"sql": "SELECT e0_.id AS id0, e0_.uuid AS uuid1, e0_.type AS type2, p1_.id AS id3, p1_.pkey AS pkey4, p1_.value AS value5, e0_.class AS class6, p1_.entity_id AS entity_id7 FROM entities e0_ LEFT JOIN properties p1_ ON e0_.id = p1_.entity_id WHERE (e0_.uuid = ?) AND e0_.class IN ('channel', 'aggregator') ORDER BY p1_.pkey ASC",
"params": [
"7d0f4340-fbec-11e0-84ed-bf024c4c5d69"
],
"types": [
2
],
"executionMS": 0.00047087669372559
},
{
"sql": "SELECT MAX(timestamp) FROM data WHERE channel_id=? AND timestamp &lt; (SELECT MAX(timestamp) FROM data WHERE channel_id=? AND timestamp&lt;?)",
"params": [
6,
6,
1444593967785
],
"types": [],
"executionMS": 360.98874211311
},
{
"sql": "SELECT MIN(timestamp) FROM data WHERE channel_id=? AND timestamp&gt;?",
"params": [
6,
1444680367785
],
"types": [],
"executionMS": 0.027281045913696
},
{
"sql": "SELECT aggregate.type, COUNT(aggregate.id) AS count FROM aggregate INNER JOIN entities ON aggregate.channel_id = entities.id WHERE uuid = ? GROUP BY type HAVING count &gt; 0 ORDER BY type DESC",
"params": [
"7d0f4340-fbec-11e0-84ed-bf024c4c5d69"
],
"types": [],
"executionMS": 0.062636852264404
},
{
"sql": "SELECT UNIX_TIMESTAMP(FROM_UNIXTIME(MIN(timestamp) \/ 1000, \"%Y-%m-%d\")) * 1000 FROM aggregate WHERE channel_id=? AND type=? AND timestamp &gt;= UNIX_TIMESTAMP(DATE_ADD(FROM_UNIXTIME(? \/ 1000, \"%Y-%m-%d\"), INTERVAL 1 day)) * 1000",
"params": [
6,
3,
1444593884564
],
"types": [],
"executionMS": 0.0002899169921875
},
{
"sql": "SELECT UNIX_TIMESTAMP(DATE_ADD(FROM_UNIXTIME(MAX(timestamp) \/ 1000, \"%Y-%m-%d\"), INTERVAL 1 day)) * 1000 FROM aggregate WHERE channel_id=? AND type=? AND timestamp&lt;?",
"params": [
6,
3,
1444680400937
],
"types": [],
"executionMS": 0.0001380443572998
},
{
"sql": "SELECT COUNT(1) FROM data WHERE channel_id = ? AND timestamp &gt;= ? AND timestamp &lt;= ?",
"params": [
6,
1444593884564,
1444680400937
],
"types": [],
"executionMS": 0.03215503692627
},
{
"sql": "SELECT timestamp, value, 1 AS count FROM data WHERE channel_id=? AND timestamp &gt;= ? AND timestamp &lt;= ? ORDER BY timestamp ASC",
"params": [
6,
1444593884564,
1444680400937
],
"types": [],
"executionMS": 0.024631977081299
}
]
}
}</pre><div class="">Greetinx,</div><div class="">Udo</div><div class=""><br class=""></div><div class=""><blockquote type="cite" class=""><div class="">Am 12.09.2015 um 16:13 schrieb G. Stenzel &lt;<a href="mailto:GS-***@betriebsdirektor.de" class="">GS-***@betriebsdirektor.de</a>&gt;:</div><br class="Apple-interchange-newline"><div class=""><div class="">Alles klar.<br class="">Vielen Dank!<br class=""><br class=""><blockquote type="cite" class="">Ich gehe mal davon aus, dass der RPi auch an der FritzBox hängt. Dann <br class="">ist es recht einfach:<br class="">Du loggst dich in die FritzBox ein.<br class="">Gehst auf Internet/Freigaben/Neue Portfreigabe.<br class="">Dann erstellst du eine Portfreigabe für HTTP-Server an Computer <br class="">'RaspberryPi' ( oder wie auch immer der in deinem Netz heißt), an <br class="">IP-Adresse 'IP des Raspberry in deinem Netz' und klickst ok.<br class="">Per PN teilst du Andi dann mit: deine Internetadresse/IP-des Raspberry.<br class="">Deine Internetadresse findest du im Menue-Punkt: Internet, die IP des <br class="">Raspberry wirst du kennen.<br class=""><br class="">Gruß<br class="">Udo<br class=""><br class=""><br class="">Am 12.09.2015 um 15:29 schrieb G. Stenzel:<br class=""><blockquote type="cite" class="">Ja.<br class=""><br class=""><blockquote type="cite" class="">Am 12.09.2015 um 14:56 schrieb G. Stenzel:<br class=""><blockquote type="cite" class="">Wie eine temporäre Freigabe meines Systemsnach außen eingerichtet<br class="">werden kann, weiß ich momentan nicht.<br class=""></blockquote>Gehst du über eine FritzBox ins Internet?<br class=""><br class="">Gruß<br class="">Udo<br class=""></blockquote></blockquote></blockquote></div></div></blockquote></div><br class=""></div></body></html>
Andreas Götz
2015-10-13 05:16:17 UTC
Permalink
Moin,
Post by Udo Matzinger
Hallo,
was ist aus diesem Thema eigentlich geworden?
Seit gestern gelöst. Hast Du aktuellen Stand?

Viele GrÌße, Andreas
Post by Udo Matzinger
- Ich habe gestern meine bis dahin laufende volkszÀher Installation mit ‚git pull‘ auf den master aktualisiert (und habe das Kommando heute noch mal wiederholt, um sicherzugehen, dass ich den letzten Stand mit Andis gestern commiteten Fix habe).
- Seitdem sind die Datenbankabfragen (mysql) fÌr die Darstellung extrem zÀh. Die Abfrage eines Kanals fÌr 24h dauert im Minutenbereich statt 1 Sekunde wie vorher. Auf meinem Xeon-Server sind dabei 5 Kerne zu 100% ausgelastet und dass bei eingeschalteter Aggregation.
"debug": {
"level": "1",
"database": "pdo_mysql",
"time": 361.22724,
"uptime": 257587080,
"load": [
3.46,
3.78,
3.01
],
"commit-hash": "bfff72a54514d970c7cea395dff256c330f0c61a",
"php-version": "5.6.4-4ubuntu6.3",
"messages": [],
"sql": {
"totalTime": 361.13634586334,
"worstTime": 360.98874211311,
"queries": [
{
"sql": "SELECT e0_.id AS id0, e0_.uuid AS uuid1, e0_.type AS type2, p1_.id AS id3, p1_.pkey AS pkey4, p1_.value AS value5, e0_.class AS class6, p1_.entity_id AS entity_id7 FROM entities e0_ LEFT JOIN properties p1_ ON e0_.id = p1_.entity_id WHERE (e0_.uuid = ?) AND e0_.class IN ('channel', 'aggregator') ORDER BY p1_.pkey ASC",
"params": [
"7d0f4340-fbec-11e0-84ed-bf024c4c5d69"
],
"types": [
2
],
"executionMS": 0.00047087669372559
},
{
"sql": "SELECT MAX(timestamp) FROM data WHERE channel_id=? AND timestamp < (SELECT MAX(timestamp) FROM data WHERE channel_id=? AND timestamp<?)",
"params": [
6,
6,
1444593967785
],
"types": [],
"executionMS": 360.98874211311
},
{
"sql": "SELECT MIN(timestamp) FROM data WHERE channel_id=? AND timestamp>?",
"params": [
6,
1444680367785
],
"types": [],
"executionMS": 0.027281045913696
},
{
"sql": "SELECT aggregate.type, COUNT(aggregate.id) AS count FROM aggregate INNER JOIN entities ON aggregate.channel_id = entities.id WHERE uuid = ? GROUP BY type HAVING count > 0 ORDER BY type DESC",
"params": [
"7d0f4340-fbec-11e0-84ed-bf024c4c5d69"
],
"types": [],
"executionMS": 0.062636852264404
},
{
"sql": "SELECT UNIX_TIMESTAMP(FROM_UNIXTIME(MIN(timestamp) \/ 1000, \"%Y-%m-%d\")) * 1000 FROM aggregate WHERE channel_id=? AND type=? AND timestamp >= UNIX_TIMESTAMP(DATE_ADD(FROM_UNIXTIME(? \/ 1000, \"%Y-%m-%d\"), INTERVAL 1 day)) * 1000",
"params": [
6,
3,
1444593884564
],
"types": [],
"executionMS": 0.0002899169921875
},
{
"sql": "SELECT UNIX_TIMESTAMP(DATE_ADD(FROM_UNIXTIME(MAX(timestamp) \/ 1000, \"%Y-%m-%d\"), INTERVAL 1 day)) * 1000 FROM aggregate WHERE channel_id=? AND type=? AND timestamp<?",
"params": [
6,
3,
1444680400937
],
"types": [],
"executionMS": 0.0001380443572998
},
{
"sql": "SELECT COUNT(1) FROM data WHERE channel_id = ? AND timestamp >= ? AND timestamp <= ?",
"params": [
6,
1444593884564,
1444680400937
],
"types": [],
"executionMS": 0.03215503692627
},
{
"sql": "SELECT timestamp, value, 1 AS count FROM data WHERE channel_id=? AND timestamp >= ? AND timestamp <= ? ORDER BY timestamp ASC",
"params": [
6,
1444593884564,
1444680400937
],
"types": [],
"executionMS": 0.024631977081299
}
]
}
}
Greetinx,
Udo
Post by G. Stenzel
Alles klar.
Vielen Dank!
Ich gehe mal davon aus, dass der RPi auch an der FritzBox hÀngt. Dann
Du loggst dich in die FritzBox ein.
Gehst auf Internet/Freigaben/Neue Portfreigabe.
Dann erstellst du eine Portfreigabe fÃŒr HTTP-Server an Computer
'RaspberryPi' ( oder wie auch immer der in deinem Netz heißt), an
IP-Adresse 'IP des Raspberry in deinem Netz' und klickst ok.
Per PN teilst du Andi dann mit: deine Internetadresse/IP-des Raspberry.
Deine Internetadresse findest du im Menue-Punkt: Internet, die IP des
Raspberry wirst du kennen.
Gruß
Udo
Ja.
Wie eine temporÀre Freigabe meines Systemsnach außen eingerichtet
werden kann, weiß ich momentan nicht.
Gehst du ÃŒber eine FritzBox ins Internet?
Gruß
Udo
Andreas Götz
2015-10-13 05:19:25 UTC
Permalink
Hi Udo,

Ich nochmal. Eine meiner Optimierungen scheint nach hinten loszugehen. Gerade die fand ich ziemlich genial. Sehr seltsam.
Könntest Du mir Deine DB exportieren und per PM schicken? Oder ssh, http und mysql Zugang geben?

Viele GrÌße, Andreas
Post by Udo Matzinger
Hallo,
was ist aus diesem Thema eigentlich geworden?
- Ich habe gestern meine bis dahin laufende volkszÀher Installation mit ‚git pull‘ auf den master aktualisiert (und habe das Kommando heute noch mal wiederholt, um sicherzugehen, dass ich den letzten Stand mit Andis gestern commiteten Fix habe).
- Seitdem sind die Datenbankabfragen (mysql) fÌr die Darstellung extrem zÀh. Die Abfrage eines Kanals fÌr 24h dauert im Minutenbereich statt 1 Sekunde wie vorher. Auf meinem Xeon-Server sind dabei 5 Kerne zu 100% ausgelastet und dass bei eingeschalteter Aggregation.
"debug": {
"level": "1",
"database": "pdo_mysql",
"time": 361.22724,
"uptime": 257587080,
"load": [
3.46,
3.78,
3.01
],
"commit-hash": "bfff72a54514d970c7cea395dff256c330f0c61a",
"php-version": "5.6.4-4ubuntu6.3",
"messages": [],
"sql": {
"totalTime": 361.13634586334,
"worstTime": 360.98874211311,
"queries": [
{
"sql": "SELECT e0_.id AS id0, e0_.uuid AS uuid1, e0_.type AS type2, p1_.id AS id3, p1_.pkey AS pkey4, p1_.value AS value5, e0_.class AS class6, p1_.entity_id AS entity_id7 FROM entities e0_ LEFT JOIN properties p1_ ON e0_.id = p1_.entity_id WHERE (e0_.uuid = ?) AND e0_.class IN ('channel', 'aggregator') ORDER BY p1_.pkey ASC",
"params": [
"7d0f4340-fbec-11e0-84ed-bf024c4c5d69"
],
"types": [
2
],
"executionMS": 0.00047087669372559
},
{
"sql": "SELECT MAX(timestamp) FROM data WHERE channel_id=? AND timestamp < (SELECT MAX(timestamp) FROM data WHERE channel_id=? AND timestamp<?)",
"params": [
6,
6,
1444593967785
],
"types": [],
"executionMS": 360.98874211311
},
{
"sql": "SELECT MIN(timestamp) FROM data WHERE channel_id=? AND timestamp>?",
"params": [
6,
1444680367785
],
"types": [],
"executionMS": 0.027281045913696
},
{
"sql": "SELECT aggregate.type, COUNT(aggregate.id) AS count FROM aggregate INNER JOIN entities ON aggregate.channel_id = entities.id WHERE uuid = ? GROUP BY type HAVING count > 0 ORDER BY type DESC",
"params": [
"7d0f4340-fbec-11e0-84ed-bf024c4c5d69"
],
"types": [],
"executionMS": 0.062636852264404
},
{
"sql": "SELECT UNIX_TIMESTAMP(FROM_UNIXTIME(MIN(timestamp) \/ 1000, \"%Y-%m-%d\")) * 1000 FROM aggregate WHERE channel_id=? AND type=? AND timestamp >= UNIX_TIMESTAMP(DATE_ADD(FROM_UNIXTIME(? \/ 1000, \"%Y-%m-%d\"), INTERVAL 1 day)) * 1000",
"params": [
6,
3,
1444593884564
],
"types": [],
"executionMS": 0.0002899169921875
},
{
"sql": "SELECT UNIX_TIMESTAMP(DATE_ADD(FROM_UNIXTIME(MAX(timestamp) \/ 1000, \"%Y-%m-%d\"), INTERVAL 1 day)) * 1000 FROM aggregate WHERE channel_id=? AND type=? AND timestamp<?",
"params": [
6,
3,
1444680400937
],
"types": [],
"executionMS": 0.0001380443572998
},
{
"sql": "SELECT COUNT(1) FROM data WHERE channel_id = ? AND timestamp >= ? AND timestamp <= ?",
"params": [
6,
1444593884564,
1444680400937
],
"types": [],
"executionMS": 0.03215503692627
},
{
"sql": "SELECT timestamp, value, 1 AS count FROM data WHERE channel_id=? AND timestamp >= ? AND timestamp <= ? ORDER BY timestamp ASC",
"params": [
6,
1444593884564,
1444680400937
],
"types": [],
"executionMS": 0.024631977081299
}
]
}
}
Greetinx,
Udo
Post by G. Stenzel
Alles klar.
Vielen Dank!
Ich gehe mal davon aus, dass der RPi auch an der FritzBox hÀngt. Dann
Du loggst dich in die FritzBox ein.
Gehst auf Internet/Freigaben/Neue Portfreigabe.
Dann erstellst du eine Portfreigabe fÃŒr HTTP-Server an Computer
'RaspberryPi' ( oder wie auch immer der in deinem Netz heißt), an
IP-Adresse 'IP des Raspberry in deinem Netz' und klickst ok.
Per PN teilst du Andi dann mit: deine Internetadresse/IP-des Raspberry.
Deine Internetadresse findest du im Menue-Punkt: Internet, die IP des
Raspberry wirst du kennen.
Gruß
Udo
Ja.
Wie eine temporÀre Freigabe meines Systemsnach außen eingerichtet
werden kann, weiß ich momentan nicht.
Gehst du ÃŒber eine FritzBox ins Internet?
Gruß
Udo
Udo Matzinger
2015-10-13 06:30:11 UTC
Permalink
Hallo Andreas,

Vielen Dank, dass Du es Dir anschaust. Ich werde heute Abend einen DB-Export fÃŒr Dich erzeugen. Ich vermute, dass der ziemlich groß wird, da das System schon ein paar Jahre lÀuft. Mal schauen, wie ich den Export auf ein paar Monate begrenzen kann.

Greetinx,
Udo
____________________________
Post by Andreas Götz
Hi Udo,
Ich nochmal. Eine meiner Optimierungen scheint nach hinten loszugehen. Gerade die fand ich ziemlich genial. Sehr seltsam.
Könntest Du mir Deine DB exportieren und per PM schicken? Oder ssh, http und mysql Zugang geben?
Viele GrÌße, Andreas
Post by Udo Matzinger
Hallo,
was ist aus diesem Thema eigentlich geworden?
- Ich habe gestern meine bis dahin laufende volkszÀher Installation mit ‚git pull‘ auf den master aktualisiert (und habe das Kommando heute noch mal wiederholt, um sicherzugehen, dass ich den letzten Stand mit Andis gestern commiteten Fix habe).
- Seitdem sind die Datenbankabfragen (mysql) fÌr die Darstellung extrem zÀh. Die Abfrage eines Kanals fÌr 24h dauert im Minutenbereich statt 1 Sekunde wie vorher. Auf meinem Xeon-Server sind dabei 5 Kerne zu 100% ausgelastet und dass bei eingeschalteter Aggregation.
"debug": {
"level": "1",
"database": "pdo_mysql",
"time": 361.22724,
"uptime": 257587080,
"load": [
3.46,
3.78,
3.01
],
"commit-hash": "bfff72a54514d970c7cea395dff256c330f0c61a",
"php-version": "5.6.4-4ubuntu6.3",
"messages": [],
"sql": {
"totalTime": 361.13634586334,
"worstTime": 360.98874211311,
"queries": [
{
"sql": "SELECT e0_.id AS id0, e0_.uuid AS uuid1, e0_.type AS type2, p1_.id AS id3, p1_.pkey AS pkey4, p1_.value AS value5, e0_.class AS class6, p1_.entity_id AS entity_id7 FROM entities e0_ LEFT JOIN properties p1_ ON e0_.id = p1_.entity_id WHERE (e0_.uuid = ?) AND e0_.class IN ('channel', 'aggregator') ORDER BY p1_.pkey ASC",
"params": [
"7d0f4340-fbec-11e0-84ed-bf024c4c5d69"
],
"types": [
2
],
"executionMS": 0.00047087669372559
},
{
"sql": "SELECT MAX(timestamp) FROM data WHERE channel_id=? AND timestamp < (SELECT MAX(timestamp) FROM data WHERE channel_id=? AND timestamp<?)",
"params": [
6,
6,
1444593967785
],
"types": [],
"executionMS": 360.98874211311
},
{
"sql": "SELECT MIN(timestamp) FROM data WHERE channel_id=? AND timestamp>?",
"params": [
6,
1444680367785
],
"types": [],
"executionMS": 0.027281045913696
},
{
"sql": "SELECT aggregate.type, COUNT(aggregate.id) AS count FROM aggregate INNER JOIN entities ON aggregate.channel_id = entities.id WHERE uuid = ? GROUP BY type HAVING count > 0 ORDER BY type DESC",
"params": [
"7d0f4340-fbec-11e0-84ed-bf024c4c5d69"
],
"types": [],
"executionMS": 0.062636852264404
},
{
"sql": "SELECT UNIX_TIMESTAMP(FROM_UNIXTIME(MIN(timestamp) \/ 1000, \"%Y-%m-%d\")) * 1000 FROM aggregate WHERE channel_id=? AND type=? AND timestamp >= UNIX_TIMESTAMP(DATE_ADD(FROM_UNIXTIME(? \/ 1000, \"%Y-%m-%d\"), INTERVAL 1 day)) * 1000",
"params": [
6,
3,
1444593884564
],
"types": [],
"executionMS": 0.0002899169921875
},
{
"sql": "SELECT UNIX_TIMESTAMP(DATE_ADD(FROM_UNIXTIME(MAX(timestamp) \/ 1000, \"%Y-%m-%d\"), INTERVAL 1 day)) * 1000 FROM aggregate WHERE channel_id=? AND type=? AND timestamp<?",
"params": [
6,
3,
1444680400937
],
"types": [],
"executionMS": 0.0001380443572998
},
{
"sql": "SELECT COUNT(1) FROM data WHERE channel_id = ? AND timestamp >= ? AND timestamp <= ?",
"params": [
6,
1444593884564,
1444680400937
],
"types": [],
"executionMS": 0.03215503692627
},
{
"sql": "SELECT timestamp, value, 1 AS count FROM data WHERE channel_id=? AND timestamp >= ? AND timestamp <= ? ORDER BY timestamp ASC",
"params": [
6,
1444593884564,
1444680400937
],
"types": [],
"executionMS": 0.024631977081299
}
]
}
}
Greetinx,
Udo
Post by G. Stenzel
Alles klar.
Vielen Dank!
Ich gehe mal davon aus, dass der RPi auch an der FritzBox hÀngt. Dann
Du loggst dich in die FritzBox ein.
Gehst auf Internet/Freigaben/Neue Portfreigabe.
Dann erstellst du eine Portfreigabe fÃŒr HTTP-Server an Computer
'RaspberryPi' ( oder wie auch immer der in deinem Netz heißt), an
IP-Adresse 'IP des Raspberry in deinem Netz' und klickst ok.
Per PN teilst du Andi dann mit: deine Internetadresse/IP-des Raspberry.
Deine Internetadresse findest du im Menue-Punkt: Internet, die IP des
Raspberry wirst du kennen.
Gruß
Udo
Ja.
Wie eine temporÀre Freigabe meines Systemsnach außen eingerichtet
werden kann, weiß ich momentan nicht.
Gehst du ÃŒber eine FritzBox ins Internet?
Gruß
Udo
Andreas Götz
2015-10-13 15:31:11 UTC
Permalink
Hallo Zusammen,

Gibts außer Udo noch weitere Probleme mit dem git Stand von heute? Falls ja bitte Analyse wie Udo schicken- MW-Abfrage dafÃŒr mit &debug=1 ergÀnzen und das SQL Log bereitstellen.

Danke und Gruß,
Andreas
Post by Andreas Götz
Hi Udo,
Ich nochmal. Eine meiner Optimierungen scheint nach hinten loszugehen. Gerade die fand ich ziemlich genial. Sehr seltsam.
Könntest Du mir Deine DB exportieren und per PM schicken? Oder ssh, http und mysql Zugang geben?
Viele GrÌße, Andreas
Post by Udo Matzinger
Hallo,
was ist aus diesem Thema eigentlich geworden?
- Ich habe gestern meine bis dahin laufende volkszÀher Installation mit ‚git pull‘ auf den master aktualisiert (und habe das Kommando heute noch mal wiederholt, um sicherzugehen, dass ich den letzten Stand mit Andis gestern commiteten Fix habe).
- Seitdem sind die Datenbankabfragen (mysql) fÌr die Darstellung extrem zÀh. Die Abfrage eines Kanals fÌr 24h dauert im Minutenbereich statt 1 Sekunde wie vorher. Auf meinem Xeon-Server sind dabei 5 Kerne zu 100% ausgelastet und dass bei eingeschalteter Aggregation.
"debug": {
"level": "1",
"database": "pdo_mysql",
"time": 361.22724,
"uptime": 257587080,
"load": [
3.46,
3.78,
3.01
],
"commit-hash": "bfff72a54514d970c7cea395dff256c330f0c61a",
"php-version": "5.6.4-4ubuntu6.3",
"messages": [],
"sql": {
"totalTime": 361.13634586334,
"worstTime": 360.98874211311,
"queries": [
{
"sql": "SELECT e0_.id AS id0, e0_.uuid AS uuid1, e0_.type AS type2, p1_.id AS id3, p1_.pkey AS pkey4, p1_.value AS value5, e0_.class AS class6, p1_.entity_id AS entity_id7 FROM entities e0_ LEFT JOIN properties p1_ ON e0_.id = p1_.entity_id WHERE (e0_.uuid = ?) AND e0_.class IN ('channel', 'aggregator') ORDER BY p1_.pkey ASC",
"params": [
"7d0f4340-fbec-11e0-84ed-bf024c4c5d69"
],
"types": [
2
],
"executionMS": 0.00047087669372559
},
{
"sql": "SELECT MAX(timestamp) FROM data WHERE channel_id=? AND timestamp < (SELECT MAX(timestamp) FROM data WHERE channel_id=? AND timestamp<?)",
"params": [
6,
6,
1444593967785
],
"types": [],
"executionMS": 360.98874211311
},
{
"sql": "SELECT MIN(timestamp) FROM data WHERE channel_id=? AND timestamp>?",
"params": [
6,
1444680367785
],
"types": [],
"executionMS": 0.027281045913696
},
{
"sql": "SELECT aggregate.type, COUNT(aggregate.id) AS count FROM aggregate INNER JOIN entities ON aggregate.channel_id = entities.id WHERE uuid = ? GROUP BY type HAVING count > 0 ORDER BY type DESC",
"params": [
"7d0f4340-fbec-11e0-84ed-bf024c4c5d69"
],
"types": [],
"executionMS": 0.062636852264404
},
{
"sql": "SELECT UNIX_TIMESTAMP(FROM_UNIXTIME(MIN(timestamp) \/ 1000, \"%Y-%m-%d\")) * 1000 FROM aggregate WHERE channel_id=? AND type=? AND timestamp >= UNIX_TIMESTAMP(DATE_ADD(FROM_UNIXTIME(? \/ 1000, \"%Y-%m-%d\"), INTERVAL 1 day)) * 1000",
"params": [
6,
3,
1444593884564
],
"types": [],
"executionMS": 0.0002899169921875
},
{
"sql": "SELECT UNIX_TIMESTAMP(DATE_ADD(FROM_UNIXTIME(MAX(timestamp) \/ 1000, \"%Y-%m-%d\"), INTERVAL 1 day)) * 1000 FROM aggregate WHERE channel_id=? AND type=? AND timestamp<?",
"params": [
6,
3,
1444680400937
],
"types": [],
"executionMS": 0.0001380443572998
},
{
"sql": "SELECT COUNT(1) FROM data WHERE channel_id = ? AND timestamp >= ? AND timestamp <= ?",
"params": [
6,
1444593884564,
1444680400937
],
"types": [],
"executionMS": 0.03215503692627
},
{
"sql": "SELECT timestamp, value, 1 AS count FROM data WHERE channel_id=? AND timestamp >= ? AND timestamp <= ? ORDER BY timestamp ASC",
"params": [
6,
1444593884564,
1444680400937
],
"types": [],
"executionMS": 0.024631977081299
}
]
}
}
Greetinx,
Udo
Post by G. Stenzel
Alles klar.
Vielen Dank!
Ich gehe mal davon aus, dass der RPi auch an der FritzBox hÀngt. Dann
Du loggst dich in die FritzBox ein.
Gehst auf Internet/Freigaben/Neue Portfreigabe.
Dann erstellst du eine Portfreigabe fÃŒr HTTP-Server an Computer
'RaspberryPi' ( oder wie auch immer der in deinem Netz heißt), an
IP-Adresse 'IP des Raspberry in deinem Netz' und klickst ok.
Per PN teilst du Andi dann mit: deine Internetadresse/IP-des Raspberry.
Deine Internetadresse findest du im Menue-Punkt: Internet, die IP des
Raspberry wirst du kennen.
Gruß
Udo
Ja.
Wie eine temporÀre Freigabe meines Systemsnach außen eingerichtet
werden kann, weiß ich momentan nicht.
Gehst du ÃŒber eine FritzBox ins Internet?
Gruß
Udo
Andreas Goetz
2015-10-14 09:26:57 UTC
Permalink
Hallo Udo,
Post by Udo Matzinger
Hallo,
was ist aus diesem Thema eigentlich geworden?
- Ich habe gestern meine bis dahin laufende volkszÀher Installation mit
‚git pull‘ auf den master aktualisiert (und habe das Kommando heute noch
mal wiederholt, um sicherzugehen, dass ich den letzten Stand mit Andis
gestern commiteten Fix habe).
- Seitdem sind die Datenbankabfragen (mysql) fÃŒr die Darstellung extrem
zÀh. Die Abfrage eines Kanals fÌr 24h dauert im Minutenbereich statt 1
Sekunde wie vorher. Auf meinem Xeon-Server sind dabei 5 Kerne zu 100%
ausgelastet und dass bei eingeschalteter Aggregation.
Erstmal Danke fÃŒr Deine hÃŒbsche Gigabyte-Datenbank. Analyse zeigt dass
Indizes fehlen bzw. die falschen drin sind. Dein Datenbankschema entspricht
sein mind. 2 Jahren nicht mehr dem aktuellen Stand- das kann eigentlich
schon lange nicht mehr super perfromant sein.

Leider ist ein Update nicht ganz trivial da Du ein paar Duplikate drin hast
die gelöscht werden mÌssen.

Du willst:

- Backup machen (der Schritt ist nicht optional!)
- Duplikate löschen (nach meinen Tests 12 DatensÀtze, dauert weniger als 60
Sekunden):

DELETE o FROM data o
JOIN (
SELECT timestamp, channel_id
FROM data i
GROUP BY timestamp, channel_id
HAVING count(*) > 1
) j
ON o.timestamp = j.timestamp AND o.channel_id = j.channel_id;

- neues Schema installierten: php misc/tools/doctrine
orm:schema-tool:update (dauert ein paar Minuten)

Danach wird die Kiste wieder rennen- versprochen!

Viele GrÌße,
Andreas
Udo Matzinger
2015-10-14 19:30:02 UTC
Permalink
Hallo Andreas,

fantastisch, vielen Dank für Deine Analyse. Ich habe mich dann gerade mal an die Umsetzung gemacht.
Post by Andreas Goetz
- Backup machen (der Schritt ist nicht optional!)
Erledigt.
Post by Andreas Goetz
DELETE o FROM data o
JOIN (
SELECT timestamp, channel_id
FROM data i
GROUP BY timestamp, channel_id
HAVING count(*) > 1
) j
ON o.timestamp = j.timestamp AND o.channel_id = j.channel_id;
90 rows in knapp 48 Sekunden
Post by Andreas Goetz
- neues Schema installierten: php misc/tools/doctrine orm:schema-tool:update (dauert ein paar Minuten)
Dabei kam eine Warnung und ich habe mir dann mit php orm:schema-tool:update --dump-sql die SQL-Statements generieren lassen und ausgeführt (hat ca. 5 Minuten gedauert).
Post by Andreas Goetz
Danach wird die Kiste wieder rennen- versprochen!
Jippieh! Sie rennt wieder! Vielen Dank noch einmal.
Ich hatte meine vz-Installation schon längere Zeit nicht mehr aktualisiert und daher hat das ‚git pull‘ ohne Schema-Update wohl meine Probleme gebracht.

Greetinx,
Udo
Andreas Götz
2015-10-14 19:34:55 UTC
Permalink
Hi,
Post by Udo Matzinger
Hallo Andreas,
fantastisch, vielen Dank für Deine Analyse. Ich habe mich dann gerade mal an die Umsetzung gemacht.
Post by Andreas Goetz
- Backup machen (der Schritt ist nicht optional!)
Erledigt.
Post by Andreas Goetz
DELETE o FROM data o
JOIN (
SELECT timestamp, channel_id
FROM data i
GROUP BY timestamp, channel_id
HAVING count(*) > 1
) j
ON o.timestamp = j.timestamp AND o.channel_id = j.channel_id;
90 rows in knapp 48 Sekunden
Post by Andreas Goetz
- neues Schema installierten: php misc/tools/doctrine orm:schema-tool:update (dauert ein paar Minuten)
Dabei kam eine Warnung und ich habe mir dann mit php orm:schema-tool:update --dump-sql die SQL-Statements generieren lassen und ausgeführt (hat ca. 5 Minuten gedauert).
Post by Andreas Goetz
Danach wird die Kiste wieder rennen- versprochen!
Jippieh! Sie rennt wieder! Vielen Dank noch einmal.
Sehr gerne!

@all: bei Performanceproblemen mit wirklich alten Installationen >1,5 Jahre ca) kann die Methode helfen.
Post by Udo Matzinger
Ich hatte meine vz-Installation schon längere Zeit nicht mehr aktualisiert und daher hat das ‚git pull‘ ohne Schema-Update wohl meine Probleme gebracht.
Greetinx,
Udo
Viele Grüße, Andreas
René Hézser
2015-10-14 20:29:34 UTC
Permalink
Moin Andreas,
gibt es eine einfache Möglichkeit herauszufinden ob die Installation betroffen ist?

Gruß
René

-----Original Message-----
From: volkszaehler-users [mailto:volkszaehler-users-***@demo.volkszaehler.org] On Behalf Of Andreas Götz
Sent: Mittwoch, 14. Oktober 2015 21:35
To: volkszaehler.org - users <volkszaehler-***@demo.volkszaehler.org>
Subject: Re: [vz-users] Reaktion der middleware sehr zäh nach Update

@all: bei Performanceproblemen mit wirklich alten Installationen >1,5 Jahre ca) kann die Methode helfen.

Viele Grüße, And
Andreas Götz
2015-10-14 21:00:09 UTC
Permalink
Moin,
Post by René Hézser
Moin Andreas,
gibt es eine einfache Möglichkeit herauszufinden ob die Installation betroffen ist?
Ein Anhaltspunkt wär ein Index mit Reihenfolge timestamp,channel_id auf der data Tabelle. Das ist zwar selektiv, entspricht aber nicht dem normalen Zugriffsmuster.
Post by René Hézser
Gruß
René
Viele Grüße, Andreas
Post by René Hézser
-----Original Message-----
Sent: Mittwoch, 14. Oktober 2015 21:35
Subject: Re: [vz-users] Reaktion der middleware sehr zäh nach Update
@all: bei Performanceproblemen mit wirklich alten Installationen >1,5 Jahre ca) kann die Methode helfen.
Viele Grüße, Andreas
Andreas Goetz
2015-09-17 16:55:26 UTC
Permalink
Hallo Zusammen,

nochmal ein kurzes Update. Im Merge hatte sich ein sehr hÀsslicher Fehler
eingeschlichen der kein Debugging unserer neuen "streamed" HTTP Responses
mehr zuliess, die Behebung dann gleich einen noch hÀsslicheren Folgefehler.

Beide Probleme sollten jetzt behoben sein!

Viele GrÌße,
Andreas

PS.: Das zeigt letztlich dass unser Entwicklungsmodell mit dev Zweig nicht
funktioniert- ich schlage vor den Zweig wieder zu löschen und den Aufwand
zu sparen...
Post by Andreas Goetz
Hallo Zusammen,
ich habe- bis auf das Refresh Control- alle Changes aus Dev nach Master
gemerged. Der letzte Stand vorher hat das Tag 0.4-final bekommen. Bei
- da sich die Pfade geÀndert haben muss fÌr Composer ein neuer Autoloader
generiert werden- composer update sollte das mit erledigen
- PHP 5.4 ist jetzt zwingende Voeraussetzung
Viele GrÌße,
Andreas
Loading...