El rendimiento de SQL Server es fundamental para la estabilidad de las aplicaciones y la retención de usuarios. Las bases de datos pueden ser un cuello de botella en cualquier aplicación, por lo que los análisis en tiempo real y la supervisión del rendimiento son necesarios para un entorno de producción. Con la supervisión y la optimización continua, sus aplicaciones siguen siendo competitivas con el rendimiento y su base de datos SQL Server se ejecutará de manera más eficiente.
Cómo funciona el rendimiento de SQL Server
El rendimiento de SQL Server mide la velocidad a la que una base de datos recibe, procesa y devuelve los datos de una consulta. Los servidores SQL de buen rendimiento pueden devolver grandes conjuntos de datos en milisegundos. Es fundamental que los administradores de las bases de datos supervisen el rendimiento para garantizar que la aplicación front-end no sufre cuellos de botella debido a una capacidad de almacenamiento, configuraciones o hardware de servidor deficientes.
En la superficie, el rendimiento de SQL Server depende del hardware. El hardware juega un papel en el rendimiento, pero las configuraciones deficientes o el desarrollo de consultas también pueden afectar a la velocidad del servidor. La supervisión del rendimiento del hardware ayuda a mantener una base de datos en funcionamiento con el máximo rendimiento. Los administradores también deben revisar las consultas para asegurarse de que están optimizadas para el máximo rendimiento.
Factores clave que afectan al rendimiento de SQL Server
Las configuraciones de bases de datos suelen ser el problema principal de un rendimiento deficiente de SQL Server. Más concretamente, la indexación suele estar mal configurada y provoca una reducción del rendimiento. La tabla indexa los datos de los pedidos de un modo que permite que el motor de la base de datos encuentre y devuelva datos más rápidamente basándose en la consulta. Las bases de datos pequeñas pueden no sentir los efectos de una indexación deficiente, pero las bases de datos con terabytes de datos y millones de registros en un único conjunto de datos verán problemas de rendimiento.
El hardware, incluidos los dispositivos de almacenamiento, también es un factor clave. El almacenamiento debe ser lo suficientemente rápido para recuperar los datos de entrada y salida y la CPU debe ser lo suficientemente rápida para procesar las solicitudes de datos. El almacenamiento en caché y la ejecución del programa se realizan en la memoria, por lo que los servidores deben tener suficiente memoria para soportar la base de datos. Los administradores también pueden supervisar estos factores para actualizar el hardware cuando está obsoleto.
Elección de la infraestructura adecuada para el rendimiento de SQL Server
El máximo rendimiento puede provenir de una infraestructura local o en la nube. Los entornos híbridos también son comunes con las bases de datos corporativas. Por ejemplo, puede almacenar archivos y copias de seguridad en caliente en la nube, mientras que una base de datos local con una infraestructura de alta gama admite las consultas de producción. Otro ejemplo es un entorno empresarial en el que las consultas públicas se procesan en la nube y las consultas internas se procesan localmente.
Los requisitos de almacenamiento a menudo se disparan para las empresas en crecimiento. Es imprescindible que asignen suficiente espacio de almacenamiento y crecimiento futuro para soportar las aplicaciones. Las organizaciones pueden utilizar FlashArray™, que admite aplicaciones dependientes del rendimiento y la latencia, como las bases de datos. Pure Cloud Block Store™ es la alternativa en la nube a la infraestructura local. Las empresas que portan desde VMware tienen la opción de integrar Portworx®.
Problemas comunes de rendimiento
Los recursos de servidor insuficientes son el primer problema común de rendimiento de SQL Server. Si un servidor es lento, los administradores primero deben comprobar el uso de los recursos. Compruebe si hay picos en el uso de la CPU, la saturación de uso de RAM o errores I/O de disco. Tanto los sistemas operativos locales como los de la nube tienen herramientas de uso para identificar el uso de los recursos.
La indexación es otro problema habitual. Todas las tablas deben tener claves e índices primarios en columnas de tabla que se utilizan comúnmente en las cláusulas WHERE de consulta. El índice correcto en una columna de tabla de uso común puede reducir los tiempos de consulta de minutos a milisegundos.
Técnicas para optimizar el rendimiento de SQL Server
Todas las consultas enviadas a una base de datos de producción de SQL Server deben revisarse para optimizarlas y mejorar el rendimiento. SQL Server tiene sus propias herramientas para identificar las consultas lentas, pero las consultas solo deben devolver las columnas necesarias para la funcionalidad front-end, usar las declaraciones JOIN correctamente y las columnas de tabla de índices que se utilizan comúnmente en las declaraciones JOIN y WHERE. Las consultas CURSOR deben usarse con moderación y solo cuando sea necesario. Evite las consultas dinámicas y use procedimientos almacenados escritos en SQL en lugar de cadenas.
Los administradores deben supervisar el rendimiento de SQL Server usando las herramientas de SQL Server de Microsoft o sus herramientas preferidas. El hardware debe supervisarse para garantizar que el servidor tiene suficiente memoria y CPU para procesar las consultas y que el espacio de almacenamiento debe ser adecuado para que los datos adicionales soporten a una empresa en crecimiento. Los proveedores de nube tienen sus propias herramientas para ayudar a los administradores a supervisar la infraestructura.
Herramientas de infraestructura y supervisión del rendimiento
Microsoft envía SQL Server con varias herramientas de supervisión. En SQL Server Management Studio, los administradores pueden ver un panel de rendimiento. Database Engine Tuning Advisor ayuda a los administradores a optimizar los procedimientos almacenados. System Monitor puede usarse en un servidor local o en un servidor remoto para supervisar el uso y la actividad del hardware.
Los proveedores de nube externos tienen sus propias herramientas de supervisión. Por ejemplo, Pure Storage tiene sus propias herramientas de supervisión y compatibilidad con SQL Server. Las herramientas en la nube que decida usar dependerán de los servicios con los que trabaje. Las herramientas de la nube enviarán alertas a los administradores cuando los recursos de la infraestructura sean bajos, pero los administradores pueden optar por usar las herramientas de supervisión de Microsoft SQL Server para la optimización. La mejor estrategia es probar herramientas para encontrar la mejor opción para los requisitos de su empresa.
Conclusión
Para mantener sus aplicaciones con el máximo rendimiento, la supervisión de la base de datos para detectar cualquier cuello de botella garantizará que los administradores puedan tomar medidas proactivas para la optimización. No solo deben supervisarse las tablas y las consultas de la base de datos, sino que también debe supervisarse el hardware para evitar los fallos del sistema debidos a un fallo de la infraestructura. Microsoft proporciona herramientas para la supervisión de SQL Server, pero Pure Storage también ayuda a los administradores a mantenerse al día de su pila tecnológica.