volkszaehler/volkszaehler.org — pull request #80 by andig (2013-12-24 11:40:49+00:00)
Title: Added 'materialized view' aggregation table to improve performance:

Detaildiskussion siehe hier: http://demo.volkszaehler.org/pipermail/volkszaehler-users/2013-December/003216.html
Standardmäßig ist die Optimierung deaktiviert um bei Upgrades keine Fehlermeldungen zu produzieren.

**Um die Performanceoptimierung aktivieren:**

1. Hilfstabelle anlegen (nur einmalig bei Upgrade notwendig, nicht bei Neuinstallation):

php misc/tools/aggregate.php create

2. Hilfstabelle befüllen:

php misc/tools/aggregate.php -m full -l day -l hour run

3. Und den Prozess für die Aktualisierung noch automatisien:

crontab -e

und die folgenden Zeilen hinzufügen:

* 2 * * * /usr/bin/php aggregate.php -m delta -l day run
9 * * * * /usr/bin/php aggregate.php -m delta -l hour run

**Performance Test Results (opt = optimierte Version):**

DataRows .................... 525.600
AggregateRows (day) ........ 365
AggregateRatio (day) ........ 1:1440.
GetGroupPerf ................ 27.26s .
GetGroupPerf (opt) .......... 0.20s x135
GetTotalPerf ................ 35.12s .
GetTotalPerf (opt) .......... 0.21s x166

**Um Statistiken der Aggregationstabelle abzurufen:**

http://localhost/vz/htdocs/middleware.php/capabilities/database.json