Los DBA juegan un papel vital dentro de una organización. Como custodios de los datos, son responsables de administrar todos los aspectos del rendimiento de la base de datos, incluida la alta disponibilidad, el procesamiento rápido de consultas y la mitigación de riesgos y la recuperación ante desastres. Además, los DBA son responsables del objetivo comercial de mantener las bases de datos de la organización con miras al ROI y al ahorro de costos.
Con todos los diferentes sombreros que usan, los DBA tienen que trabajar de manera eficiente, y la gestión eficaz del tiempo es su mejor amigo. La mejor manera de lograr la eficiencia es centrarse primero en las actividades clave que ayudarán a que las bases de datos funcionen de manera óptima.
Aquí hay cuatro actividades de monitoreo de bases de datos que deberían encabezar la lista "debe saber" de cada DBA.
Cómo (y por qué) ajustar la configuración predeterminada en SQL Server
Muchos administradores de bases de datos ejecutan SQL Server tal como está, directamente desde el primer momento. Sin embargo, las configuraciones predeterminadas no siempre son la mejor opción desde el punto de vista de la seguridad o el rendimiento. Las bases de datos de cada organización son diferentes y satisfacen diferentes necesidades comerciales, por lo que tiene sentido que no todas las bases de datos estén configuradas de la misma manera.
Dependiendo de las necesidades y preferencias específicas de su base de datos, hay varias configuraciones predeterminadas de SQL Server que quizás desee cambiar:
- Factor de relleno:si crea un índice sin especificar el valor del factor de relleno, el valor predeterminado es 0. Esto significa que la página se llenará hasta el límite de su capacidad y cualquier inserción, eliminación o actualización puede causar divisiones y fragmentación excesivas de la página.
No existe un valor de factor de relleno universalmente "correcto", pero 80-90 normalmente es una opción segura. Este rango de valores permite que se llene el 80-90 por ciento de la página, dejando libre entre el 10 y el 20 por ciento.
- Umbral de costo para el paralelismo:el umbral de costo para el paralelismo es el valor en el que el motor de SQL Server comienza a ejecutar planes paralelos para sus consultas. El valor predeterminado es cinco segundos, pero este valor es bastante bajo y podría crear muchas consultas innecesariamente complejas, lo que afectará negativamente el rendimiento.
Comience con una configuración de 20 segundos y ajústela según sea necesario según las esperas de CXPACKET y el uso de la CPU.
- Crecimiento automático del archivo de la base de datos:El crecimiento automático es un proceso que ocurre cuando el motor de SQL Server aumenta el tamaño de un archivo de la base de datos cuando se queda sin espacio. El crecimiento del archivo se establece de manera predeterminada en 1 MB para archivos de datos y 10 por ciento para archivos de registro de transacciones.
Cada base de datos crecerá a un ritmo diferente, así que calcule cuánto cree que crecerá la base de datos y establezca el valor en consecuencia.
- Modelo de recuperación de base de datos:el modelo de recuperación predeterminado es COMPLETO de fábrica, pero no es eficiente para todas las bases de datos.
Cambie la configuración a SIMPLE para bases de datos que no son de misión crítica y deje la configuración en COMPLETO solo para bases de datos de producción de alto riesgo. - Memoria máxima del servidor:el valor predeterminado es 2 TB, lo que significa que SQL Server asigna toda la memoria del sistema operativo. Esto no deja memoria para que la use el sistema operativo.
Ajuste la configuración para maximizar la cantidad de memoria disponible para el proceso de SQL Server, pero deje un poco para que el sistema operativo lo use si es necesario. - Grado máximo de paralelismo (MAXDOP):MAXDOP controla cuántos procesadores se utilizan para la ejecución de una consulta en un plan paralelo. El valor predeterminado es 0, lo que significa que SQL Server determina cuántos procesadores puede usar. Si deja el costo del umbral para el paralelismo en el valor predeterminado de 5, puede terminar usando todas las CPU para cada consulta.
La configuración ideal de MAXDOP variará según su sistema específico, pero Microsoft ofrece algunas sugerencias aquí. - Compresión de copia de seguridad:la configuración predeterminada para esta función está DESACTIVADA. Sin embargo, la compresión de copia de seguridad acelera las operaciones de copia de seguridad de la base de datos y crea archivos de copia de seguridad de menor tamaño, por lo que es posible que desee activarla.
Un consejo final para ajustar la configuración de SQL Server a partir de los valores predeterminados:siempre pruebe el sistema a fondo después de cambiar cualquier configuración para asegurarse de que no se hayan introducido problemas inadvertidamente.
Cómo eliminar los cuellos de botella de SQL Server
Los cuellos de botella de SQL Server son una fuente común de problemas de rendimiento, incluido el acaparamiento del procesador por parte de SQL Server, largos tiempos de ejecución de consultas, E/S excesiva y actividad extrema en los discos.
Hay muchas razones que no son cuellos de botella por las que su base de datos puede experimentar estos problemas de rendimiento, pero si el problema proviene de cuellos de botella de SQL Server, hay tres áreas principales que probablemente se verán afectadas:memoria, E/S y CPU.
Los cuellos de botella de la memoria son el resultado de recursos de memoria insuficientes o actividades de SQL Server que utilizan demasiada memoria disponible. Esté atento a tiempos de ejecución de consultas más prolongados, E/S excesiva, mensajes de falta de memoria en el registro de la aplicación y bloqueos frecuentes del sistema.
Los cuellos de botella de E/S ocurren cuando no hay suficiente almacenamiento disponible para admitir las operaciones regulares de la base de datos, como tempDB. Tenga cuidado con los tiempos de respuesta prolongados, la ralentización de las aplicaciones y los tiempos de espera frecuentes de las tareas.
Los cuellos de botella de la CPU son causados por recursos de hardware insuficientes. Busque en la supervisión de su base de datos los datos de registro que muestren que SQL Server está utilizando una CPU excesiva.
Cómo prevenir el crecimiento de tempDB
TempDB es un espacio de trabajo temporal en las instancias de SQL Server que se utiliza para crear y mantener objetos intermedios y temporales. TempDB es uno de los recursos más activos en un entorno de SQL Server, por lo que es importante monitorear y controlar el crecimiento excesivo de tempDB.
TempDB se usa con frecuencia dentro de una instancia porque se usa para almacenar objetos de usuario, objetos internos y almacenes de versiones. El crecimiento excesivo de tempDB puede causar problemas de rendimiento, por lo que es importante realizar un seguimiento de consultas grandes, tablas temporales y variables de tabla que utilizan una gran cantidad de espacio en disco de tempDB.
Para optimizar el tamaño y el crecimiento de tempDB, Microsoft recomienda las siguientes mejores prácticas:
- Establezca el modelo de recuperación de tempDB en SIMPLE
- Permitir que los archivos tempDB crezcan automáticamente según sea necesario
- Establezca el incremento de crecimiento del archivo en un tamaño razonable para evitar que los archivos de la base de datos tempDB crezcan en un valor demasiado pequeño
- Preasignar espacio para todos los archivos tempDB configurando el tamaño del archivo en un valor lo suficientemente grande como para acomodar la carga de trabajo típica en el entorno
- Haga que cada archivo de datos tenga el mismo tamaño
Puede ajustar el tamaño y los parámetros de crecimiento de los archivos de datos tempDB mediante el estudio de administración de SQL Server.
Cómo calcular el costo total de propiedad
Aunque es posible que no dedique mucho tiempo a pensar en el presupuesto de su empresa, es mejor que crea que el director financiero sí lo hace. Cuando llega el momento de solicitar una nueva tecnología de supervisión del rendimiento, es inteligente venir preparado con datos concretos para respaldar su solicitud.
Uno de los datos más influyentes que puede presentar es el posible costo total de propiedad (TCO) de la nueva tecnología en comparación con su solución actual. Además de los costos directos, asegúrese de considerar los costos indirectos, como los costos de infraestructura y recursos, como el mantenimiento.
Reducir el TCO es un objetivo común para los administradores de bases de datos que buscan reemplazar su herramienta actual de monitoreo del rendimiento de la base de datos, por lo que hay varios factores a considerar. Como se mencionó anteriormente, es importante tener en cuenta no solo los costos directos, como el precio de compra, sino también los costos indirectos, como el almacenamiento y los costos de recursos, como la capacitación.
Para determinar el TCO de la nueva herramienta, ingrese sus datos específicos en una calculadora de TCO y vea cuáles son los ahorros de costos, si los hay.