Conceptos básicos de rendimiento de SQL Server

Uno de los conceptos básicos de rendimiento recomienda el monitoreo en entornos dinámicos. Cuando se trata de SQL Server: los usuarios, los DBA y el propio sistema realizan eventos constantemente: cambian los datos y la estructura de la base de datos, los privilegios del usuario, etc. SQL Server puede administrar automáticamente todas estas solicitudes, pero su autoajuste no proporciona el mejor resultado, y el monitoreo adicional y el ajuste manual pueden proporcionar un mejor rendimiento..

Conceptos básicos rendimiento SQL Server

“El objetivo de monitorear las bases de datos es evaluar el desempeño de un servidor. El monitoreo efectivo implica tomar instantáneas periódicas del rendimiento actual para aislar los procesos que están causando problemas y recopilar datos continuamente a lo largo del tiempo para rastrear las tendencias de rendimiento “.

La supervisión muestra lo que está sucediendo con SQL Server y proporciona la información necesaria para un mejor ajuste. Permite a los DBA ser proactivos, encontrar y solucionar los problemas antes de que afecten a sus sistemas. La supervisión regular del rendimiento de la base de datos y la resolución de problemas diagnosticados proporcionan un tiempo de respuesta del sistema más corto, mejor a través del rendimiento general y general. Los parámetros de rendimiento que se considerarán óptimos dependen de muchos factores de software y hardware, pero también de los requisitos de su entorno y aplicación: si las consultas de ejecución lenta son aceptables en la industria manufacturera, no se encuentran en los bancos. Esto significa que primero debe determinar sus objetivos de monitoreo.

Objetivos de monitoreo de SQL Server

Uno de los desafíos con el monitoreo es determinar qué debe monitorearse y cuáles son sus objetivos de monitoreo. Esto depende de muchos factores y puede cambiar con el tiempo. Las razones para la supervisión de SQL Server pueden ser diferentes. Si desea utilizar la supervisión para garantizar que su sistema esté a salvo de intrusos, supervise la actividad del usuario y los inicios de sesión fallidos.

En este artículo, nos centraremos en los objetivos de supervisión del rendimiento: determinar el rendimiento óptimo para su servidor, las tendencias de rendimiento y si el hardware existente es suficiente; encontrar problemas de rendimiento y sus causas, ver cómo diferentes aplicaciones / cargas afectan el rendimiento, varias pruebas, etc.

Qué componentes monitorear

Dependiendo de sus objetivos, se deben monitorear diferentes componentes. Como el monitoreo excesivo agrega sobrecarga al rendimiento, se recomienda ser selectivo al elegir componentes para monitorear.

El rendimiento del servidor SQL se ve afectado por el sistema operativo, la base de datos y las aplicaciones del cliente, la configuración del hardware y la red. Por lo tanto, los componentes más importantes para la supervisión del rendimiento son el uso de la memoria y la CPU, la actividad del disco y el tráfico de red. Cada una de estas áreas tiene varias métricas que se pueden auditar, por ejemplo, promedio de seg. De disco / lectura, promedio de seg. De disco / escritura, longitud de la cola del disco, etc. Para la mayoría de las métricas, los valores mostrados pueden ser promedio, total y actual.

Otra pregunta es con qué frecuencia recopilar datos del contador de rendimiento. Esto también depende de los objetivos de monitoreo. El rango de tiempo abarca desde la supervisión en tiempo real donde los datos se recopilan cada segundo, a cada 5, 15 o 30 segundos. Nuevamente, tenga en cuenta que un rango de tiempo más corto trae sobrecarga.

Hay dos enfoques para el monitoreo: ver los datos monitoreados en tiempo real en modo gráfico solo en la pantalla, y también guardarlos en archivos para poder analizarlos posteriormente. El último permite crear una línea base de rendimiento.

Análisis de la información monitoreada de SQL Server

El análisis de la información monitoreada debería responder a lo que está ocurriendo y por qué. Muestra qué componentes necesitan atención; indicar problemas, cuellos de botella, bloqueos y otros problemas.

“Esta información le permite realizar cambios que pueden mejorar el rendimiento, como agregar más memoria, cambiar índices, corregir problemas de codificación con instrucciones Transact-SQL o procedimientos almacenados, etc., según el tipo de análisis realizado” .

Si la información monitoreada no indica claramente la causa del problema, el monitoreo de componentes y métricas adicionales puede ayudar. Si el análisis muestra que está monitoreando más eventos de los que necesita, elimine los innecesarios o aplique filtros para registrar el evento solo si excede el límite especificado.

Establecer una línea de base

Una línea de base es un conjunto de valores que determinan el rendimiento óptimo de su sistema. Una vez que se define la línea de base, puede comparar las métricas de rendimiento actuales con ella, determinar qué tan lejos está el rendimiento óptimo de su sistema y cuál es el mejor curso de acción. Los valores de la línea de base solo se pueden obtener cuando no se producen problemas.

Se deben investigar todas las métricas que sean significativamente más bajas o más altas que los valores de referencia. Por ejemplo, si la lectura y escritura del disco son mucho más bajas que el valor de referencia, considere la optimización del índice.

Una vez que se establece la línea de base y se determinan las métricas para el seguimiento, guarde la configuración de monitoreo. Tenga en cuenta que los cambios significativos en su entorno (hardware o software) pueden necesitar un nuevo análisis de eventos monitoreados y una nueva línea de base creada.

Reproducir eventos monitoreados

Cuando los eventos monitoreados se guardan en un archivo, puede usarlos en una copia de su base de datos de producción para reproducir todos los eventos o uno por uno, a la misma o diferente velocidad, analizar el rendimiento y hacer los ajustes necesarios. La función de eventos de reproducción no está disponible en todas las herramientas de monitoreo. La función está disponible en SQL Server Profiler, que es compatible con las ediciones Enterprise, Business Intelligence y Standard SQL Server.

Qué herramienta de monitoreo usar

Esto depende de los objetivos de monitoreo y el tipo de análisis que desea realizar.

Cualquiera sea la herramienta que elija, no ejecute más de una herramienta de monitoreo en su servidor al mismo tiempo, ya que agregará gastos generales y hará que los resultados de monitoreo sean inexactos.

Hemos mostrado qué es la supervisión del rendimiento, por qué es importante y qué información debe proporcionar. Depende de un DBA analizar la información proporcionada y tomar las medidas adecuadas manualmente..