Treo Blog

En este espacio puedes explorar las últimas tendencias y noticias en tecnología, seguridad informática e infraestructura TI.

  • Jonathan Rodriguez Paipa

Visualización del rendimiento con RHEL 8.4 Grafana Dashboard para Microsoft SQL Serve

Actualizado: jul 1

Por: Don Pinto , Louis Imershein



Crédito: Pexels

Si administra bases de datos, debe poder identificar los cuellos de botella de rendimiento y descubrir cómo abordarlos. Esto a menudo implica identificar el componente exacto en la compleja red de dependencias interconectadas que está causando el problema.


Si es un administrador de Microsoft Windows, la herramienta con la que empezar es obvia, se llama perfmon. Sin embargo, si es uno de los casi 1/3 de los encuestados que ejecutan SQL Server en Linux, probablemente desee considerar el uso de Performance Co-Pilot (PCP) y Grafana en Red Hat Enterprise Linux (RHEL). , que reúne las métricas de SQL Server y RHEL en un solo panel de control fácil de usar.


Cuando se trata de medir el rendimiento en RHEL, PCP es la opción preferida de Red Hat para recopilar métricas. Con Grafana convirtiéndose en una interfaz de monitoreo y análisis de código abierto popular para muchos casos de uso, puede usarla en RHEL para visualizar las métricas recopiladas por PCP. Grafana se puede configurar para mostrar métricas en un rango de tiempo específico, y las métricas se pueden exportar si lo desea a su hoja de cálculo favorita.


Grafana también viene listo para manejar varias fuentes de datos, y la integración RHEL PCP-Grafana proporciona vector, redis y bpftrace como fuentes de datos. Estas integraciones también traen varios paneles preconfigurados o le permiten personalizar su propio panel en función de su caso de uso particular.



Desde RHEL 8.2, PCP ha tenido soporte para métricas de SQL Server. Puede obtener más información sobre cómo configurarlo aquí . RHEL 8.4 agrega varios cambios:

  1. La dependencia de Python pyodbc ahora está disponible como un RPM, que se incorpora automáticamente como una dependencia al instalar el pcp-pmda-mssql paquete. Esto significa que ya no es necesario usar pip para instalar pyodbc.

  2. Hay un nuevo panel de Microsoft SQL Server basado en vectores PCP. Para habilitar esto, vaya a Fuentes de datos-> PCP Vector-> Tableros como se muestra en la captura de pantalla a continuación, y haga clic en importar. Se puede acceder a este panel importado desde la sección de paneles de Grafana que se encuentra en http: // <nombre-servidor>: 3000 / dashboards.

Para obtener más información sobre cómo configurar PCP con Grafana y PCP Vector, consulte: Visualización del rendimiento del sistema con RHEL 8 usando Performance Co-Pilot (PCP) y Grafana (Parte 1) .


Con este panel, los administradores de RHEL y los administradores de bases de datos de SQL Server pueden detectar métricas clave que podrían estar ralentizando el rendimiento de sus cargas de trabajo de SQL Server en RHEL.



3. Si desea automatizar la instalación de PCP para SQL Server, también puede utilizar el rol de métricas de rendimiento para configurar PCP para SQL Server. Puede encontrar más información al respecto aquí.


Explorando el nuevo panel de Microsoft SQL Server


Averiguar dónde se encuentran los cuellos de botella de rendimiento dentro del sistema operativo es un problema desafiante en sí mismo, y ejecutar una base de datos con capas de abstracción encima, agrega complejidades adicionales.


Las visualizaciones de métricas de rendimiento del sistema operativo y la base de datos están disponibles a través de herramientas como el nuevo Panel de control de Microsoft SQL Server basado en PCP Vector en RHEL 8.4. Esto proporciona una correlación de datos de rendimiento más fácil y ayuda a llegar a la causa raíz de los problemas de rendimiento más rápidamente que antes.


