Muchas veces puede surgir la necesidad de conocer como está funcionando nuestra base de datos, ya sea por algún fallo o simplemente si se desea monitorizar regularmente su estado. MySQL almacena en sus tablas de sistema, información acerca de las operaciones realizadas en el servidor. Esta información es fácilmente accesible mediante la siguiente sentencia:
💼 Empleos tech relacionados:
- Desarrollador Base de Datos · Branchbit
- Administrador de Base de Datos SQL Server Jr · GUZMAN BALBUENA Y ASOCIADOS SA DE CV
2,728 vacantes activas en LATAM · ver todas → · ⭐ Opiniones en Google
¿En qué te ayudamos hoy?
🎓 Cursos confirmados con 50% OFF hoyInicia 14 Nov — cupo limitado para lectores del blog:
-
💬 Consultor API REST con .Net Core
· Inicia 14 Nov · sabatino ·
$10,930$5,465 (-50%) MXN -
💬 Consultor AWS Despliegue de Apps
· Inicia 21 Nov · sabatino ·
$8,130$4,065 (-50%) MXN -
💬 Diplomado Java Empresarial Desde Cero
· Inicia 28 Nov · sabatino ·
$39,990$19,995 (-50%) MXN
Por WhatsApp en horario habil · ver todos los cursos → · ⭐ Opiniones en Google
SHOW (GLOBAL | LOCAL) STATUS SELECT VARIABLE_NAME, VARIABLE_VALUE FROM information_schema.global_status
Este alias nos permite acceder de una forma rápida a la tabla de global_status o local_status donde se encuentran casi 300 variables almacenadas desde el último reinicio. La diferencia entre ambas, es que si usas global, sacarás los números globales de todo el servidor y con local sólo los de esta session.
Principales variables de estado del MySQL
- Uptime=> Tiempo que lleva activo el servidor desde su último reinicio o puesta a 0 de las variables.
- Queries => Número de queries ejecutadas en el MySQL.
- Uptime => Tiempo que lleva activo el servidor desde su último reinicio o puesta a 0 de las variables.
- Slow_queries => Consultas lentas ejecutadas. El valor de umbral de estas consultas es configurable(por defecto 10). Pueden ser almacenadas en un archivo plano.
- Aborted_client Número de conexiones mal cerradas.
- Max_used_connections Máximo de conexiones concurrentes en un momento dado.
- Threads_connected => Hilos conectados en ese momento.
- Threads_running => Hilos creados y activos.
- Handler_read_first => Consultas que sacan información de la tabla completa. Esto nos indica muchos escaneos full index.
Análisis de los datos
Con estos indicadores, aparte de darnos una idea del consumo de tu MySQL, podemos extraer información para mejorar el rendimiento del servidor.
- key_read /key_read_request (%) => Porcentaje de fallos de uso de la cache. Si la división de estas dos variables supera un 1% es señal de alarma, y habría que ajustar estos valores.
- Si el número de tablas temporales creadas, (created_tmp_disk_tables), es muy grande, se puede aconsejar cambiar el tamaño de la tabla temporal ( tmp_table_size)
- Select_full_join => Si este número se aleja mucho del 0, tendrias que revisar tus consultas ya que se estan produciendo JOIN’s sin usar los indices.
Como ves, hay cientos de parámetros que seria interesante tener controlados para así poder mejorar nuestras consultas, o cambiar los ajustes del servidor. Con ésto, nos anticiparemos a posibles fallos críticos de nuestro servidor.
💼 Empleos tech relacionados:
- Desarrollador Base de Datos · Branchbit
- Administrador de Base de Datos SQL Server Jr · GUZMAN BALBUENA Y ASOCIADOS SA DE CV
2,728 vacantes activas en LATAM · ver todas → · ⭐ Opiniones en Google





