Hay tres análisis básicos que
pueden ayudarnos a la hora de estudiar un degradamiento general de nuestra Base
de Datos.
A) Estudiar Posibles Bloqueos
B) Analizar Valores Altos de I/O y CPU
C) Relevar Múltiples Procesos con un mismo SPID, (el spid es el nº que el sql server le da a cada proceso corriendo en el servidor)
Para estudiar estos tres puntos vitales de nuestro sistema mi arma favorita es el sp_who2
Este sp muestra todas las sesiones que están actualmente establecidas en el servidor.
La sentencia es sumamente sencilla:
EXEC sp_who2
El resultado ha obtener será el siguiente:
Los primeros 50 SPID están reservados para procesos del sistema que generalmente no merecen nuestra atención, ya que no suelen ser el origen de la degradación de la performance del server.
Ahora los puntos que SI debemos tener en cuenta
1) Bloqueos
Existe una columna llamada BlkBy la cual nos informa el SPID que está bloqueando al proceso de la fila que estemos observando.
Antes de "matar al proceso" con el comando KILL + SPID, podemos saber en que consiste el proceso que está bloqueado. Cómo? Pues simplemente utilizando la sentencia DBCC Inputbuffer (SPID).
Puede ocurrir que varios procesos estén bloqueados por el mismo SPID, en ese caso conviene estudiar en profundidad el proceso bloqueante
2) Altos Valores de INPUT/OUPUT y/o CPU
Para esto disponemos de dos columnas "CPUTime" y "DiskIO". Los procesos que demanden mucha lectura/escritura en disco y/ o CPU merecen ser analizados en detalle. Pueden hacerse mejoras de distinto tipo para evitar esta utilización excesiva de los recursos del sistema. (Recomiendo puntualmente analizar en detalle los planes de ejecución para determinar los pasos a seguir)
3) Procesos Paralelos
Cuando observamos varias filas destinadas a un mismo SPID tenemos que saber que es una acción que toma el SQL SERVER al estimar que le llevará un largo tiempo resolver el proceso. Cuando esto ocurre el sql server "tira" multiples hilos para el mismo proceso pudiendo tener esto consecuencias muy malas en términos de performance del server.
Una vez más, estudiemos el proceso "responsable" y tratemos de mejorarlo. De ser imposible podemos disminuir el máximo número de procesadores que el paralelismo puede usar. Esto se hace a nivel de servidor (MAXDOP).
A) Estudiar Posibles Bloqueos
B) Analizar Valores Altos de I/O y CPU
C) Relevar Múltiples Procesos con un mismo SPID, (el spid es el nº que el sql server le da a cada proceso corriendo en el servidor)
Para estudiar estos tres puntos vitales de nuestro sistema mi arma favorita es el sp_who2
Este sp muestra todas las sesiones que están actualmente establecidas en el servidor.
La sentencia es sumamente sencilla:
EXEC sp_who2
El resultado ha obtener será el siguiente:
Los primeros 50 SPID están reservados para procesos del sistema que generalmente no merecen nuestra atención, ya que no suelen ser el origen de la degradación de la performance del server.
Ahora los puntos que SI debemos tener en cuenta
1) Bloqueos
Existe una columna llamada BlkBy la cual nos informa el SPID que está bloqueando al proceso de la fila que estemos observando.
Antes de "matar al proceso" con el comando KILL + SPID, podemos saber en que consiste el proceso que está bloqueado. Cómo? Pues simplemente utilizando la sentencia DBCC Inputbuffer (SPID).
Puede ocurrir que varios procesos estén bloqueados por el mismo SPID, en ese caso conviene estudiar en profundidad el proceso bloqueante
2) Altos Valores de INPUT/OUPUT y/o CPU
Para esto disponemos de dos columnas "CPUTime" y "DiskIO". Los procesos que demanden mucha lectura/escritura en disco y/ o CPU merecen ser analizados en detalle. Pueden hacerse mejoras de distinto tipo para evitar esta utilización excesiva de los recursos del sistema. (Recomiendo puntualmente analizar en detalle los planes de ejecución para determinar los pasos a seguir)
3) Procesos Paralelos
Cuando observamos varias filas destinadas a un mismo SPID tenemos que saber que es una acción que toma el SQL SERVER al estimar que le llevará un largo tiempo resolver el proceso. Cuando esto ocurre el sql server "tira" multiples hilos para el mismo proceso pudiendo tener esto consecuencias muy malas en términos de performance del server.
Una vez más, estudiemos el proceso "responsable" y tratemos de mejorarlo. De ser imposible podemos disminuir el máximo número de procesadores que el paralelismo puede usar. Esto se hace a nivel de servidor (MAXDOP).
How to Play Online Roulette – 온라인 홀덤 사이트 추천 カジノ シークレット カジノ シークレット 온라인카지노 온라인카지노 bet365 bet365 코인카지노 코인카지노 bet365 bet365 カジノ シークレット カジノ シークレット dafabet dafabet 478 Sports Betting - Asian Handicap - thauberbet.com
ResponderEliminar