sql >> Base de Datos >  >> RDS >> Sqlserver

¿Está midiendo el rendimiento de SQL Server con estas métricas?

El rendimiento de la aplicación y del sistema juega un papel muy importante en la forma en que un usuario percibe el valor de su producto y la competencia de su empresa. Si la misma página se agota constantemente o se tarda una eternidad en acceder a un informe crítico, el rendimiento de su sistema de base de datos creará un problema de confianza para su organización.

La alta disponibilidad y el rendimiento confiable son clave para mantener contentos a los clientes y a los usuarios internos del sistema, e incluso pueden afectar sus resultados. Con estos objetivos en mente, es imprescindible implementar una estrategia integral de monitoreo del rendimiento de SQL Server.

Beneficios de la supervisión del rendimiento de SQL Server

El beneficio más comúnmente promocionado de la supervisión del rendimiento es la facilidad para solucionar y resolver problemas. Una herramienta de monitoreo de SQL Server bien configurada es el medio más eficiente para encontrar y solucionar problemas de servidores y bases de datos rápidamente antes de que afecten a los usuarios finales o se conviertan en problemas grandes y costosos.

Además de mantener el estado del sistema, la implementación de la supervisión del rendimiento de SQL Server puede ayudar a mantener bajos los costos de su infraestructura. Un ejemplo son los gastos de almacenamiento innecesarios. Cuando se optimiza el rendimiento de SQL Server, el crecimiento del tamaño del archivo se supervisa continuamente. Un aumento excesivo en el tamaño del archivo activa una alerta para que el problema se pueda resolver antes de que se agote el espacio en disco y se destinen recursos adicionales al problema.

Y si opta por una solución de monitoreo basada en la nube, puede aumentar aún más el ROI despidiéndose de los gastos de alojamiento y mantenimiento de servidores físicos.

Haga un seguimiento de estas métricas para mejorar el rendimiento de su servidor SQL

Sabemos que el monitoreo del rendimiento de SQL Server es una excelente estrategia para solucionar problemas y ahorrar dinero, pero no obtendrá todos los beneficios de su herramienta de monitoreo de SQL Server a menos que realice un seguimiento de las métricas correctas. Para obtener un rendimiento óptimo de SQL Server, aquí hay cinco áreas que querrá observar y las métricas más importantes para realizar un seguimiento de cada una.

1. Caché de búfer

La memoria caché del búfer almacena copias de las páginas de la base de datos usadas recientemente. SQL Server primero busca en el caché, pero si no encuentra lo que está buscando allí, va al disco. La lectura del disco es lenta, lo que puede afectar negativamente al rendimiento.

Proporción de aciertos de caché

La proporción de aciertos de la memoria caché muestra la frecuencia con la que SQL Server accede a las páginas de la memoria caché. Los valores más altos indican que se accedió a las páginas desde la memoria y no desde el disco. Si constantemente ve una tasa de aciertos de caché baja, busque un cuello de botella en la memoria del sistema.

Esperanza de vida de la página

Supervisar la esperanza de vida de la página muestra cuánto tiempo permanece una página en la memoria en lugar de ir al disco. Cuanto mayor sea la esperanza de vida de la página, mejor será la tasa de aciertos de caché.

Páginas de punto de control/seg

SQL Server configura puntos de control para liberar espacio en la memoria caché del búfer al vaciar periódicamente las páginas modificadas del búfer al disco. La cantidad de páginas descargadas depende de los ajustes de configuración y el uso del servidor, por lo que es importante establecer una línea de base para la comparación. Si nota un aumento en el vaciado de páginas, es posible que tenga un problema de E/S.

2. Índices

Los índices de la base de datos ayudan a acelerar las operaciones en tablas con muchos registros. Aunque los índices son una herramienta útil para mejorar algunas funciones de la base de datos, existen problemas inherentes a los índices que pueden degradar el rendimiento si no se detectan rápidamente.

Fragmentación

La fragmentación del índice ocurre cuando se agregan y eliminan registros. Con el tiempo, estos cambios provocan problemas de rendimiento al dejar demasiado espacio en blanco en demasiadas páginas y agregar nuevas páginas desordenadas. Esto puede ralentizar los escaneos y usar demasiada memoria.

