Ver Mensaje Individual
  #2 (permalink)  
Antiguo 14/03/2006, 12:50
monkyta
 
Fecha de Ingreso: noviembre-2005
Mensajes: 658
Antigüedad: 19 años, 2 meses
Puntos: 3
Cuando empiezan a aparecer sintomas de lentitud; lo primero que hay que revisar son todos los procedimientos almacenados o querys que se lanzan al servidor y medir los tiempos..... esto usando show plan, etc. o usando el analizador de consultas del sql server.... De ahi, podras ver que muchas de las querys realizan table scan y por ende, las querys corren muy lentas.... si eso ocurre, deberas de revisar cada tabla y verificar que en cada una de ellas exista a lo menos un indice unico clustered, mas otros indices que sean altamente usados.... sino existen dichos indices, debes de crearlos y volver a recompilar cada procedimiento.... despues vuelves a hacer show plan para ver los tiempos involucrados.
Si despues de la revision exhaustiva a todos los procesos sospechosos del alto consumo de recursos; deberas de seguir con la configuracion del sql server y de la maquina en donde esta alojado; en terminos de uso de cpu, memoria utilizada, etc... ademas, se deben de ajustar muchos parametros de configuracion que no siempre vienen bien seteados; como por ejemplo, el del tamaño del packet_size para manejo de ancho de banda; el de maximo de conexiones, del maximo del locks permitidos, memoria asignada al servidor sql, etc.Por parte de la maquina; debes de revisar que otros servicios estan instalados y que procesos mas carga el servidor.
Tambien, es bueno que las bases de datos que son muy voluminosas, separar en diferentes discos el area de data, log e indices no clustered
Por parte del cliente; siempre es bueno balancear la carga de trabajo; es decir, tratar siempre por todos los medios realizar las operaciones al sql server usando llamadas a procedimientos almacenados en vez de sql embutidos; ya que estos usan mucho ancho de banda por tener que enviarse toda la query cada vez... esto satura.... tambien se satura el ancho de banda cuando hay querys por ejemplo que extraen miles y miles de filas en un solo tiempo; esto hay que evitarlo por todos los medios; ya sea, acotando las querys por medio del where o bien, usando set rowcount xxxx, o select top xxx......

Eso es lo que puedo aportar por ahora