Continuaré explicando cómo monitorear contadores de rendimiento a través de PERFMON | Solución de problemas de rendimiento de SQL Server en esta serie de artículos.
Solución de problemas de rendimiento del servidor SQL
Lea el artículo anterior antes de este.
Solución de problemas de rendimiento de SQL Server -2 Supervise las bases de datos y las instancias a través del Monitor de actividad
Supervisión de contadores de rendimiento a través de PERFMON
El cuello de botella que se produce en la base de datos y el servidor se puede identificar examinando el uso de los recursos del servidor. Los cuellos de botella más importantes que afectan a SQL Server son los siguientes.
- Cuello de botella de memoria
- Cuello de botella de E/S de disco
- Cuello de botella en la CPU
Cuello de botella de memoria en SQL Server
La instancia de SQL Server asigna espacio de memoria del sistema operativo (SO) de acuerdo con los parámetros de memoria Máx. y Mín. establecidos durante el inicio. De forma predeterminada, el uso de la memoria de la instancia de SQL Server crece continuamente para evitar la paginación. Si no hay más espacio de memoria para un proceso en el sistema operativo, el sistema operativo advierte a SQL Server y SQL Server libera la memoria adicional que asignó.
Los parámetros de memoria máxima y mínima se pueden configurar desde la siguiente pantalla. (SQL Server Management Studio–> Haga clic con el botón derecho en SQL Instance y elija las propiedades del servidor)
La causa general de los cuellos de botella en las instancias de SQL Server es que la memoria es insuficiente. En caso de memoria insuficiente, se denomina falla de página dura si la base de datos lee datos del disco físico en lugar de la memoria.
Se deben revisar los siguientes contadores de rendimiento para ver si hay un cuello de botella de memoria en la base de datos y el sistema operativo.
Memoria:Páginas/seg en SQL Server
Indica el número de páginas de memoria que no existen en la memoria y deben leerse del disco y el número de páginas de memoria que deben escribirse en el disco.
Este valor debe seguirse durante un cierto período mientras la base de datos se ejecuta normalmente y debe determinarse un valor promedio. Si este valor es constantemente alto en caso de problemas, es útil aumentar el tamaño de la memoria física del sistema operativo.
Memoria:Bytes confirmados en SQL Server
Indica el espacio de memoria total utilizado por Instancia de pagefile.sys en RAM y Disco. Este contador no excederá el tamaño total de RAM si la cantidad de memoria suministrada es suficiente. Si no hay más memoria suficiente, se usa el espacio de pagefile.sys, y esto significa que el valor del contador de rendimiento relacionado excederá el valor de RAM. En tal escenario, agregar RAM al servidor puede facilitar el sistema.
Memoria:bytes disponibles en SQL Server
Indica la cantidad total de memoria disponible para la instancia. Este valor suele parecer bajo. Si el valor de este contador está constantemente por debajo de 4 MB, se producen demasiadas operaciones de paginación.
Cuello de botella de E/S de disco en SQL Server
Para el cuello de botella de E/S de disco, que ocurre en el disco o en el almacenamiento, se deben verificar los valores del contador de rendimiento en el disco físico y lógico en la herramienta Perfmon.
- Si el valor de un Contador, como Segundos de disco/lectura contador, es superior a 15-20 ms, suele ser un problema de rendimiento del disco.
- Valores altos continuos para el promedio de segundos de disco/escritura contador indican que hay un problema de rendimiento en los discos.
% de tiempo de disco en SQL Server
Muestra la densidad de lectura/escritura de los discos. Si este valor es del 80%, se entiende que los discos se usan mucho. Un valor del 50 % o menos indica que no hay cuello de botella en el disco.
Muestra los que están esperando en el I/O realizado al disco. Si este valor es constantemente alto, significa que se inició el cuello de botella del disco o del almacenamiento.
Muestra la cantidad promedio de bytes procesados durante la lectura y escritura en disco. Un valor más alto significa que el disco está funcionando de manera eficiente.
Cuello de botella en la CPU
Es más fácil ver si el sistema se ralentiza desde la CPU, en comparación con la E/S de memoria y disco. Porque, después de asegurarse de la memoria y el disco, si aún hay más problemas y si es necesario examinar el lado de la CPU, la CPU del sistema se puede verificar de inmediato. Si la CPU del sistema es del 80 %, significa que hay un problema, pero en el 50 % se puede determinar que el problema no es causado por la CPU.
Procesador:% de tiempo de procesador en SQL Server
Muestra el tiempo de ejecución activo de la CPU.
Si el sistema operativo puede gestionar solicitudes sin aumentar la longitud de la cola del servidor entonces los procesos se atienden lo más rápido posible.
Procesador:% de tiempo privilegiado
Muestra el tiempo de CPU asignado al sistema operativo en el que se ejecuta SQL Server.
Procesador:% de tiempo de usuario
Muestra el tiempo de CPU dedicado a otras actividades que se ejecutan en el sistema operativo.
Seguiré explicando la solución de problemas de rendimiento de SQL Server en el próximo artículo.
Solución de problemas de rendimiento de SQL Server -4 Uso de DMV (Vista de administración dinámica) y DMF (Función de administración dinámica)