Supervisar la fragmentación del índice le permitirá saber cuándo necesita ejecutar Reconstruir o Reorganizar en un índice para corregir la fragmentación y mejorar el rendimiento.

Factor de relleno y divisiones de página

La configuración del factor de relleno permite que sus índices sepan qué tan llena debe estar cada página. Si una página está demasiado llena, se producen divisiones de página; si una página no está lo suficientemente llena, está desperdiciando recursos.

El seguimiento de las divisiones de página puede ayudar a identificar cuándo se necesita un ajuste del factor de relleno. Para obtener el mejor rendimiento, no establezca un valor de factor de relleno para todo el sistema. Evalúe los índices individuales y establezca el factor de relleno en un nivel adecuado para cada uno.

3. T-SQL

Para optimizar el rendimiento, SQL Server procesa por lotes las instrucciones SQL, luego las compila en planes de ejecución y las almacena en caché para su reutilización. Si SQL Server no puede reutilizar el plan de ejecución, el plan se vuelve a compilar, lo que utiliza una gran cantidad de CPU y degrada el rendimiento. Por lo tanto, es mejor mantener el número de recompilaciones de sentencias SQL lo más bajo posible.

Supervisar las tasas de compilación y recompilación de SQL mostrará si necesita volver a configurar algunas áreas, como los procedimientos almacenados y los parámetros de consulta.

4. Bloqueo

El bloqueo de SQL Server es causado por múltiples clientes y procesos que solicitan acceso a los mismos recursos al mismo tiempo. Si ya se está utilizando un recurso, el acceso está bloqueado y el recurso no está disponible para solicitudes posteriores. Esto pone el proceso en espera hasta que el recurso se libera y vuelve a estar disponible.

Esperas de bloqueo

Las solicitudes normalmente no tienen que esperar en los bloqueos, por lo que esta métrica debería permanecer alrededor de cero. Un aumento en las esperas de bloqueo indica un problema con el tiempo de carga, por lo que deberá rastrear la causa raíz del problema.

Procesos bloqueados

El seguimiento de los procesos bloqueados es una buena manera de evitar una gran cantidad de correos electrónicos que le informan sobre un proceso bloqueado. Use SQL Server Profiler para capturar datos sobre procesos bloqueados y revise el informe regularmente.

5. Uso de recursos

El seguimiento de las métricas de uso de recursos es una forma eficaz no solo de identificar problemas de rendimiento, sino también de ayudar con la planificación de la capacidad.

Recuento de filas

Supervisar los recuentos de filas proporciona información directa y fácilmente rastreable sobre el volumen de datos asociados con una determinada tabla a lo largo del tiempo. Un aumento o una disminución inesperados en el recuento de filas debe impulsar una investigación sobre la causa.

E/S de archivo de base de datos

Al medir las métricas de E/S con los archivos de la base de datos, puede realizar un seguimiento de la cantidad de datos que se escriben y leen en un archivo de datos determinado. Si observa un problema potencial, esta métrica puede ayudar a reducir la causa raíz. El seguimiento de la E/S del archivo de la base de datos también ayuda con la planificación de la infraestructura porque puede ayudarlo a predecir el rendimiento de datos futuro y ajustar los recursos en consecuencia.

Tamaño de la copia de seguridad del registro de transacciones

Cuando un servidor falla debido a una sobrecarga, SQL Server usa los registros de la base de datos almacenados en archivos de registro virtuales (VLF) para recuperarse. Es importante monitorear cuántos VLF hay en el registro de transacciones, porque demasiados pueden ralentizar los procesos de recuperación cuando se restaura después de una interrupción.

La supervisión del rendimiento de SQL Server es un componente crucial de la estrategia de control de calidad de una organización. El seguimiento de algunas métricas de rendimiento clave puede darle una reputación de proporcionar a sus usuarios un sistema en el que pueden confiar y en el que pueden confiar; si no lo hace, su sistema puede convertirse en otra aplicación con errores que los usuarios temen.