Registro de diagnóstico de rendimiento de Intelligent Insights con los problemas de rendimiento de Azure SQL Database e Instancia administrada de Azure SQL
Se aplica a: Azure SQL Database Azure SQL Managed Instance
Esta página proporciona información sobre cómo usar el registro de diagnóstico de rendimiento generado por Intelligent Insights con los problemas de rendimiento de Azure SQL Database e Instancia administrada de Azure SQL, el formato y los datos que contiene según sus necesidades de desarrollo personalizadas. Este registro de diagnóstico se puede enviar a registros de Azure Monitor, Azure Event Hubs, Azure Storage o a una solución de terceros para las funcionalidades personalizadas de informes y alertas de DevOps.
Nota:
Intelligent Insights es una característica en versión preliminar que no está disponible en las siguientes regiones: Oeste de Europa, Norte de Europa, Oeste de EE. UU. 1 y Este de EE. UU. 1.
Encabezado de registro
El registro de diagnóstico usa el formato estándar de JSON para generar los resultados de Intelligent Insights. La propiedad de categoría exacta para acceder a un registro de Intelligent Insights es el valor fijo "SQLInsights", que no está relacionado con la supervisión de Azure SQL Database con Azure Monitor SQL Insights (versión preliminar).
El encabezado del registro es común y consta de la marca de tiempo (TimeGenerated) que muestra cuándo se creó una entrada. También incluye un identificador de recurso (ResourceId) que hace referencia a la base de datos concreta con la que se relaciona la entrada. La categoría (Category), el nivel (Level) y el nombre de la operación (OperationName) son propiedades fijas cuyos valores no cambian. Indican que la entrada del registro es informativa y que provienen de Intelligent Insights (SQLInsights).
"TimeGenerated" : "2017-9-25 11:00:00", // time stamp of the log entry
"ResourceId" : "database identifier", // value points to a database resource
"Category": "SQLInsights", // fixed property
"Level" : "Informational", // fixed property
"OperationName" : "Insight", // fixed property
Identificador del problema y base de datos afectada
La propiedad de identificación del problema (issueId_d) proporciona un método exclusivo de seguimiento de los problemas de rendimiento hasta su resolución. En el registro que notifica el estado de un mismo problema, varios registros de eventos compartirán el mismo identificador de problema.
Junto con el identificador del problema, el registro de diagnóstico notifica las marcas de tiempo de inicio (intervalStartTime_t) y finalización (intervalEndTme_t) del evento concreto relacionado con un problema notificado en el registro de diagnóstico.
La propiedad de grupo elástico (elasticPoolName_s) indica a qué grupo elástico pertenece la base de datos con un problema. Si la base de datos no forma parte de ningún grupo elástico, esta propiedad no tiene ningún valor. La base de datos en la que se detecta un problema se revela en la propiedad de nombre de la base de datos (databaseName_s).
"intervalStartTime_t": "2017-9-25 11:00", // start of the issue reported time stamp
"intervalEndTme_t":"2017-9-25 12:00", // end of the issue reported time stamp
"elasticPoolName_s" : "", // resource elastic pool (if applicable)
"databaseName_s" : "db_name", // database name
"issueId_d" : 1525, // unique ID of the issue detected
"status_s" : "Active" // status of the issue – possible values: "Active", "Verifying", and "Complete"
Problemas detectados
La sección siguiente del registro de rendimiento de Intelligent insights contiene problemas de rendimiento que se detectaron mediante la inteligencia artificial integrada. Las detecciones se revelan en las propiedades dentro del registro de diagnóstico JSON. Estas detecciones constan de la categoría de un problema, el impacto del problema, las consultas afectadas y las métricas. Las propiedades de las detecciones podrían contener varios problemas de rendimiento que se detectaron.
Los problemas de rendimiento detectados se notifican con la siguiente estructura de propiedad de las detecciones:
"detections_s" : [{
"impact" : 1 to 3, // impact of the issue detected, possible values 1-3 (1 low, 2 moderate, 3 high impact)
"category" : "Detectable performance pattern", // performance issue detected, see the table
"details": <Details outputted> // details of an issue (see the table)
}]
Los patrones de rendimiento detectable y los detalles que se transmiten al registro de diagnóstico se proporcionan en la tabla siguiente.
Categoría de detección
La propiedad de categoría (category) describe la categoría de los patrones de rendimiento detectable. Consulte la siguiente tabla para ver todas las categorías posibles de patrones de rendimiento detectables. Para más información, consulte Troubleshoot database performance issues with Intelligent Insights (Solución de problemas de rendimiento de la base de datos con Intelligent Insights).
En función del problema de rendimiento detectado, los detalles que incluye el archivo de registro de diagnóstico difieren en consecuencia.
Patrones de rendimiento detectables | Detalles generados |
---|---|
Alcance de los límites de recursos | |
Aumento de la carga de trabajo | |
Presión de memoria | |
Bloqueo | |
Aumento de MAXDOP | |
Contención de PAGELATCH | |
Carencia de un índice | |
Nueva consulta | |
Estadística de espera inusual | |
Contención de tempdb |
|
Escasez de DTU en el grupo elástico | |
Regresión de un plan | |
Cambio del valor de configuración de ámbito de base de datos | |
Cliente lento | |
Degradación del plan de tarifa |
Impacto
La propiedad de impacto (Impact) describe cuánto ha contribuido un comportamiento detectado al problema que tiene una base de datos. Los impactos van de 1 a 3, siendo 3 la contribución más alta, 2 la moderada y 1 la más baja. El valor de impacto podría usarse como entrada para la automatización personalizada de las alertas, en función de sus necesidades específicas. La propiedad de consultas afectadas (QueryHashes) proporciona una lista de los códigos hash de consulta que se vieron afectados por una detección particular.
Consultas afectadas
En la sección siguiente del registro de Intelligent Insights se proporciona información sobre consultas concretas que resultaron afectadas por los problemas de rendimiento detectados. Esta información se divulga como una matriz de objetos insertados en la propiedad impact_s. La propiedad de impacto consta de entidades y métricas. Las entidades hacen referencia a una consulta determinada (tipo: Consulta). El código hash de consulta única se revela en la propiedad de valor (Value). Además, cada una de las consultas reveladas va seguida de una métrica y un valor, que indican que se detectó un problema de rendimiento.
En el ejemplo de registro siguiente, se detectó que la consulta con el código hash 0x9102EXZ4 tenía una mayor duración de ejecución (Métrica: DurationIncreaseSeconds). El valor de 110 segundos indica que esta consulta en particular tardó 110 segundos más en ejecutarse. Dado que se pueden detectar varias consultas, esta sección del registro en particular podría incluir varias entradas de consulta.
"impact" : [{
"entity" : {
"Type" : "Query", // type of entity - query
"Value" : "query hash value", // for example "0x9102EXZ4" query hash value },
"Metric" : "DurationIncreaseSeconds", // measured metric and the measurement unit (in this case seconds)
"Value" : 110 // value of the measured metric (in this case seconds)
}]
Métricas
La unidad de medida de cada métrica notificada se proporciona en virtud de la propiedad de métrica (Metric) con los valores posibles: segundos, número y porcentaje. El valor de una métrica medida se notifica en la propiedad de valor (Value).
La propiedad DurationIncreaseSeconds proporciona la unidad de medida en segundos. La unidad de medida CriticalErrorCount es un número que representa un recuento de errores.
"metric" : "DurationIncreaseSeconds", // issue metric type – possible values: DurationIncreaseSeconds, CriticalErrorCount, WaitingSeconds
"value" : 102 // value of the measured metric (in this case seconds)
Recomendaciones de mejoras y análisis de la causa principal
La última parte del registro de rendimiento de Intelligent Insights pertenece al análisis automatizado de la causa principal del problema de degradación de rendimiento identificado. La información aparece en un vocabulario comprensible en la propiedad de análisis de la causa principal (rootCauseAnalysis_s). Siempre que sea posible, se incluyen recomendaciones de mejora en el registro.
// example of reported root cause analysis of the detected performance issue, in a human-readable format
"rootCauseAnalysis_s" : "High data IO caused performance to degrade. It seems that this database is missing some indexes that could help."
El registro de rendimiento de Intelligent Insights se puede usar con registros de Azure Monitor o una solución de terceros para las funcionalidades personalizadas de informes y alertas de DevOps.
Pasos siguientes
- Conozca los conceptos de Intelligent Insights.
- Aprenda a solucionar problemas de rendimiento con Intelligent Insights.
- Aprenda a supervisar problemas de rendimiento mediante Azure SQL Analytics.
- Aprenda a recopilar y usar los datos de registro provenientes de los recursos de Azure.