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

Cómo acelerar su servidor SQL mediante el monitoreo del rendimiento de la base de datos

Mantener un SQL Server de alto rendimiento es esencial no solo para las operaciones de su organización sino también para sus clientes. Cuando sus servidores tardan en responder, o no responden en absoluto, pierde negocio. Aquí hay tres áreas clave para monitorear de cerca para garantizar que su rendimiento de SQL Server sea óptimo y formas de mejorar el rendimiento si sus métricas muestran que tiene un problema.

Índices

Si sus índices funcionan bien, contribuyen a que el sistema funcione rápido y sin problemas. Sin embargo, si sus índices sufren alguna de estas afecciones comunes, es posible que el rendimiento de su servidor SQL se vea afectado negativamente.

Métrica a monitorear:factor de relleno

El factor de relleno es una configuración en SQL Server que indica a los índices que llenen cada página con un X por ciento. Parece intuitivo que desee llenar cada página al 100 por ciento, pero en realidad, llenar demasiado las páginas puede causar divisiones de página. Si un administrador agrega una fila adicional a una página completa, la nueva fila empuja aproximadamente la mitad de las filas existentes a una nueva página y la nueva fila se agrega al final de la primera página.

Las divisiones de página pueden causar problemas de rendimiento debido al mayor número de operaciones de E/S y la posibilidad de fragmentación. Sin embargo, demasiado espacio en una página también puede perjudicar el rendimiento porque los recursos se gastan innecesariamente.

Para obtener los mejores resultados de rendimiento de la configuración del factor de relleno, no establezca un valor para todo el sistema. Mire sus índices individualmente y establezca el factor de relleno en un nivel apropiado para cada uno. Por ejemplo, los índices que se fragmentan con frecuencia necesitan un valor de factor de relleno diferente al de los índices que casi nunca se usan.

Métrica a monitorear:fragmentación

La fragmentación del índice ocurre cuando los usuarios agregan y eliminan registros. Mover cosas es una parte normal de las operaciones diarias de una base de datos, pero con el tiempo, la fragmentación afecta el rendimiento. La fragmentación puede causar un par de problemas:

  • Demasiado espacio en blanco en demasiadas páginas ralentiza los escaneos y usa la memoria innecesariamente
  • Las nuevas páginas se agregan desordenadas, por lo que el servidor tarda más en encontrar datos

Cuando la fragmentación comience a afectar el rendimiento, deberá ejecutar Reconstruir o Reorganizar para limpiar los índices fragmentados. Ejecutar Reconstruir creará un nuevo índice y eliminará el espacio en blanco adicional. Reorganizar ordena las hojas de página para que el servidor pueda encontrar los datos más fácilmente.

Caché de búfer

Cuando SQL Server pueda leer páginas en la memoria caché del búfer, su tiempo de respuesta será más rápido. El rendimiento sufre cuando el servidor tiene que ir al disco para encontrar una página porque tiene que pasar por una serie de pasos antes de guardar la página en el búfer y luego leerla. Hay un par de métricas de las que puede realizar un seguimiento que le ayudarán a mantener la memoria caché del búfer funcionando al máximo rendimiento.

Métrica para monitorear:expectativa de vida de la página

La esperanza de vida de la página (PLE) es el tiempo que una página permanece en la memoria caché del búfer sin que se la llame antes de que se envíe de vuelta al disco. El aumento de PLE mejorará el rendimiento, pero también utiliza memoria que puede ser necesaria para otras funciones. Si va a ajustar PLE, debe averiguar cuánta memoria puede usar sin afectar el rendimiento en otro lugar.

Métrica para monitorear:proporción de aciertos de caché de búfer

La proporción de aciertos de caché de búfer es el porcentaje de páginas ubicadas en el grupo de búfer frente a todas las solicitudes de página. La proporción de aciertos de la memoria caché del búfer debe ser superior a 90 para obtener el mejor rendimiento (es decir, SQL Server no tiene que leer desde el disco). Tenga cuidado al analizar los datos de proporción de aciertos de la memoria caché del búfer. Una pequeña disminución en la relación puede no indicar un problema real. Analice los datos junto con PLE para determinar si existe un problema de rendimiento real.

Optimización de consultas

Las consultas lentas y de bajo rendimiento son uno de los problemas de rendimiento más comunes de SQL Server. Hay muchas razones posibles por las que sus consultas no funcionan bien, por lo que puede ser difícil identificar una causa exacta. Pero hay algunas cosas que puede probar al principio de su investigación que pueden mejorar el rendimiento de las consultas con un esfuerzo mínimo.

Métrica para monitorear:escaneo de índice

Verificar el estado de su SQL Server debe ser una parte regular de sus deberes de DBA. Cuando las consultas se ejecutan lentamente, dedique un poco más de tiempo al optimizador de consultas. Una cosa importante que debe verificar es si el análisis del índice de SQL Server tiene algún problema que deba abordar.

Otro potencial asesino del rendimiento es la exploración de índices que se ejecuta con más frecuencia de la necesaria. El escaneo de índice lleva mucho más tiempo que la búsqueda de índice porque la consulta tiene que escanear cada fila en busca de datos útiles. Configure su optimizador de consultas para que busque índices con más frecuencia de lo que los escanea.

Reescribir una consulta problemática es otra forma de aumentar el rendimiento. A veces, simplificar las consultas eliminará la parte que hace que la consulta se atasque. También puede intentar agregar índices para acelerar las consultas, pero esto funciona mejor en algunos casos que en otros.

Agregar índices es una buena solución para los campos involucrados en la búsqueda, agrupación u ordenación; campos de acceso frecuente; y campos con valores únicos. Por lo general, no es efectivo agregar índices en campos con valores duplicados como sí/no o para tablas pequeñas.

La supervisión del rendimiento de SQL Server es fundamental para mantener bases de datos de alto rendimiento. Mantener su servidor SQL funcionando a la máxima velocidad solo se puede lograr a través de una atención diligente a las métricas de rendimiento. Agregue las métricas discutidas anteriormente a su lista de verificación de mantenimiento para identificar y corregir los problemas de rendimiento de SQL Server de manera temprana.