Lentitud

06/03/2004 - 09:30 por Savante | Informe spam
Hola,
accedo a mi servidor de base de datos Sql Server 2000 por
medio de una conexión VPN al mismo servidor.
Cuando hago consultas a veces el resultado es muy rápido
pero la mayoria de veces que hago consultas SQL con
criterios de selección desde una aplicación cliente tarda
muchísimo (cerca de 10 segundos).
Lo mismo me pasa cuando establezco una conexión con la
base de datos al iniciar sesión la aplicación cliente.
Tarda otros 10 segundos. No me importa tanto que tarde al
conectar pero si me preocupa que tarde al realizar las
consultas.

A que puede ser debido? Iria mas rapido si en lugar de
enviar una consulta al servidor creara procedimientos
almacenados?
Podeis pensar que es debido al volumen de datos y el coste
en la transferencia de los mismos pero os aseguro que
muchas veces pasa con un resultado de consulta de 10
registros...lo que podría equivaler como mucho a 2 o 3 KB.
Y a veces lo hace rápido.

Gracias, me encanta estos grupos. Siempre soys de mucha
ayuda

Preguntas similare

Leer las respuestas

#1 Maximiliano Damian Accotto
06/03/2004 - 14:08 | Informe spam
Hola!! sin duda que un Store hara las cosas mejor si es muy consultado ya
que este reside en la Cache del Servidor.

Ahora que este lento pueden ser muchas cosas.

1) No buenos indices
2) problemas de configuracion en el Cliente
3) Bloqueos
4) Falta de recursos

Te diria primero para descartar tu aplicacion es que hagas las consultas via
en Analizador de consultas y veas que va pasando.
Si estas corren bien rapido el problema lo tienes en la aplicacion cliente,
como se conecta? como trata los datos,etc.

Si funciona lento tambien, proba hacer las consultas desde el servidor, si
en este ultimo funcionan rapido el problema podria ser RED por ej, hay veces
que una red esta mal configurada y cuando queres buscar un nombre DNS se
pierde en el limbo!!
Como primer medida llama a tu Servidor via IP y proba si cambia.

Tambien podrias utilizar la herramienta que tiene windows para ver el
rendimiento y poner estos contadores:

Procesador: % de Tiempo de Procesador
Sql Server Lock (en español Bloqueo): Lock Requests/Sec
Sql Server Memory Manager: (Admin de memoria en español): Total Server
Memory


Tira las consultas que tardan y fijate como cambian estos valores, trata de
ver que a CPU no quede mucho tiempo por encima del 80% y que los bloqueos no
se disparen.
Con lo que respecta a la memoria Microsoft recomienda que ese indicador no
sea menor a 5MB, yo recomiendo que no sea menor a 32MB y si queres ser mejor
aun 64MB.

Creo que con esto tenes para entretenerte un ratito :-D

Luego contanos como te fue.

pd: podes probar del cliente hacer desde la consola de comandos un Tracert
IPSERVIDOR y ver por todos los nodos que pasa y cuanto de latencia tiene en
cada uno, si esta es mayor a 1ms avisa!!!!

Bye


Salu2 enormes

Maximiliano Damian Accotto

Fundicion San Cayetano S.A.
Gerente de IT
Buenos Aires - Argentina
-
Desarrollador 3 estrellas
http://www.microsoft.com/spanish/ms...efault.asp
-
(maxi_accotto[arroba]speedy.com.ar)
MSN:
-

"Savante" escribió en el mensaje
news:7f9401c40355$50912710$
Hola,
accedo a mi servidor de base de datos Sql Server 2000 por
medio de una conexión VPN al mismo servidor.
Cuando hago consultas a veces el resultado es muy rápido
pero la mayoria de veces que hago consultas SQL con
criterios de selección desde una aplicación cliente tarda
muchísimo (cerca de 10 segundos).
Lo mismo me pasa cuando establezco una conexión con la
base de datos al iniciar sesión la aplicación cliente.
Tarda otros 10 segundos. No me importa tanto que tarde al
conectar pero si me preocupa que tarde al realizar las
consultas.

A que puede ser debido? Iria mas rapido si en lugar de
enviar una consulta al servidor creara procedimientos
almacenados?
Podeis pensar que es debido al volumen de datos y el coste
en la transferencia de los mismos pero os aseguro que
muchas veces pasa con un resultado de consulta de 10
registros...lo que podría equivaler como mucho a 2 o 3 KB.
Y a veces lo hace rápido.

Gracias, me encanta estos grupos. Siempre soys de mucha
ayuda
Respuesta Responder a este mensaje
#2 Javier Loria
06/03/2004 - 18:14 | Informe spam
Hola:
Se me ocurren 2 alternativas:
a) Estadisticas: Revisa que las opciones de la BD esten en
AUTO_UPDATE_STATISTICS y AUTO_CREATE_STATISTICS. Esto lo puedes hacer en el
Enterprise Manager con clic derecho sobre la BD.
b) Bloqueos: Dependiendo del tipo de consulta es probable que este bloqueado
por otra modificacion o consulta adicional Esto pueder revisarlo con el
Performance Monitor y Busca el Objeto SQL Locks, y busca el monitorea el Avg
Wait Time.
Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.

