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

5 trucos para garantizar el máximo rendimiento de SQL Server

Los administradores de bases de datos usan muchos sombreros detrás de escena, desde la planificación de la capacidad hasta la seguridad y la recuperación de datos. Quizás la más visible de las responsabilidades del DBA es la supervisión del rendimiento de SQL Server. Aunque las tareas diarias asociadas con el mantenimiento de un sistema de alto rendimiento pueden pasar desapercibidas para el mundo exterior, es mejor que crea que las personas comenzarán a prestar atención cuando el rendimiento no sea el ideal.

Las interrupciones de la base de datos, los tiempos de respuesta lentos y otros problemas que enfrentan los usuarios son perjudiciales para el negocio. Y, debido a que el rendimiento de SQL Server (o la falta del mismo) cae directamente en el dominio de DBA, las bases de datos de bajo rendimiento son malas para la seguridad de su trabajo.

Dejando a un lado la amenaza del desempleo, garantizar el máximo rendimiento de SQL Server es crucial para que su organización funcione sin problemas, por lo que hemos recopilado cinco trucos que los administradores de bases de datos deben conocer para optimizar el rendimiento de SQL Server.

Automatización de tareas rutinarias y mantenimiento

En estos días, hay pocas razones para que un DBA realice muchas tareas diarias y verificaciones de mantenimiento manualmente. Las herramientas de monitoreo de rendimiento de SQL Server actuales pueden monitorear automáticamente el espacio en disco, inspeccionar los registros de errores y verificar las copias de seguridad. Incluso puede configurar alertas del sistema que no solo le informan que hay un problema, sino que también brindan información sobre la gravedad y el tipo de problema.

Uno de los principales beneficios de estas herramientas de monitoreo es que se puede acceder a muchas de las funciones de monitoreo del rendimiento a través de su dispositivo móvil, lo que hace que la resolución de problemas sea mucho más flexible. Puede monitorear y evaluar su sistema desde prácticamente cualquier lugar en cualquier momento.

Métricas de rendimiento de seguimiento

Por supuesto, es importante que las herramientas de supervisión del rendimiento de SQL Server detecten y solucionen los problemas actuales, pero también es muy valioso realizar un seguimiento del rendimiento anterior. Supervisar y analizar el rendimiento de la base de datos a lo largo del tiempo le ayuda a identificar tendencias y anticipar futuros problemas de rendimiento. El seguimiento del historial de rendimiento proporciona datos sobre si el rendimiento es mejor o peor durante un período de tiempo determinado.

El análisis de carga de trabajo es otra forma de obtener métricas de rendimiento que lo ayuden a mejorar el rendimiento de SQL Server. Ejecute un análisis para identificar cómo un usuario, una base de datos, un host o una instrucción SQL están afectando su carga de trabajo. Si aísla una fuente que está afectando negativamente al sistema, resulta mucho más fácil tomar las medidas adecuadas para solucionar el problema.

Identificar la causa raíz de los cuellos de botella

Como se indicó anteriormente, una vez que aísla la fuente de un cuello de botella o un factor determinante del rendimiento, es mucho más fácil corregir el problema. Algunas fuentes comunes de cuellos de botella y síntomas a tener en cuenta incluyen:

  • Problemas de CPU:SQL Server está acaparando el procesador
  • Problemas de memoria:tiempos de ejecución más prolongados en las consultas
  • Problemas de almacenamiento:actividad extrema en los discos y largos tiempos de espera por E/S
  • Problemas de E/S:el tiempo de espera de WRITELOG es alto en comparación con el tiempo de espera total

Una vez que haya identificado su cuello de botella, hay algunas soluciones que puede probar que a menudo solucionan problemas comunes de rendimiento, que incluyen:

  • Ajuste de SQL Server:aísle la consulta específica que se retrasó, el tiempo de espera específico que provocó el retraso y el impacto temporal del cuello de botella
  • Deshágase de los índices obsoletos y duplicados:acelera las consultas porque el optimizador no necesita tener en cuenta varios índices al analizar el rendimiento de las consultas y determinar un plan.
  • Corregir la fragmentación:la reconstrucción o desfragmentación periódica de sus índices mejorará el rendimiento al reducir la cantidad de páginas de datos dispersas o parcialmente llenas que debe leer SQL Server.

Ejecutar comprobaciones de estado de rendimiento de rutina

Casi siempre es mejor prevenir que curar. Utilice comprobaciones de estado para identificar problemas reales y potenciales dentro del sistema. Las comprobaciones de estado le ayudarán a identificar problemas de seguridad, recuperación ante desastres, memoria, E/S y configuración antes de que causen problemas de rendimiento importantes.

Los controles de salud regulares deben incluir:

  • Comprobación de índices faltantes:los índices faltantes hacen que SQL Server responda con lentitud porque tiene que buscar datos en todos los registros. Pero no se apresure a agregar los índices que faltan; agregar índices innecesarios también puede afectar negativamente el rendimiento.
  • Observar niveles desproporcionados de consultas ad hoc:el uso ocasional de consultas ad hoc no es un problema. Pero cuando se usan con demasiada frecuencia, el rendimiento se resiente. SQL Server no reutiliza estas instrucciones, por lo que la caché de procedimientos se hincha, lo que provoca que la caché del búfer vacíe los datos. SQL Server entonces tiene que leer los datos del disco (lento) en lugar de la memoria.
  • Buscar estadísticas desactualizadas:el optimizador de consultas de SQL Server usa estadísticas para calcular el costo estimado de las operaciones. Las estadísticas desactualizadas pueden hacer que el optimizador de consultas seleccione un plan de ejecución subóptimo.

Actualizar a la última versión de SQL Server

Este se siente un poco obvio, pero si aún no lo ha hecho, actualice a la última versión de SQL Server. SQL Server 2000, 2005 y 2008 ya no están en desarrollo activo, y las versiones más nuevas tienen muchas características que definitivamente aumentarán el rendimiento. Estas características incluyen la última versión del optimizador de consultas de SQL Server, nuevos conjuntos de instrucciones de CPU y, por supuesto, correcciones de errores.