Problem : Die GUI-Darstellung wird mit der Zeit immer träger

Aus HAP

Wechseln zu: Navigation, Suche

Hintergrund:

Aus der Status-Tabelle wird für jedes angezeigte Device der aktuelle Status ausgelesen. Unter Umständen befinden sich in dieser Tabelle mehrere Millionen-Einträge. Die verwendeten SQL-Statements sind zwar eigentlich recht simpel, dennoch kommt es hier zum Teil zu erheblichen Verzögerungen bedingt durch die abgesetzten Abfragen an den SQL-Server.

Das Problem lässt sich wie folgt lösen (ab der SVN-Version >= 64 ist die Änderung bereits inkludiert):

Auf die Spalten ID, Type, Module, Address, Status und Config muss das Index-Flag gesetzt werden (z.B. phpmyadmin).

Phpmyadmin-indexflag.png

Die Datenbank wächst dadurch zwar etwas, allerdings gibt es keine Verzögerungen mehr bei der Darstellung.

Zusätzlich kann noch in regelmässigen Abständen das hap-dbcleanup-Script über den Scheduler aufgerufen werden um die Anzahl der Einträge in der status-Tabelle zu limitieren und die Datenbank entsprechend zu verkleinern.