Ankündigung

Einklappen
Keine Ankündigung bisher.

...konnte nicht pausiert werden...

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

    #31
    Die VM macht aber keinen Sinn wenn nicht alle LBS korrekt eingerichtet werden... und das ist fuer ein Produktivsystem jetz nicht so trivial
    Aber ich hab noch ein Logfile, vielleicht hilft das ja weiter. Ist ein komplettes MySQL Log, passend zu diesem Haenger hier (der wieder mal 1:12 gedauert hat):
    Code:
    2017-02-25 20:24:17    885201    MAIN    21217    mySQL: Connect    Ok
    2017-02-25 20:25:29    301892    MAIN    21217    Check: 97 Datenbanken überprüft (0 Fehler)    Ok
    MySQL sagt, das folgende waere passiert:
    Code:
    170225 20:24:17  6896 Quit
                     7342 Connect   root@localhost on
                     7342 Query     SHOW DATABASES LIKE 'edomi%'
                     7342 Query     SHOW TABLE STATUS IN edomiAdmin
                     7342 Query     CHECK TABLE edomiAdmin.project
                     7342 Query     OPTIMIZE TABLE edomiAdmin.project
                     7342 Query     CHECK TABLE edomiAdmin.user
                     7342 Query     OPTIMIZE TABLE edomiAdmin.user
                     7342 Query     SHOW TABLE STATUS IN edomiLive
                     7342 Query     CHECK TABLE edomiLive.IRtrans
                     7342 Query     OPTIMIZE TABLE edomiLive.IRtrans
                     7342 Query     CHECK TABLE edomiLive.agenda
                     7342 Query     OPTIMIZE TABLE edomiLive.agenda
                     7342 Query     CHECK TABLE edomiLive.agendaData
                     7342 Query     OPTIMIZE TABLE edomiLive.agendaData
                     7342 Query     CHECK TABLE edomiLive.archivCam
                     7342 Query     OPTIMIZE TABLE edomiLive.archivCam
                     7342 Query     CHECK TABLE edomiLive.archivCamData
                     7342 Query     OPTIMIZE TABLE edomiLive.archivCamData
                     7342 Query     CHECK TABLE edomiLive.archivKo
                     7342 Query     OPTIMIZE TABLE edomiLive.archivKo
                     7342 Query     CHECK TABLE edomiLive.archivKoData
    170225 20:24:18  7340 Query     SELECT value FROM edomiLive.RAMsysInfo WHERE (id=1)
                     7340 Query     SELECT s1 AS anz1 FROM edomiLive.RAMsysProc WHERE id=1
    170225 20:24:19  7340 Query     SELECT value FROM edomiLive.RAMsysInfo WHERE (id=1)
                     7340 Query     SELECT s1 AS anz1 FROM edomiLive.RAMsysProc WHERE id=1
    So geht das dann sekuendlich weiter, bis hier:
    Code:
    170225 20:24:44  7340 Query     SELECT value FROM edomiLive.RAMsysInfo WHERE (id=1)
                     7340 Query     SELECT s1 AS anz1 FROM edomiLive.RAMsysProc WHERE id=1
    170225 20:24:45  7340 Query     SELECT value FROM edomiLive.RAMsysInfo WHERE (id=1)
                     7340 Query     SELECT s1 AS anz1 FROM edomiLive.RAMsysProc WHERE id=1
    170225 20:24:48  7340 Query     SELECT value FROM edomiLive.RAMsysInfo WHERE (id=1)
                     7340 Query     SELECT s1 AS anz1 FROM edomiLive.RAMsysProc WHERE id=1
                     7340 Query     SELECT value FROM edomiLive.RAMsysInfo WHERE (id=1)
                     7340 Query     SELECT s1 AS anz1 FROM edomiLive.RAMsysProc WHERE id=1
                     7340 Quit
    Also bis 20:24:48... und dann:
    Code:
    170225 20:25:29  7342 Query     CHECK TABLE edomiLive.archivMsg
                     7342 Query     OPTIMIZE TABLE edomiLive.archivMsg
                     7342 Query     CHECK TABLE edomiLive.archivMsgData
                     7342 Query     OPTIMIZE TABLE edomiLive.archivMsgData
                     7342 Query     CHECK TABLE edomiLive.archivPhone
                     7342 Query     OPTIMIZE TABLE edomiLive.archivPhone
                     7342 Query     CHECK TABLE edomiLive.archivPhoneData
                     7342 Query     OPTIMIZE TABLE edomiLive.archivPhoneData
                     7342 Query     CHECK TABLE edomiLive.aws
                     7342 Query     OPTIMIZE TABLE edomiLive.aws
                     7342 Query     CHECK TABLE edomiLive.awsData
                     7342 Query     OPTIMIZE TABLE edomiLive.awsData
                     7342 Query     CHECK TABLE edomiLive.awsList
                     7342 Query     OPTIMIZE TABLE edomiLive.awsList
                     7342 Query     CHECK TABLE edomiLive.cam
                     7342 Query     OPTIMIZE TABLE edomiLive.cam
                     7342 Query     CHECK TABLE edomiLive.chart
                     7342 Query     OPTIMIZE TABLE edomiLive.chart
                     7342 Query     CHECK TABLE edomiLive.chartList
                     7342 Query     OPTIMIZE TABLE edomiLive.chartList
                     7342 Query     CHECK TABLE edomiLive.email
                     7342 Query     OPTIMIZE TABLE edomiLive.email
                     7342 Query     CHECK TABLE edomiLive.httpKo
                     7342 Query     OPTIMIZE TABLE edomiLive.httpKo
                     7342 Query     CHECK TABLE edomiLive.ip
                     7342 Query     OPTIMIZE TABLE edomiLive.ip
                     7342 Query     CHECK TABLE edomiLive.ko
                     7342 Query     OPTIMIZE TABLE edomiLive.ko
                     7342 Query     CHECK TABLE edomiLive.logicCmdList
                     7342 Query     OPTIMIZE TABLE edomiLive.logicCmdList
                     7342 Query     CHECK TABLE edomiLive.logicElement
                     7342 Query     OPTIMIZE TABLE edomiLive.logicElement
                     7342 Query     CHECK TABLE edomiLive.logicElementVar
                     7342 Query     OPTIMIZE TABLE edomiLive.logicElementVar
                     7342 Query     CHECK TABLE edomiLive.logicLink
                     7342 Query     OPTIMIZE TABLE edomiLive.logicLink
                     7342 Query     CHECK TABLE edomiLive.phoneBook
                     7342 Query     OPTIMIZE TABLE edomiLive.phoneBook
                     7342 Query     CHECK TABLE edomiLive.phoneCall
                     7342 Query     OPTIMIZE TABLE edomiLive.phoneCall
                     7342 Query     CHECK TABLE edomiLive.root
                     7342 Query     OPTIMIZE TABLE edomiLive.root
                     7342 Query     CHECK TABLE edomiLive.scene
                     7342 Query     OPTIMIZE TABLE edomiLive.scene
                     7342 Query     CHECK TABLE edomiLive.sceneList
                     7342 Query     OPTIMIZE TABLE edomiLive.sceneList
                     7342 Query     CHECK TABLE edomiLive.sequence
                     7342 Query     OPTIMIZE TABLE edomiLive.sequence
                     7342 Query     CHECK TABLE edomiLive.sequenceList
                     7342 Query     OPTIMIZE TABLE edomiLive.sequenceList
                     7342 Query     CHECK TABLE edomiLive.timer
                     7342 Query     OPTIMIZE TABLE edomiLive.timer
                     7342 Query     CHECK TABLE edomiLive.timerData
                     7342 Query     OPTIMIZE TABLE edomiLive.timerData
                     7342 Query     CHECK TABLE edomiLive.visu
                     7342 Query     OPTIMIZE TABLE edomiLive.visu
                     7342 Query     CHECK TABLE edomiLive.visuAnim
                     7342 Query     OPTIMIZE TABLE edomiLive.visuAnim
                     7342 Query     CHECK TABLE edomiLive.visuBGcol
                     7342 Query     OPTIMIZE TABLE edomiLive.visuBGcol
                     7342 Query     CHECK TABLE edomiLive.visuCmdList
                     7342 Query     OPTIMIZE TABLE edomiLive.visuCmdList
                     7342 Query     CHECK TABLE edomiLive.visuElement
                     7342 Query     OPTIMIZE TABLE edomiLive.visuElement
                     7342 Query     CHECK TABLE edomiLive.visuElementStyle
                     7342 Query     OPTIMIZE TABLE edomiLive.visuElementStyle
                     7342 Query     CHECK TABLE edomiLive.visuFGcol
                     7342 Query     OPTIMIZE TABLE edomiLive.visuFGcol
                     7342 Query     CHECK TABLE edomiLive.visuFont
                     7342 Query     OPTIMIZE TABLE edomiLive.visuFont
                     7342 Query     CHECK TABLE edomiLive.visuPage
                     7342 Query     OPTIMIZE TABLE edomiLive.visuPage
                     7342 Query     CHECK TABLE edomiLive.visuUser
                     7342 Query     OPTIMIZE TABLE edomiLive.visuUser
                     7342 Query     CHECK TABLE edomiLive.visuUserList
                     7342 Query     OPTIMIZE TABLE edomiLive.visuUserList
                     7342 Query     SHOW TABLE STATUS IN edomiProject
                     7342 Query     CHECK TABLE edomiProject.editAgenda
                     7342 Query     OPTIMIZE TABLE edomiProject.editAgenda
                     7342 Query     CHECK TABLE edomiProject.editAgendaData
                     7342 Query     OPTIMIZE TABLE edomiProject.editAgendaData
                     7342 Query     CHECK TABLE edomiProject.editArchivCam
                     7342 Query     OPTIMIZE TABLE edomiProject.editArchivCam
                     7342 Query     CHECK TABLE edomiProject.editArchivCamData
                     7342 Query     OPTIMIZE TABLE edomiProject.editArchivCamData
                     7342 Query     CHECK TABLE edomiProject.editArchivKo
                     7342 Query     OPTIMIZE TABLE edomiProject.editArchivKo
                     7342 Query     CHECK TABLE edomiProject.editArchivKoData
                     7342 Query     OPTIMIZE TABLE edomiProject.editArchivKoData
                     7342 Query     CHECK TABLE edomiProject.editArchivMsg
                     7342 Query     OPTIMIZE TABLE edomiProject.editArchivMsg
                     7342 Query     CHECK TABLE edomiProject.editArchivMsgData
                     7342 Query     OPTIMIZE TABLE edomiProject.editArchivMsgData
                     7342 Query     CHECK TABLE edomiProject.editArchivPhone
                     7342 Query     OPTIMIZE TABLE edomiProject.editArchivPhone
                     7342 Query     CHECK TABLE edomiProject.editArchivPhoneData
                     7342 Query     OPTIMIZE TABLE edomiProject.editArchivPhoneData
                     7342 Query     CHECK TABLE edomiProject.editAws
                     7342 Query     OPTIMIZE TABLE edomiProject.editAws
                     7342 Query     CHECK TABLE edomiProject.editAwsData
                     7342 Query     OPTIMIZE TABLE edomiProject.editAwsData
                     7342 Query     CHECK TABLE edomiProject.editAwsList
                     7342 Query     OPTIMIZE TABLE edomiProject.editAwsList
                     7342 Query     CHECK TABLE edomiProject.editCam
                     7342 Query     OPTIMIZE TABLE edomiProject.editCam
                     7342 Query     CHECK TABLE edomiProject.editChart
                     7342 Query     OPTIMIZE TABLE edomiProject.editChart
    Und so weiter und so fort... wieso ist da eine Pause von 40s?

    Wenns hilft kann ich das komplette Logfile schicken, ist nur etwas groesser

    EDIT: und wieso sind die Queries davor sekuendlich? Das geht doch auch schneller?
    Zuletzt geändert von wintermute; 25.02.2017, 20:38. Grund: die Sekunden... die Sekunden...

    Kommentar


      #32
      Die 7340 stammt vermutlich vom Hauptprozess - der fragt im Sekundentakt einen Status ab (dies hat mit dem DB-Check nichts zu tun).

      Die 7342 stammt hingegen von dem "Check-Prozess" und dieser braucht offenbar bei "CHECK TABLE edomiLive.archivKoData" ziemlich lange! Das ist die Datenarchiv-DB mit vermutlich recht vielen Einträgen und Dein System ist offenbar nicht das Schnellste auffe Welt

      Wieviele Einträge sind denn in dieser DB?
      EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

      Kommentar


        #33
        Ah, danke! Das bringt Licht ins Dunkel
        Also, auf den 7342er (und die wichtigen Dinge) beschraenkt sieht es so aus (also so, wie Du sagst):
        Code:
        170225 20:24:17  7342 Connect   root@localhost on
                         7342 Query     SHOW DATABASES LIKE 'edomi%'
                         7342 Query     SHOW TABLE STATUS IN edomiAdmin
                         7342 Query     CHECK TABLE edomiAdmin.project
                         7342 Query     OPTIMIZE TABLE edomiAdmin.project
        ...
                         7342 Query     OPTIMIZE TABLE edomiLive.archivKo
                         7342 Query     CHECK TABLE edomiLive.archivKoData
        170225 20:24:27  7342 Query     OPTIMIZE TABLE edomiLive.archivKoData
        170225 20:25:29  7342 Query     CHECK TABLE edomiLive.archivMsg
                         7342 Query     OPTIMIZE TABLE edomiLive.archivMsg
                         7342 Query     CHECK TABLE edomiLive.archivMsgData
        Die KoData ist "die grosse" Tabelle, um konkret zu werden:
        Code:
        [root@edomi ~]# mysql -u root -e "SELECT COUNT(*) FROM edomiLive.archivKoData;"
        +----------+
        | COUNT(*) |
        +----------+
        |  3355616 |
        +----------+
        Das deckt sich dann auch mit meiner Empfindung, es wuerde umso haeufiger auftreten, je laenger das Projekt laeuft, sich also irgendwie festfressen wuerde...

        Komischerweise ists aber nun so, dass sich das System waehrend des Optimize doch eher langweilt. Ich haette jetzt mit io-states oder hoeher CPU-Last gerechnet, was aber beides nicht der Fall ist. Scheint einfach in der Natur der Sache zu liegen
        Buffergroessen in der my.cnf sehen mir auch gut aus - muss ich fuer historische Daten wohl weiterhin auf RRDs zurueckgreifen

        Tante Edith meint ich sollte noch erwaehnen wo die 60s herkommen
        Code:
        [root@edomi ~]# time mysql -u root -e "OPTIMIZE TABLE edomiLive.archivKoData"
        +------------------------+----------+----------+----------+
        | Table                  | Op       | Msg_type | Msg_text |
        +------------------------+----------+----------+----------+
        | edomiLive.archivKoData | optimize | status   | OK       |
        +------------------------+----------+----------+----------+
        
        real    0m58.284s
        user    0m0.014s
        sys    0m0.008s
        Zuletzt geändert von wintermute; 25.02.2017, 23:49. Grund: gone in 60 seconds...

        Kommentar


          #34
          "Glückwunsch"?! Na immerhin sind wir jetzt schlauer...

          3,5 Mio Records ist ja auch schonmal ne Hausnummer - da werden einige Versicherungen durchaus neidisch, wenn die sich ihre Kunden-DB angucken

          Nun könnte man natürlich den GUI-Timeout entsprechend erhöhen, falls dies in Deinem Sinne ist? Irgendein Timeout ist schon sinnvoll, denn anders geht's nicht: Es könnte ja sein, dass der Hauptprozess nicht mehr reagiert (warum auch immer), also nicht in der Lage ist ein "ich bin fertig" zu senden...
          EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

          Kommentar


            #35
            Hallo miteinander

            also ich weiss auch nicht so recht. 3,5 Mio Records soll viel sein? Ich bin mittlerweile auch schon bei 2 Mio angekommen und gehe davon aus, dass das locker noch das zehnfache wird. Von daher scheint es auf jeden Fall sehr relevant zu sein, wie performant die verwendete Hardware ist. wintermute: Was steckt denn da bei Dir drunter?
            Kind regards,
            Yves

            Kommentar


              #36
              Ich habe 1,5 Mio und time mysql -u root -e "OPTIMIZE TABLE edomiLive.archivKoData" (Virtuell mit Proxmox)
              real 0m0.438s
              user 0m0.001s
              sys 0m0.003s
              Zuletzt geändert von hartmut; 26.02.2017, 18:22. Grund: Zeiten nachgetragen

              Kommentar


                #37
                So siehts hier aus:

                Code:
                # time mysql -u root -e "OPTIMIZE TABLE edomiLive.archivKoData"                                                                                                                       ~
                +------------------------+----------+----------+----------+
                | Table                  | Op       | Msg_type | Msg_text |
                +------------------------+----------+----------+----------+
                | edomiLive.archivKoData | optimize | status   | OK       |
                +------------------------+----------+----------+----------+
                mysql -u root -e "OPTIMIZE TABLE edomiLive.archivKoData"  0.02s user 0.02s system 2% cpu 1.217 total
                Ebenfalls eine VM mit zwei Cores und 4G Memory unter Proxmox auf einem IBM x3850M2. Auf der Maschine laufen noch eine Handvoll weiterer VMs aber mit 4x Quad Xeon XP und 128G RAM hat es genug Reserven.
                Kind regards,
                Yves

                Kommentar


                  #38
                  hier siehts so aus:
                  VM, 2gb Ram und 1 virtueller Prozessor

                  Code:
                  [root@Edomi ~]# mysql -u root -e "SELECT COUNT(*) FROM edomiLive.archivKoData;"
                  +----------+
                  | COUNT(*) |
                  +----------+
                  |   906524 |
                  +----------+
                  [root@Edomi ~]# time mysql -u root -e "OPTIMIZE TABLE edomiLive.archivKoData"
                  +------------------------+----------+----------+----------+
                  | Table                  | Op       | Msg_type | Msg_text |
                  +------------------------+----------+----------+----------+
                  | edomiLive.archivKoData | optimize | status   | OK       |
                  +------------------------+----------+----------+----------+
                  
                  real    0m2.350s
                  user    0m0.043s
                  sys     0m0.027s
                  [root@Edomi ~]#

                  Kommentar


                    #39
                    Die Ausführungszeit von "optimize" ist natürlich auch stark von der "Defragmentierung" der Daten abhängig - nicht so sehr von deren Anzahl (primär). Im worst-case müssen alle Records umgeschaufelt werden, was je nach Hardware (insb. Massenspeicher) seine Zeit braucht - da hilft auch kein Index etc. mehr... Das Alles hat im normalen Betrieb eher keine Bedeutung, denn da ist's mySql (fast) egal, wie groß die Datenmengen sind.
                    EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

                    Kommentar


                      #40
                      Jaaa, das mit den Optimize-Messungen macht nun IMHO nicht sooo viel Sinn...

                      Bei meiner Tabelle komme ich zum Beispiel auf sowas:
                      Code:
                      [root@edomi ~]# time mysql -u root -e "OPTIMIZE TABLE edomiLive.archivKoData"
                      +------------------------+----------+----------+----------+
                      | Table                  | Op       | Msg_type | Msg_text |
                      +------------------------+----------+----------+----------+
                      | edomiLive.archivKoData | optimize | status   | OK       |
                      +------------------------+----------+----------+----------+
                      
                      real    0m6.944s
                      user    0m0.014s
                      sys    0m0.007s
                      Aber auch auch sowas:
                      Code:
                      [root@edomi ~]# time mysql -u root -e "OPTIMIZE TABLE edomiLive.archivKoData"
                      +------------------------+----------+----------+-----------------------------+
                      | Table                  | Op       | Msg_type | Msg_text                    |
                      +------------------------+----------+----------+-----------------------------+
                      | edomiLive.archivKoData | optimize | status   | Table is already up to date |
                      +------------------------+----------+----------+-----------------------------+
                      
                      real    0m0.022s
                      user    0m0.012s
                      sys    0m0.008s
                      Nur eben haeufiger kommen wir dann auf die "gone in 60 seconds" Nummer...

                      gaert den timeout zu erhoehen macht ja keinen Sinn... das waeren dann jetzt 60s und irgendwann kommt dann jemand anders und dann sinds 120s... generell anders damit umzugehen wuerde IMHO mehr bringen. Wenn das halt dauert, dann dauert das... macht man nix dran

                      Bzgl der Hardware: das ist jetzt kein Number-Cruncher oder dedizierter Datenbank-Host, eher was zuverlaessiges fuer den Heimbereich
                      Supermicro X7SPA-HF, Quadcore Intel(R) Atom(TM) CPU D510 @ 1.66GHz, 2GB RAM, 40GD Intel SSD

                      Kommentar


                        #41
                        Doch, das macht Sinn (timeout) "Irgendeinen" Timeout braucht's - auch wenn's 10 Stunden sind. GUI und Backend sind vollkommen unabhängig voneinander, d.h. die GUI kennt den Zustand des Backends prinzipiell nicht (und umgekehrt). Lässt sich bei einer "Webapplikation" nicht vermeiden...

                        Der Hauptprozess meldet ja irgendwann "fertig", die GUI muss eben ggf. nur lange genug darauf warten. Wenn der Hauptprozess mal "versagen" sollte, wird er sich nie mehr melden, dann greift der Timeout. Die GUI könnte zwar theoretisch das Backend überwachen, aber praktisch ist das (fast) unmöglich, da PHP eine prozessübergreifende Kommunikation nicht gerade fördert

                        Ich werde daher den Timeout mal verlängern - 5 Minuten oder so. "Zu lange" schadet i.d.R. nicht, da das Backend eher selten "abstürzt" (bei mir zumindest)...
                        EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

                        Kommentar

                        Lädt...
                        X