Wie einige es wissen, hab ich edomi bei mir auf einem pi4 installiert und ich störe mich schon seit eh und je über die Performance.
Ich hab die letzten Tage mir die Systemlast angeschaut und optimiere peu a peu.
Hier eine kurze Anleitung, wie man Edomi schneller machen kann. Edomi nutzt eine RAM-Tabelle. Hier gibt es leider ein unschönes Design-Problem, was hierdurch behoben werden kann:
diese Zeile in der proc_main.php
> if (writeToLog(1, sql_call("ALTER TABLE edomiLive.RAMlogicLink ADD KEY (functionid), ADD KEY (eingang), ADD KEY (init), ADD KEY (ausgang), ADD KEY (value)") , 'Datenbank: edomiLive.RAMlogicLink Index erstellen', 'FATALERROR') === false) {
durch diese ersetzen:
if (writeToLog(1, sql_call("ALTER TABLE edomiLive.RAMlogicLink ADD KEY (functionid), ADD KEY (eingang), ADD KEY (init), ADD KEY (ausgang), ADD KEY (value), ADD INDEX idx_refresh_ei (refresh, elementid, functionid)") , 'Datenbank: edomiLive.RAMlogicLink Index erstellen', 'FATALERROR') === false) {
der Index führt dazu, dass die Queries direkt aus dem mysql cache bedient werden.
Die mysql-Last ist bei mir von ~17% nun auf 1-5% gefallen.
Ich hab die letzten Tage mir die Systemlast angeschaut und optimiere peu a peu.
Hier eine kurze Anleitung, wie man Edomi schneller machen kann. Edomi nutzt eine RAM-Tabelle. Hier gibt es leider ein unschönes Design-Problem, was hierdurch behoben werden kann:
diese Zeile in der proc_main.php
> if (writeToLog(1, sql_call("ALTER TABLE edomiLive.RAMlogicLink ADD KEY (functionid), ADD KEY (eingang), ADD KEY (init), ADD KEY (ausgang), ADD KEY (value)") , 'Datenbank: edomiLive.RAMlogicLink Index erstellen', 'FATALERROR') === false) {
durch diese ersetzen:
if (writeToLog(1, sql_call("ALTER TABLE edomiLive.RAMlogicLink ADD KEY (functionid), ADD KEY (eingang), ADD KEY (init), ADD KEY (ausgang), ADD KEY (value), ADD INDEX idx_refresh_ei (refresh, elementid, functionid)") , 'Datenbank: edomiLive.RAMlogicLink Index erstellen', 'FATALERROR') === false) {
der Index führt dazu, dass die Queries direkt aus dem mysql cache bedient werden.
Die mysql-Last ist bei mir von ~17% nun auf 1-5% gefallen.


Kommentar