Frage zu MySQL auf meinem Server

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

  • Frage zu MySQL auf meinem Server

    Moin!

    Ich habe einen extra Server für MySQL.
    Der Server hat 2 Prozessoren.
    Wie kann ich erkennen, dass MySQL auch wirklich beide Prozessoren nutzt?

    Schaue ich auf dem Server ins "TOP" so nutzen MySQL Prozesse maximal 99% der CPU.
    In einem solchen Fall ist der Idle Wert bei (logischerweise) um die 50%.
    Mehr an CPU Resourcen nimmt sich MySQL NIE.
    Daher meine Vermutung, dass ein Prozessor gar nicht verwendet wird.

    Leider habe ich null Ahnung wo und wie ich das nachprüfen kann.

    Evtl. könnt ihr mir helfen...
    Danke!

  • #2
    IMO ist das völlig uninteressant wie viele Prozessoren du verbaut hast. MySQL startet für jede Verbindung einen Thread und der wird von "Linux" verwaltet. d.H das Betriebssystem verteilt das ganze auf die verschiedenen CPU´s.

    Bei TOP musst du erst mal auf die 1 drücken um den 2ten Prozessor zu sehen. Das dieser sich komplett langweilt kann ich mir nicht vorstellen.
    gruss Chris

    [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

    Kommentar


    • #3
      MySQL :: MySQL 5.0 Reference Manual :: A.1 MySQL 5.0 FAQ ? General

      Ansonsten verstehe ich gerade nicht, was du mit diesem Thread bezweckst.
      "Wie gehe ich mit top um?" -> $ man top
      Anfangsfragen lassen sich doch ganz einfach (und deutlich schneller) via Google und co klären.

      Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

      bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
      Wie man Fragen richtig stellt

      Kommentar


      • #4
        Zitat von hhcm Beitrag anzeigen
        IMO ist das völlig uninteressant wie viele Prozessoren du verbaut hast. MySQL startet für jede Verbindung einen Thread und der wird von "Linux" verwaltet. d.H das Betriebssystem verteilt das ganze auf die verschiedenen CPU´s.

        Bei TOP musst du erst mal auf die 1 drücken um den 2ten Prozessor zu sehen. Das dieser sich komplett langweilt kann ich mir nicht vorstellen.
        Das dachte ich eigentlich auch, und wurde so auch in den MYSQL Büchern immer so geschrieben.

        Es ist nur halt IMMER so, dass ein Prozessor sich komplett langweilt und von dem beschäftigten Prozessor auch nur einer der Kerne aktiv ist (Siehe Anhang).
        Der 2. Kern ist nur dann etwas aktiv wenn Systemprozesse auf dem Server laufen.

        Aber generell ist es so:
        3 Kerne langweilen sich
        1 Kern ist voll busy

        Also schließe ich daraus, dass nicht alle Kerne verwendet werden und ein Prozessor brach liegt.

        @ghostgambler: Ganz ehrlich verstehe ICH nicht was es an meiner Frage misszuverstehen gibt.
        Angehängte Dateien

        Kommentar


        • #5
          Du wolltest wissen wie du sicher stellen kannst, das alle Prozesse arbeiten. Und diese Antwort hättest du mit Leichtigkeit bei Google finden können.

          Zu deinem eigentlichen Problem, was du erst seit deinem jetzigen Post überhaupt hast, findest du Antworten übrigens auch bei Google.
          Zum Beispiel findest du dort, dass Queries selbst nicht gesplittet werden können, sondern wenn nur die Abarbeitung eines gesamten Queries auf eine andere CPU geschoben werden kann. Und du findest dort, dass es Scheduling Algorithmen gibt, die erst dann einen zweiten Kern benutzen, wenn der erste vollkommen ausgelastet ist.
          Da du in deiner Grafik gerade mal 30% einer CPU verwendest, macht es keinen Sinn eine zweite CPU-Auslastung suchen zu wollen. Die Belastung ist einfach zu niedrig.
          Eine Möglichkeit wäre zum Beispiel einen Pseudo-Stresstest auszuführen, welcher eine derartige Last erzeugt, dass du repräsentative top-Ausgaben liefern kannst.
          Frei nach MySQL Bugs: #15661: MySQL only uses 1 CPU on SMP
          Please, try to create some "long running" parallel tasks on this server (use a shell
          script to open >=8 connections, each of them selecting something large and NOT
          disconnecting immediately, for example), let it run for some time and then check top
          results once more.
          Die Suche hat mich 5 Minuten gekostet, während du hier schon drei Stunden auf eine Antwort wartest. Vielleicht verstehst du jetzt was ich meine...


          Auf dem Server, dessen top-Ausgabe ich gerade vor mir habe, ist die Situation übrigens identisch. Vier Kerne, ein Prozess, und nur wenn beim MySQL-Prozess %CPU=255 (zum Beispiel, Hauptsache > 100) ist, werden auch andere Kerne genutzt.

          Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

          bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
          Wie man Fragen richtig stellt

          Kommentar


          • #6
            Es tut mir sehr leid, dass ich Dich mit Fragen genervt habe, die man binnen 5 Minuten im Google findet.

            Schaltet doch bitte das Forum hier ab, denn:

            1. Man findet ALLES binnen 5 Minuten im Google...
            2. Scheint es nicht gewollt zu sein, Fragen zu beantworten bei denen der Fragesteller lieber einen deutschsprachigen Menschen als Partner hat, als eine evtl. englischsprachige Seite.
            3. Ist es hier wohl noch immer üblich lieber einen dummen Spruch über die Unzulänglichkeiten des Fragenden abzulassen, als einfach zu helfen oder, um es mal salopp zu sagen, einfach "mal die Fresse zu halten".

            Lieber Ghostgambler...
            Schau Dir mal Deine Antworten an und vergleiche die mal mit der kurzen und knappen Antwort von "hhcm".
            Obwohl Du das 10fache an Text schreibst, kommt von dir, bis auf die üblichen "anraunzer" nix wirklich produktives rüber...
            Ganz im Gegenteil... Deine offensive und abwertende Art ist wohl Dein Beweis Deines zerebralen Offenbarungseides.

            Das Problem habe ich nun, dank der Hilfe von hhcm und eines anderen Users abstellen können.
            Es war natürlich eine Fehlkonfiguration des Servers bzw. von MySQL.
            Nun wird die Last, auch wenn es nur 30% CPU Last EINES Kernes sind, so gleichmäßig wie möglich auf alle Kerne verteilt, was einen erheblichen Geschwindigkeitsvorteil für die User und eine erhebliche Entlastung für die Server, die auf diese Datenbanken zugreifen, zur Folge hat.
            Aber was rede ich..... Steht ja alles im Google.

            Danke hhcm und Danke an Roger (für die kleine MySQL für Newbees Session) .

            Kommentar


            • #7
              Jetzt bin ich schuld an schlechter Hilfe, weil du dich mit deinem Problem nicht vorher mal hingesetzt hast, und versucht hast es einzukreisen, um hier konkrete Hilfsanfragen zu stellen anstatt einem globalen "Weiß nix, kann nix, mach mal".

              Ich verweise mal auf etwas Leselektüre:
              http://www.tty1.net/smart-questions_de.html#beprecise
              http://www.tty1.net/smart-questions_de.html#grovelling
              http://www.tty1.net/smart-questions_de.html#not_losing
              http://www.tty1.net/smart-questions_de.html#classic


              Ansonsten hätte es deinen Schädel in ein weitaus besseres Licht gerückt, wenn du anstatt des öffentlichen Rumgeheules über mich bösen bösen Bub, die Lösung gepostet hättest, für den nächsten – der dann hoffentlich vorher die Suchmaschine nutzt – und dann diesen Thread hier findet.

              Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

              bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
              Wie man Fragen richtig stellt

              Kommentar


              • #8
                Zitat von jonas01 Beitrag anzeigen
                Das Problem habe ich nun, dank der Hilfe von hhcm und eines anderen Users abstellen können.
                Es war natürlich eine Fehlkonfiguration des Servers bzw. von MySQL.
                Nun wird die Last, auch wenn es nur 30% CPU Last EINES Kernes sind, so gleichmäßig wie möglich auf alle Kerne verteilt, was einen erheblichen Geschwindigkeitsvorteil für die User und eine erhebliche Entlastung für die Server, die auf diese Datenbanken zugreifen, zur Folge hat.
                Aber was rede ich..... Steht ja alles im Google.

                Danke hhcm und Danke an Roger (für die kleine MySQL für Newbees Session) .
                Es wäre nett, wenn du die Lösung für die Nachwelt postest, Danke.

                Kommentar

                Lädt...
                X