• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

Datenbankbelastung

duderino

Prinzenapfel
Registriert
26.01.06
Beiträge
555
Hallo, ich suche gerade eine Funktion von MySQL oder PHP um die aktuelle Belastung bzw. die Auslastung eines MySQL-Datenbankservers auszulesen. Kennst da jemand ein Script oder kann mir sagen wie ich sowas realisieren kann?

Grüße
Julian
 
MySQL stellt dafür seinen MySQL Administrator bereit, ein recht schickes cocoa programm, bei dem du unter den Punkten Connections und Health ziemlich genau die aktuelle Auslastung deines Servers überwachen kannst.

Gruss Marco
 

Anhänge

  • mysql_admin.jpg
    mysql_admin.jpg
    48,2 KB · Aufrufe: 118
Leider bringt mir das nichts. Ich will eine Funktion in mein Script einbinden dass verschiedene Komfort-Funktionen abschaltet wenn du Serverbealstung zu hoch wird. Brauche also eine entsprechende Funktion die ich auch mit PHP abrufen und verarbeiten kann. Trotzdem danke!
 
Du könntest mittels SHOW FULL PROCESSLIST abfragen, wieviele Threads gerade laufen und was sie gerade bearbeiten. Also einfach als Query an die DB senden und das Ergebnis parsen. Im einfachsten Fall könnte man nur die Anzahl der zurückgegebenen Zeilen auswerten und als Indikator für die Auslastung verwenden.

Edit: SHOW STATUS liefert auch einige interessante Informationen zur aktuellen Situation des Servers (u.a. auch die Anzahl laufender Threads).
 
oder du benutzt in php direkt, mysql_stat
und gehst dann über wie von Trapper genannt - die Threads - bzw kombinierst das mit "Slow Queries" und "Queries per second avg"

P.S. : sorry, hätte den ersten Thread auch genauer lesen können ;-)
 
Zuletzt bearbeitet von einem Moderator:
Hmm, dafür müsste ich erstmal rausfinden wieviele Threads mein Server überhaupt zulässt bzw. mitmacht bevor nicht mehr viel geht.
 
duderino schrieb:
Hmm, dafür müsste ich erstmal rausfinden wieviele Threads mein Server überhaupt zulässt bzw. mitmacht bevor nicht mehr viel geht.

Solche Informationen bekommst Du (die entsprechenden Rechte vorausgesetzt) mit »SHOW VARIABLES« heraus. Sende dies als Query und fummle die Namen-/Werte-Paare per mysql_fetch_assoc() heraus -- das sollte genauso funktionieren wie bei den »normalen« Abfragen auch. Du bekommst dann so interessante Werte wie »max_connections« oder »qcache_free_blocks«. Hilfreich ist hier auch ein Blick in die Laufzeit-Informationen, die phpMyAdmin ausgeben kann, da hier die meisten Werte ein wenig kommentiert sind.