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

4 consejos para ejecutar los diagnósticos de SQL Server

Las bases de datos de alto rendimiento y alta disponibilidad son el objetivo de todo DBA de SQL Server, pero la realidad es que el rendimiento de la base de datos no siempre es óptimo. Los tiempos de respuesta lentos, los tiempos de espera y las CPU atascadas nos suceden a los mejores, lo que hace que la configuración estratégica de los diagnósticos de SQL Server sea un paso crucial para mantener un sistema eficiente y que funcione bien.

Los diagnósticos de SQL Server descubrirán problemas de rendimiento relacionados con el uso de la memoria, la velocidad y la eficiencia de las consultas y el uso de la CPU, lo que le ayudará a identificar y solucionar problemas rápidamente con un efecto mínimo en el rendimiento. Para minimizar aún más los impactos en el rendimiento, puede crear una estrategia de supervisión del rendimiento que incluya el seguimiento de datos de diagnóstico a lo largo del tiempo para descubrir problemas difíciles de localizar y predecir futuros problemas de rendimiento antes de que ocurran.

Para obtener la información más valiosa de sus diagnósticos de SQL Server, es importante identificar primero lo que espera aprender de los datos para monitorear las métricas de rendimiento más relevantes. Aquí hay cuatro consejos para ayudarle a empezar.

Objetivo de diagnóstico:supervisar el rendimiento de la base de datos para entornos locales, virtuales y en la nube

Ya sea que sus bases de datos estén alojadas en las instalaciones, en la nube o en un entorno híbrido, monitorear el rendimiento de la base de datos en estas cinco áreas lo alertará sobre algunos de los problemas de rendimiento más comunes:

  • Disponibilidad:mantener una alta disponibilidad es una de las principales prioridades del DBA. El seguimiento de los datos de registro del clúster de conmutación por error y el estado actual del servidor son clave para detectar y corregir problemas a tiempo.
  • Uso de TempDB:vigile la cantidad de TempDB que usa y cómo se usa. También es recomendable crear una línea de base de TempDB y extraer datos de rendimiento antes y después de los cambios.
  • E/S:el diagnóstico de SQL Server descubrirá operaciones de E/S atascadas que pueden causar bloqueos y otros problemas de rendimiento.
  • Uso de la CPU:el alto uso de la CPU puede deberse a varias cosas. Utilice los diagnósticos de SQL Server para aislar la causa raíz. Esta lista de verificación puede orientarlo en la dirección correcta.
  • Uso de la memoria:si no está optimizando el uso de la memoria, tendrá problemas de rendimiento en algún momento. Ejecute diagnósticos para determinar qué procesos están usando más memoria de la que les corresponde y optimícelos o reescríbalos según sea necesario.

Objetivo de diagnóstico:encontrar las causas de bloqueos e interbloqueos

Los bloqueos y puntos muertos son los principales asesinos del rendimiento, por lo que diagnosticar qué está causando los bloqueos y resolver el problema rápidamente es esencial para mantener un alto rendimiento. Varias fuentes comunes de bloqueos y puntos muertos se pueden erradicar a través de estas tres prácticas:

  • Examinar las consultas y los planes de consulta:las consultas largas y los planes de consulta ineficientes contribuyen a los bloqueos y puntos muertos. Los diagnósticos pueden identificar consultas que se pueden dividir en varias transacciones cortas y qué planes de consulta no están optimizados como resultado de estadísticas desactualizadas.
  • Analice la carga de trabajo:un aumento en la carga de trabajo puede causar bloqueos a medida que más procesos compiten por los mismos recursos. Los diagnósticos pueden identificar qué declaración de usuario, base de datos, host o SQL Server está causando el bloqueo o interbloqueo para que pueda redistribuir la carga de trabajo según sea necesario.
  • Verifique los índices:una buena indexación puede evitar bloqueos al eliminar la necesidad de escaneos completos de la tabla. Al permitir que SQL Server busque en lugar de escanear, la indexación mantiene accesibles los recursos no bloqueados.

Objetivo de diagnóstico:solucionar alertas falsas

Las alertas falsas son más que molestas; contribuyen a problemas de rendimiento no detectados a través de la fatiga de la alarma. La fatiga de alarmas ocurre cuando las falsas alarmas frecuentes hacen que un DBA ignore las alertas, lo que podría hacer que se pierda una notificación de que se ha producido una falla crítica.

La mejor manera de detener las alertas falsas es diagnosticar las fuentes de las alertas falsas recurrentes y eliminar las alertas no críticas o establecer umbrales que especifiquen de forma limitada las condiciones que desencadenan una alerta.

Objetivo de diagnóstico:Optimizar consultas SQL

La ejecución regular de diagnósticos de SQL Server en las consultas ayudará a reducir o eliminar una gran cantidad de posibles problemas de rendimiento. Dos formas de mejorar las consultas basadas en el diagnóstico de SQL Server son:

  • Ajuste de consultas:si la herramienta de supervisión del rendimiento de SQL Server muestra que un informe tarda años en generarse, que ha habido un gran aumento en la espera de E/S recientemente o que determinados trabajos tardan tres veces más en ejecutarse que lo hicieron hace un año, los diagnósticos pueden indicar que el ajuste de consultas está en orden. El ajuste de consultas mejora el rendimiento analizando las consultas y luego reescribiéndolas si es necesario hasta que se ejecuten a su máximo nivel de eficiencia.
  • Actualización de estadísticas:como se mencionó anteriormente, las estadísticas desactualizadas contribuyen a los problemas de rendimiento al desencadenar planes de consulta ineficientes. Programe actualizaciones automáticas cuando sea posible. Cuando la automatización no sea posible, agregue actualizaciones manuales a su lista de verificación de mantenimiento regular para garantizar que las estadísticas se mantengan actualizadas.

Los diagnósticos de SQL Server son una herramienta esencial en la caja de herramientas del DBA. Comprender cómo contribuyen los diagnósticos a mantener un entorno de base de datos de SQL Server confiable y de alta disponibilidad lo ayudará a encontrar y solucionar problemas de rendimiento rápidamente con un efecto mínimo en sus usuarios.