• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Es regnet, ist neblig und kalt, alle sind krank und der Chef wird zunehmend cholerisch. Das Thema des Monats ist also folgerichtig --> Das Grau(en)
    Wir sind gespannt, war Euch dazu einfällt! Zum Wettbewerb --> 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
 

slayer

Gast
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

duderino

Prinzenapfel
Registriert
26.01.06
Beiträge
555
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!
 

Trapper

Meraner
Registriert
12.05.05
Beiträge
232
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).
 

slayer

Gast
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:

duderino

Prinzenapfel
Registriert
26.01.06
Beiträge
555
Hmm, dafür müsste ich erstmal rausfinden wieviele Threads mein Server überhaupt zulässt bzw. mitmacht bevor nicht mehr viel geht.
 

Hilarious

Gelbe Schleswiger Reinette
Registriert
10.08.05
Beiträge
1.759
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.