El panel reúne información del kernel de Linux, SQLOS y la capa de base de datos de SQL Server y luego la muestra en los paneles de Grafana utilizando gráficos vectoriales PCP.



Seguimiento del uso de la CPU y la utilización de la memoria


Después de abrir el Panel de control, ¿qué puede hacer con él?

Para empezar, le recomendamos que empiece por mirar las métricas de CPU y memoria. Observar las métricas de Linux Run Queue, System:% CPU y CPU Utilization puede ayudarlo a identificar procesos fuera de control y actividad inesperada del sistema. Si sus CPU están muy saturadas, es hora de comenzar a mirar los procesos en el sistema utilizando herramientas de línea de comandos como pcp atop para identificar los procesos que acaparan la CPU o la memoria del sistema.


Desde la perspectiva de SQL Server, las estadísticas de espera de SQL son bastante importantes para ayudarlo a rastrear problemas de utilización de la CPU y la memoria. Un número elevado de SOS_SCHEDULAR_YIELD o THREADPOOL puede indicar que su carga de trabajo necesita recursos de procesamiento adicionales.


De manera similar, las métricas de SQL Server: Memory Manager pueden ayudarlo a identificar con cuánta memoria está trabajando SQL Server en general, así como cuánta memoria se está "robando" para fines distintos a la caché de la página SQL. Un número generalmente alto de memoria de servidor robada indica presión de memoria en el sistema de base de datos, y corregirlo podría requerir un cambio en la forma en que SQL Server utiliza su memoria o aumentar la cantidad de memoria proporcionada por la plataforma del sistema operativo subyacente.


Seguimiento de la utilización del disco


Los problemas de memoria pueden desencadenar problemas de disco, por lo que debemos investigar esta área a continuación. Sin suficiente memoria, la actividad del disco puede aumentar rápidamente porque estamos enviando memoria al disco (intercambio).

Ya habrá determinado si está intercambiando si ha utilizado el pcp atop comando que describimos anteriormente.


Quizás lo más interesante que puede ver con Disk Utilization es si se está quedando sin rendimiento o IOPS.


Puede realizar algunas pruebas básicas para confirmar la capacidad máxima de sus dispositivos. Por esto,fio es una gran herramienta para generar cargas de trabajo sintéticas. Si conoce el rendimiento máximo y las operaciones máximas de entrada / salida por segundo (IOPS), puede usar ese conocimiento para determinar cuándo agregar más almacenamiento a través de RAID, pasar a un almacenamiento más rápido, agregar almacenamiento en caché a niveles de almacenamiento rápidos como los que usan Optane de Intel DC Persistent Memory, o cuándo dividir sus almacenes de datos.


Las estadísticas de SQL también pueden ayudarlo a comprender los problemas de contención de almacenamiento. Por ejemplo, puede mirar las Estadísticas de espera del SO SQL y examinar la métrica PAGE_I / O_LATCH . Por lo general, es aceptable cierto número de esperas para SQL Server, pero una diferencia de orden de magnitud en esta estadística frente a otros tipos de espera puede indicar un problema que debe solucionarse al pasar a un almacenamiento más rápido.


Dicho esto, también existe la posibilidad de que tenga un problema de ajuste de la base de datos, como un índice mal diseñado que está aumentando la E / S del disco.


