2008-08-21 24 views
52

"Microsoft SQL Server Profiler es una interfaz gráfica de usuario para SQL Trace para monitorear una instancia de Database Engine o Analysis Services."¿Hay un equivalente de Profiler para MySql?

Creo que el uso de SQL Server Profiler es extremadamente útil durante el desarrollo, las pruebas y cuando estoy depurando problemas de la aplicación de la base de datos. ¿Alguien sabe si hay un programa equivalente para MySql?

Respuesta

30

Algo genial que está en la versión 5.0.37 del servidor de la comunidad es MySQL's new profiler .

Esto puede darle la información que está buscando.

+11

Para su información, el enlace de arriba parece que está muerto, se llevó a una página de búsqueda en blanco de Orace. Aquí hay un enlace a la sintaxis SHOW PERFILES que lo ayudará a hacer lo que desea hacer: http://dev.mysql.com/doc/refman/5.0/en/show-profiles.html. – Bialecki

+3

FYI: Actualización del vínculo original con la instantánea de la WayBackMachine – Leigh

0

No conozco ninguna aplicación de creación de perfiles como tal, pero es común usar la sintaxis de EXPLAIN para analizar las consultas. Puede usarlos para descubrir los mejores índices para crear, o puede intentar cambiar la consulta general y ver cómo cambia la eficiencia, etc.

1

Si la versión 5.0.37 no está disponible, es posible que desee consultar mytop. Simplemente genera el estado actual del servidor, pero le permite ejecutar EXPLAIN como (mencionado por mercutio) en consultas particulares.

8

¿Desea controlar el rendimiento o simplemente ver qué consultas se están ejecutando? Si es el último, puede configurar MySQL para registrar todas las consultas que se le proporcionan. En un cuadro de RedHat Linux, es posible añadir

log = /var/lib/mysql/query.log

a la sección [mysqld] de /etc/my.cnf antes de reiniciar MySQL.

Recuerde que en una situación de base de datos ocupada, esos registros pueden crecer bastante.

3

Jet Profiler es bueno si se trata de una versión de pago. El LogMonitor simplemente lo apunta al archivo de registro de mysql.

6

¡Pruebe JET profiler es una herramienta de diagnóstico y rendimiento de consultas en tiempo real! Lo uso en mi trabajo. Excelente software y soporte. Review Jet Profiler for MySQL

2

En mi opinión todo lo que he encontrado aquí en crudo ....

buscar y abrir el archivo de configuración de MySQL, por lo general /etc/mysql/my.cnf en Ubuntu. Busque la sección que dice “Inicio de sesión y la replicación”

# * 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 en nuevas versiones de MySQL, comente estas líneas de códigos

general_log_file  = /var/log/mysql/mysql.log 
general_log    = 1 
log_error    = /var/log/mysql/error.log 

Simplemente elimine el comentario de “log” variable para activar el registro. Reinicie MySQL con este comando: sudo /etc/init.d/mysql restart

Ahora estamos listos para comenzar a monitorear las consultas a medida que ingresan. Abra una nueva terminal y ejecute este comando para desplazar el archivo de registro , ajustando el camino si es necesario.

tail -f /var/log/mysql/mysql.log 
+0

personas están informando de que esto no funciona en la última versión, y uso: ' general_log = on' ' general_log_file =/ruta/a/query.log' vez que encontré en https://stackoverflow.com/questions/6479107/how-to-enable-mysql-query-log#comment50242203_6479183 –

0

No está seguro acerca de la interfaz gráfica de usuario, pero hay un comando que me ha ayudado perfil procedimientos almacenados mucho en MySQL utilizando el banco de trabajo:

SET profiling = 1; 
call your_procedure; 
SHOW PROFILES; 
SET profiling = 0; 
Cuestiones relacionadas