2010-12-20 12 views
2

Ich habe MySQL, das auf Produktionsserver für PHP-Webshop-Anwendung verwendet wird.Wie überprüfe ich die MySQL-Leistung?

manchmal funktioniert es sehr langsam. Also, ich werde die Indizes für mehrere Tabellen ändern.

aber vorher muss ich eine Art "Schnappschuss" der aktuellen Leistungen machen (mehrmals am Tag). Danach werde ich die Indizes ändern und einen neuen "Performance Snapshot" erstellen. Dann werde ich einige Änderungen in der Datenbank vornehmen und einen weiteren "Performance-Snapshot" erstellen.

wie kann ich das "Performance Snapshot" machen? ist es möglich, eine Art Werkzeug zu benutzen, oder ein paar Logs zu kacken, oder ...?

wenn Sie mir helfen können, das zu tun.

danke im voraus!

Antwort

1

Wenn Sie ein kommerzielles Produkt kaufen möchten, gibt es die MySQL Query Analyzer

Andernfalls Sie die SQL Profiler verwenden könnte, die bereits mit MySQL enthalten ist.

Der SQL Profiler ist in den Datenbankserver integriert und kann über das MySQL Client-Dienstprogramm dynamisch aktiviert/deaktiviert werden. Zunächst Abfragen Profilierungs eine oder mehrere SQL, geben Sie einfach den folgenden Befehl ein:

mysql> set profiling=1; 

Danach werden Sie die Dauer jedes Ihrer Abfragen sehen, wie Sie sie laufen.

+0

gut, aber Abfragen von PHP-Skript ausgeführt werden. Außerdem ist die Anwendung in Produktion, so dass ich in bestehenden Skripten nichts ändern kann. – user198003

+1

@user: Nur weil es in einem PHP-Skript ausgeführt wird, bedeutet das nicht, dass Sie Beispielabfragen nicht manuell ausführen können. –

Verwandte Themen