Bloqueos y rendimiento

19/01/2006 - 18:08 por JSR | Informe spam
Saludos al grupo.

En estos días he tenido demasiados bloqueos a las tablas, a tal punto que
SQL corre demasiado lento. La carga de trabajo a nivel de servidor es
normal, menos del 30%, pero cualquier transacción a las bases es demasiado
lenta, es decir el motor baja su rendimiento. Tenemos dos aplicaciones
independientes, la A (con fuentes) que trabaja con 5 bases de datos y la B
(sin fuentes) con 1 base diferente. La cuestión es que en la aplicación A
existen procesos que bajan el rendimiento del motor que ni la aplicación B
corre normal. Como puedo detectar que proceso, sentencia SQL, etc. me está
dando el problema. Solo lo puedo hacer por el Query Analyzer, porque el
Enterprise Manager tambien se bloquea. Entonces una de mis pregunta es,
como detectar el proceso que me hace caer el rendimiento del motor por medio
del QA. Así mismo, utilizando el profiler, que plantilla o parámetros debo
configurar para revisar el rendimiento. Otras preguntas más:

a partir de que tamaño de la base de datos es aconsejable definirla como
filegroup. De las bases, las más grandes son de 4 y 2.5 GB, definidas como
un archivo cada base. ¿Definirlas en varios archivos me ayudaría en el
rendimiento? de ser así, donde obtengo los pasos para pasar una base de un
solo archivo a un filegroup, y de que tamaño máximo deberían ser los
archivos.

A nivel de índices ya he revisado con el Index Tuning Wizard con un trace de
todo un día y no me da ajustes.

A nivel de aplicación, y para que me confirmen, que es más óptimo, que la
aplicación envíe las sentencias SQL a ejecutar o que se las haga a través de
stored procedures?

Gracias por cualquier ayuda que me puedan dar.
Slds,
Juan
 

Leer las respuestas

#1 Isaias
19/01/2006 - 21:10 | Informe spam
Lee este articulo:

http://www.configuracionesintegrale...articulo%6
Saludos
IIslas


"JSR" escribió:

Saludos al grupo.

En estos días he tenido demasiados bloqueos a las tablas, a tal punto que
SQL corre demasiado lento. La carga de trabajo a nivel de servidor es
normal, menos del 30%, pero cualquier transacción a las bases es demasiado
lenta, es decir el motor baja su rendimiento. Tenemos dos aplicaciones
independientes, la A (con fuentes) que trabaja con 5 bases de datos y la B
(sin fuentes) con 1 base diferente. La cuestión es que en la aplicación A
existen procesos que bajan el rendimiento del motor que ni la aplicación B
corre normal. Como puedo detectar que proceso, sentencia SQL, etc. me está
dando el problema. Solo lo puedo hacer por el Query Analyzer, porque el
Enterprise Manager tambien se bloquea. Entonces una de mis pregunta es,
como detectar el proceso que me hace caer el rendimiento del motor por medio
del QA. Así mismo, utilizando el profiler, que plantilla o parámetros debo
configurar para revisar el rendimiento. Otras preguntas más:

a partir de que tamaño de la base de datos es aconsejable definirla como
filegroup. De las bases, las más grandes son de 4 y 2.5 GB, definidas como
un archivo cada base. ¿Definirlas en varios archivos me ayudaría en el
rendimiento? de ser así, donde obtengo los pasos para pasar una base de un
solo archivo a un filegroup, y de que tamaño máximo deberían ser los
archivos.

A nivel de índices ya he revisado con el Index Tuning Wizard con un trace de
todo un día y no me da ajustes.

A nivel de aplicación, y para que me confirmen, que es más óptimo, que la
aplicación envíe las sentencias SQL a ejecutar o que se las haga a través de
stored procedures?

Gracias por cualquier ayuda que me puedan dar.
Slds,
Juan



Preguntas similares