Esiste un equivalente Profiler per MySql?[Chiuso]
-
09-06-2019 - |
Domanda
"Microsoft SQL Server Profiler è un'interfaccia utente grafica per SQL Trace per il monitoraggio di un'istanza del Motore di database o di Analysis Services."
Trovo che l'utilizzo di SQL Server Profiler sia estremamente utile durante lo sviluppo, i test e quando eseguo il debug dei problemi dell'applicazione del database.Qualcuno sa se esiste un programma equivalente per MySql?
Soluzione
C'è qualcosa di interessante nella versione 5.0.37 del server della comunità Il nuovo profiler di MySQL.
Questo potrebbe darti le informazioni che stai cercando.
Altri suggerimenti
Desideri monitorare le prestazioni o semplicemente vedere quali query sono in esecuzione?In quest'ultimo caso, puoi configurare MySQL per registrare tutte le query fornite.Su una macchina RedHat Linux, potresti aggiungere
log = /var/lib/mysql/query.log
alla sezione [mysqld] di /etc/my.cnf
prima di riavviare MySQL.
Ricordare che in uno scenario di database occupato, tali registri possono diventare piuttosto grandi.
Prova JET profiler è uno strumento di diagnostica e prestazioni delle query in tempo reale!Lo uso nel mio lavoro.Software e supporto eccellenti.Recensione Jet Profiler per MySQL
Secondo me qui ho trovato tutto in raw....
Trova e apri il file di configurazione MySQL, solitamente /etc/mysql/my.cnf su Ubuntu.Cerca la sezione che dice "Registrazione e replica"
# * Logging and Replication
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
log = /var/log/mysql/mysql.log
o nelle versioni più recenti di mysql, commenta queste righe di codice
general_log_file = /var/log/mysql/mysql.log
general_log = 1
log_error = /var/log/mysql/error.log
Basta decommentare la variabile "log" per attivare la registrazione.Riavvia MySQL con questo comando:sudo /etc/init.d/mysql riavviare
Ora siamo pronti per iniziare a monitorare le query man mano che arrivano.Apri un nuovo terminale ed esegui questo comando per scorrere il file di registro, regolando il percorso se necessario.
tail -f /var/log/mysql/mysql.log
Jet Profiler è buono se è una versione a pagamento.Il LogMonitor lo punta semplicemente al file di registro mysql.
Non sono sicuro dell'interfaccia utente grafica, ma esiste un comando che mi ha aiutato molto a profilare le procedure memorizzate in MySQL utilizzando il workbench:
SET profiling = 1;
call your_procedure;
SHOW PROFILES;
SET profiling = 0;
Se la versione 5.0.37 non è disponibile, potresti volerla dare un'occhiata mytop.Fornisce semplicemente lo stato corrente del server, ma consente di eseguire EXPLAIN as (menzionato da mercutio) su query particolari.
Usare Neor Profiler SQL è eccellente!!e l'applicazione è gratuita per tutti gli utenti. http://www.profilesql.com/download/
Non conosco app di profilazione in quanto tali, ma è normale utilizzare la sintassi EXPLAIN per analizzare le query.Puoi utilizzarli per individuare gli indici migliori da creare oppure puoi provare a modificare la query complessiva e vedere come cambia l'efficienza, ecc.