Ankündigung

Einklappen
Keine Ankündigung bisher.

Edomi Optimierungen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Edomi Optimierungen

    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.

    #2
    Das mus sich mir morgen mal anschauen 😃
    ...and I thought my jokes were bad!

    Kommentar


      #3
      Du musst die Datei erstmal durch einen php-pretty formatter jagen, dann siehst du das besser.

      Kommentar


        #4
        He, wer lästert da schon wieder an Gottes Wort?
        Dieser Beitrag enthält keine Spuren von Sarkasmus... ich bin einfach so?!

        Kommentar


          #5
          Bilder sagen bekanntlich doch mehr als Worte:

          image.png

          Kommentar


            #6
            Tatsächlich bei mir nur marginal... hängt wahrscheinlich schwer von der eingesetzten Hardware ab:
            Server 1
            image.png
            Server 2
            image.png

            Ich habe aber das Gefühl die Visu lädt wesentlich schneller.​
            Zuletzt geändert von eXec; 05.06.2026, 22:17.
            ...and I thought my jokes were bad!

            Kommentar


              #7
              Ja, Nebeneffekt ist, dass die Visu schneller lädt. Kommt natürlich immer auf die Hardware, Logiken usw. an. Lass den 1 Tag laufen und dann schau mal in den Wochenchart, da sieht man das dann besser.

              Kommentar


                #8
                Also auch bei mir eher marginale Verbesserung, aber größere Schwankungen, warum auch immer.

                Kommentar


                  #9
                  Hi
                  Ich hab den code mal eingefügt - und kann sagen: EDOMI läuft weiterhin :-)
                  Ob es performanter läuft... keine Ahnung: läuft auf dedizierter Hardware und hatte bisher keine performance Engpässe. Die CPU Usage lässt sich da mit EDOMI Bordmitteln ja schlecht so schön Anzeigen wir ihr das oben macht, oder?

                  Da wir gerade bei code-optimierungen sind: hat jemand schonmal proc_knx.php angeschaut um den TUNNELING out of sequence zu addressieren?

                  Gruß
                  Thorsten

                  Kommentar


                    #10
                    Zitat von ThorstenGehrig Beitrag anzeigen
                    Die CPU Usage lässt sich da mit EDOMI Bordmitteln ja schlecht so schön Anzeigen wir ihr das oben macht, oder?
                    Das sind Screenshots aus dem Proxmox. Gruß André

                    ...and I thought my jokes were bad!

                    Kommentar


                      #11
                      Mit Boardmittel könnt ihr die Prozesse mit top in der Shell überwachen.

                      Sprich: Änderung rückgängig machen, dann mit top über paar Sekunden schauen was die Prozesse machen. Top sortiert nach der Reihenfolge von max -> min.

                      Kommentar


                        #12
                        btop noch etwas ausführllicher inkl. Temperaturanzeige der CPU.
                        Das hier hat nicht viel gebracht, eher die Aktualisierung des MQTT-LBS

                        Kommentar


                          #13
                          Zitat von Ottorino Beitrag anzeigen
                          ... eher die Aktualisierung des MQTT-LBS
                          oh - wo?
                          Hab MQTT reichlich im Einsatz! :-)
                          der hier? https://knx-user-forum.de/forum/proj...mqtt-connector

                          Ich hab noch alles auf den "alten" Bausteinen von Jonofe...

                          Gruß
                          Thorsten
                          Zuletzt geändert von ThorstenGehrig; Gestern, 20:35.

                          Kommentar


                            #14
                            Ja der “alte“ Baustein von Jonofe braucht deutlich mehr Ressourcen als die neue Implementierung.

                            proc_knx.php habe ich vieles überarbeitet und seitdem keinen einzigen Fehler mehr.
                            Aber da es mehr als eine kleine Änderung in einer Codezeile erfordert, darf ich es aus bekannten Copyright Gründen nicht veröffentlichen.

                            Kommentar


                              #15
                              philipp900 ich sag mal so die optimierten "Codeschnipsel" zu veröffentlichen ist ja keine Copyright Verletzung, da diese ja nicht diesem Gä.... gehören... und was der eine oder andere daraus macht bleibt ja dann jedem selbst überlassen....

                              Kommentar

                              Lädt...
                              X