Agentur für Neue Medien


Die Performance von MySQL-Datenbank-Abfragen testen

Wer die Performance des MySQL-Datenbankservers überprüfen möchte, z.B. um langsamen SQL-Abfragen auf die Schliche zu kommen, kann ein kleines Kommandozeilen-Tool namens "mytop" dazu verwenden. Ähnlich wie das Tool "top" in kurzen Intervallen den aktuellen Server-Status abfragt und anzeigt, macht das "mytop" eben mit der MySQL-Datenbank.

Eventuell muss dieses kleine Tool aber erst noch nachinstalliert werden. Auf meinem Plesk-Server unter Suse-Linux läßt sich dies ganz einfach bewerkstelligen in dem man unter SSH einfach "yast2" aufruft und dann nach "mytop" sucht und es zur Installation auswählt - fertig.

Nach dem man es installiert und Yast wieder beendet hat, kann man es mit folgendem Befehl aufrufen:

mytop -u admin -p adminpassword -d dbname

Wobei "adminpassword" natürlich durch das Passwort des Administrators und "dbname" durch den Namen der Datenbank ersetzt werden muss.

Anschließend werden kontinuierlich die jeweiligen Datenbank-Zugriffe aufgelistet und auch einige interessante Informationen, wie z.B. Ausführungsdauer, User und das SQL-Statement angezeigt. Selbst Hinweise auf langsame Zugriffe und die Effizienz der Indizes werden angezeigt.

Möchte man dann eine bestimmte Abfrage genauer unter die Lupe nehmen kann man durch Drücken der Taste "f" eine bestimmte Thread-ID detailierter anzeigen lassen und durch Drücken der Taste "e" sogar noch weitere Informationen z.B. über den verwendeten Index und die Anzahl der durchsuchten Datensätze usw. anzeigen. Das stellt eine großartige Möglichkeit dar, z.B. die Indizes der Datenbanken zu optimieren oder zu langsame SQL-Abfragen zu identifizieren und zu verbessern.

Noch ein kleiner Tipp: Mit der Taste "s" lässt sich der Aktualisierungs-Intervall von "mytop" verändern.

Weitere Befehle und Erklärungen zu "mytop" findet man hier.

comments powered by Disqus

Copyright SKom 2006

Ecke rechts unten