Ahora hemos cubierto algunas de las métricas clave. En esta tabla incluimos varias métricas más útiles enumeradas en el orden de aparición en los paneles del tablero:


  • Linux: Ejecutar cola: Este panel muestra el número de procesos marcados como ejecutables por el kernel en un momento dado.

  • Sistema:% CPU: Muestra el porcentaje de CPU utilizado por sys (kernel) y procesos de usuario.

  • Por CPU ocupada (usuario): Muestra el porcentaje de cada CPU ocupada en ejecución de procesos en el espacio de usuario.

  • Por CPU ocupada (Sys): Muestra el porcentaje de cada CPU ocupada en ejecución de procesos en el espacio sys (kernel).

  • Utilización del disco: Representa la utilización general de cada dispositivo de disco en el sistema.

  • Rendimiento del disco: Representa el rendimiento de lectura y escritura.

  • IOPS de disco: Representa IO de lectura y escritura por segundo.

  • SQL Server: Estadísticas generales - Conexiones de usuario: El número de usuarios conectados, Running PCP requerirá una conexión de usuario. Por lo general, se consume un segundo usuario para la supervisión del estado si se ejecuta un grupo de disponibilidad o un clúster de conmutación por error utilizando el complemento de alta disponibilidad de Red Hat.

  • SQL Server: Administrador de memoria: Memoria de servidor total, robada y reservada como la ve SQL Server.

  • Estadísticas de SQL Server: solicitudes por lotes: Solicitudes por lotes, compilaciones y recompilaciones por segundo.

  • SQL Server: espera de E / S de red: Tiempo promedio de espera de la red en milisegundos, número de esperas en curso, esperas iniciadas por segundo y tiempo de espera acumulado en milisegundos por segundo. Todas las estadísticas relevantes para esperar en la E / S de la red.

  • SQL Server: Divisiones de página de métodos de acceso: Número de divisiones de página por segundo que se producen como resultado de páginas de índice desbordadas.

  • SQL Server: compilaciones de estadísticas: Número de recopilaciones y recopilaciones.

  • SQL Server: Caché de planes (proporción de aciertos de caché): Proporción de aciertos de caché para tablas temporales y sus variables, procedimientos almacenados extendidos, árboles enlazados, planes SQL y planes de objetos junto con la tasa de aciertos de caché total.

  • Tareas en espera de SQL OS: Número de esperas para cada tipo de espera. Este contador se incrementa al comienzo de cada espera.

  • Estadísticas de espera máxima de SQL OS: Tiempo máximo de espera para cada tipo de espera.

  • Tiempos de espera del SO SQL: Tiempo de espera total para este tipo de espera en milisegundos.

  • Esperas de bloqueo de SQL Server: Los bloqueos de recursos internos de SQL Server conocidos como pestillos pueden ayudarlo a determinar la actividad del usuario y el uso de recursos e identificar los cuellos de botella en el rendimiento. Esta métrica rastrea la cantidad de solicitudes de bloqueo que no se pueden otorgar de inmediato.

  • Tiempos de espera de bloqueo de SQL Server: Esta métrica rastrea el tiempo total (en milisegundos) dedicado a esperar solicitudes de pestillo en el último segundo.

El tablero intenta presentar estadísticas de SQL Server que son interesantes de un vistazo, pero eso no significa que no necesite establecer una línea de base de su entorno para que esas estadísticas comprendan una definición de "normal".


Anotaciones y uso compartido de datos


Las anotaciones en Grafana brindan una forma de marcar puntos en el gráfico, vinculando métricas de datos con historias que desea contar con sus datos. También puede exportar y compartir fácilmente sus métricas de PCP usando Grafana con otros administradores para que puedan usar el mismo panel para ver y solucionar problemas de rendimiento.


Conclusión


Ahora que tiene otra herramienta de resolución de problemas de rendimiento para SQL Server en RHEL en su caja de herramientas, debe comenzar a usarla. Un buen lugar para comenzar a comprender el lado de la ecuación de Red Hat es la documentación de RHEL más reciente sobre administración del estado y el rendimiento del sistema.


También puede obtener más información sobre las métricas de rendimiento de SQL Server a través de la documentación de Microsoft SQL Server Performance Monitoring and Tuning Tools . El nuevo panel de Grafana SQL Server en RHEL 8.4 ha tenido un gran comienzo, reuniendo estadísticas útiles de RHEL y SQL Server para el monitoreo.


Fuente: Blog de Red Hat.

4 vistas0 comentarios

Entradas Recientes

Ver todo