Tutorial: Información de rendimiento de consultas en el servidor flexible de Azure Database for MySQL
Información de rendimiento de consultas pretende proporcionar análisis de consultas inteligente para las bases de datos. La información preferida que se extrae son los patrones de carga de trabajo y las consultas de larga duración. Comprender esta información puede ayudarle a encontrar qué consultas se deben optimizar para mejorar el rendimiento general y para usar los recursos disponibles de forma eficaz.
Información de rendimiento de consultas es una herramienta diseñada para ayudarle a dedicar menos tiempo a solucionar problemas de rendimiento de la base de datos, al proporcionar:
- Las N principales consultas de larga duración y sus tendencias.
- Los detalles de la consulta: se puede ver el historial de ejecución con el tiempo de consulta mínimo, máximo, promedio y la desviación estándar.
- El uso de recursos (CPU, memoria y almacenamiento).
En este artículo se describe cómo usar los registros de consultas lentas de servidor flexible de Azure Database for MySQL, la herramienta Log Analytics y las plantillas de libros para visualizar la información de rendimiento de consultas en la instancia de servidor flexible de Azure Database for MySQL.
En este tutorial, aprenderá a:
- Configurar los registros de consultas lentas desde Azure Portal o mediante la CLI de Azure.
- Configuración de diagnósticos
- Ver los registros de consultas lentas mediante Log Analytics.
- Ver los registros de consultas lentas mediante libros.
Requisitos previos
- Inicio rápido: Creación de una instancia de Azure Database for MySQL con Azure Portal.
- Crear un área de trabajo de Log Analytics.
Configuración de registros de consultas lentas mediante Azure Portal
Inicie sesión en Azure Portal.
Seleccione la instancia de servidor flexible de Azure Database for MySQL.
En el panel izquierdo, en Configuración, seleccione Parámetros del servidor.
Para el parámetro slow_query_log, seleccione ACTIVADO.
Para los demás parámetros, como long_query_time y log_slow_admin_statements, consulte la documentación de los registros de consultas lentas.
Seleccione Guardar.
Para volver a la lista de registros, cierre la página Parámetros del servidor.
Configuración de registros de consultas lentas con la CLI de Azure
Como alternativa, puede habilitar y configurar registros de consultas lentas de la instancia de servidor flexible de Azure Database for MySQL desde la CLI de Azure mediante el siguiente comando:
Importante
Para tener la seguridad de que el rendimiento de la instancia de servidor flexible de Azure Database for MySQL no se vea gravemente afectado, se recomienda registrar solo los tipos de eventos y los usuarios necesarios con fines de auditoría.
- Habilite los registros de consultas lentas.
az mysql flexible-server parameter set \
--name slow_query_log \
--resource-group myresourcegroup \
--server-name mydemoserver \
--value ON
- Establezca el valor de long_query_time en 10 segundos. Esta configuración registrará todas las consultas que se ejecuten durante más de 10 segundos. Ajuste este umbral en función de su definición de consultas lentas.
az mysql server configuration set \
--name long_query_time \
--resource-group myresourcegroup \
--server mydemoserver \
--value 10
Configuración de diagnósticos
Los registros de consultas lentas se integran con la configuración de diagnóstico de Azure Monitor para permitirle canalizar sus registros a cualquiera de los tres receptores de datos:
- Un área de trabajo de Log Analytics
- Un centro de eventos
- Una cuenta de almacenamiento
Nota
Debe crear los receptores de datos antes de realizar la configuración de diagnóstico. Puede acceder a los registros de consultas lentas de los receptores de datos que ha configurado. Los registros pueden tardar hasta 10 minutos en aparecer.
En el panel de la izquierda, seleccione Configuración de diagnóstico en Supervisión.
En el panel Configuración de diagnóstico, seleccione Agregar configuración de diagnóstico.
En el cuadro Nombre, escriba un nombre para la configuración de diagnóstico.
Especifique los destinos (área de trabajo de Log Analytics, un centro de eventos o una cuenta de almacenamiento) a los que enviar los registros de consultas lentas; para ello, active sus casillas correspondientes.
Nota
En este tutorial, enviará los registros de consultas lentas a un área de trabajo de Log Analytics.
En Registro, como tipo de registro, active la casilla MySqlSlowLogs.
Una vez que haya configurado los receptores de datos a los que canalizar los registros de consultas lentas, seleccione Guardar.
Visualización de la información de consulta mediante Log Analytics
En el panel izquierdo de Log Analytics, en Supervisión, seleccione Registros.
Cierre la ventana Consultas que se abre.
En la ventana de consulta, puede escribir la consulta que se va a ejecutar. Para buscar consultas de más de 10 segundos en un servidor determinado, se ha usado el código siguiente:
AzureDiagnostics | where Category == 'MySqlSlowLogs' | project TimeGenerated, LogicalServerName_s, event_class_s, start_time_t , query_time_d, sql_text_s | where query_time_d > 10
Seleccione el intervalo de tiempo y ejecute la consulta. Los resultados se muestran en la imagen siguiente:
Visualización de la información de consulta mediante libros
En el panel izquierdo de Azure Portal, en la hoja Supervisión de la instancia del servidor flexible de Azure Database for MySQL, seleccione Libros.
Seleccione la plantilla Información de rendimiento de consultas.
En el libro, puede observar las visualizaciones siguientes:
- Carga de consultas
- Conexiones activas totales
- Tendencia de consultas lentas (Tiempo de consulta > 10 segundos)
- Detalles de la consulta lenta
- Lista de las 5 consultas de mayor duración
- Resuma las consultas lentas por tiempo de consulta mínimo, máximo, promedio y de desviación estándar.
Nota
- Para ver el uso de recursos, puede utilizar la plantilla Información general.
- También puede editar estas plantillas y personalizarlas según sus necesidades. Para obtener más información, consulte Libros de Azure.
- Para obtener una vista rápida, también puede hacer anclar los libros o la consulta de Log Analytics al panel. Para más información, consulte Creación de un panel en Azure Portal.
En Información de rendimiento de consultas, hay dos métricas que pueden ayudarle a detectar posibles cuellos de botella: duración y recuento de ejecuciones. Las consultas de larga ejecución tienen el máximo potencial para bloquear recursos durante más tiempo, bloquear otros usuarios y limitar la escalabilidad.
En algunos casos, un recuento de ejecuciones alto puede provocar más recorridos de ida y vuelta de red. Los recorridos de ida y vuelta afectan al rendimiento. Están sujetos a la latencia de red y a la latencia del servidor que sigue en la cadena. Por lo tanto, el recuento de ejecuciones puede ayudar a encontrar consultas ejecutadas con frecuencia. Estas consultas son las mejores candidatas para la optimización.