Savante escribio:
Hola,
accedo a mi servidor de base de datos Sql Server 2000 por
medio de una conexión VPN al mismo servidor.
Cuando hago consultas a veces el resultado es muy rápido
pero la mayoria de veces que hago consultas SQL con
criterios de selección desde una aplicación cliente tarda
muchísimo (cerca de 10 segundos).
Lo mismo me pasa cuando establezco una conexión con la
base de datos al iniciar sesión la aplicación cliente.
Tarda otros 10 segundos. No me importa tanto que tarde al
conectar pero si me preocupa que tarde al realizar las
consultas.

A que puede ser debido? Iria mas rapido si en lugar de
enviar una consulta al servidor creara procedimientos
almacenados?
Podeis pensar que es debido al volumen de datos y el coste
en la transferencia de los mismos pero os aseguro que
muchas veces pasa con un resultado de consulta de 10
registros...lo que podría equivaler como mucho a 2 o 3 KB.
Y a veces lo hace rápido.

Gracias, me encanta estos grupos. Siempre soys de mucha
ayuda
Respuesta Responder a este mensaje
#3 Savante
07/03/2004 - 11:30 | Informe spam
Hola, ahora que dices lo de los recursos...
Es que para hacer las pruebas estoy ejecutando el servidor
en una maquina virtual y debe ser que cuando hay muchas
cosas a ejecutar se queda sin recursos. Porque en realidad
no es normal que en realizar la conexion a la base de
datos tarde cerca de 10 segundos no?

Un saludo



Hola!! sin duda que un Store hara las cosas mejor si es


muy consultado ya
que este reside en la Cache del Servidor.

Ahora que este lento pueden ser muchas cosas.

1) No buenos indices
2) problemas de configuracion en el Cliente
3) Bloqueos
4) Falta de recursos

Te diria primero para descartar tu aplicacion es que


hagas las consultas via
en Analizador de consultas y veas que va pasando.
Si estas corren bien rapido el problema lo tienes en la


aplicacion cliente,
como se conecta? como trata los datos,etc.

Si funciona lento tambien, proba hacer las consultas


desde el servidor, si
en este ultimo funcionan rapido el problema podria ser


RED por ej, hay veces
que una red esta mal configurada y cuando queres buscar


un nombre DNS se
pierde en el limbo!!
Como primer medida llama a tu Servidor via IP y proba si


cambia.

Tambien podrias utilizar la herramienta que tiene windows


para ver el
rendimiento y poner estos contadores:

Procesador: % de Tiempo de Procesador
Sql Server Lock (en español Bloqueo): Lock Requests/Sec
Sql Server Memory Manager: (Admin de memoria en español):


Total Server
Memory


Tira las consultas que tardan y fijate como cambian estos


valores, trata de
ver que a CPU no quede mucho tiempo por encima del 80% y


que los bloqueos no
se disparen.
Con lo que respecta a la memoria Microsoft recomienda que


ese indicador no
sea menor a 5MB, yo recomiendo que no sea menor a 32MB y


si queres ser mejor
aun 64MB.

Creo que con esto tenes para entretenerte un ratito :-D

Luego contanos como te fue.

pd: podes probar del cliente hacer desde la consola de


comandos un Tracert
IPSERVIDOR y ver por todos los nodos que pasa y cuanto de


latencia tiene en
cada uno, si esta es mayor a 1ms avisa!!!!

Bye


Salu2 enormes

Maximiliano Damian Accotto

Fundicion San Cayetano S.A.
Gerente de IT
Buenos Aires - Argentina
-
Desarrollador 3 estrellas
http://www.microsoft.com/spanish/ms...desarrolla


dor/default.asp
-
(maxi_accotto[arroba]speedy.com.ar)
MSN:
-

"Savante" escribió


en el mensaje
news:7f9401c40355$50912710$
Hola,
accedo a mi servidor de base de datos Sql Server 2000 por
medio de una conexión VPN al mismo servidor.
Cuando hago consultas a veces el resultado es muy rápido
pero la mayoria de veces que hago consultas SQL con
criterios de selección desde una aplicación cliente tarda
muchísimo (cerca de 10 segundos).
Lo mismo me pasa cuando establezco una conexión con la
base de datos al iniciar sesión la aplicación cliente.
Tarda otros 10 segundos. No me importa tanto que tarde al
conectar pero si me preocupa que tarde al realizar las
consultas.

A que puede ser debido? Iria mas rapido si en lugar de
enviar una consulta al servidor creara procedimientos
almacenados?
Podeis pensar que es debido al volumen de datos y el coste
en la transferencia de los mismos pero os aseguro que
muchas veces pasa con un resultado de consulta de 10
registros...lo que podría equivaler como mucho a 2 o 3 KB.
Y a veces lo hace rápido.

Gracias, me encanta estos grupos. Siempre soys de mucha
ayuda


.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida