FoxPro/Visual FoxPro - Ayuda!! Programa lento! (debe algo sencillo)

 
Vista:

Ayuda!! Programa lento! (debe algo sencillo)

Publicado por Andrea (325 intervenciones) el 30/12/2009 13:58:35
Hola todos!!!

Terminando este 2009 tengo un GRAN PROBLEMA en un sistema funcionando en una red.

El programa funciona barbaro en una PC que funciona como servidor, pero cuando se abre en alguna de las terminales restantes, tarda mucho, SOBRE TODO CUANDO EL USUARIO ABRE UN FORM, al cargar el Entorno de Datos.

Con un tecnico, hicimos varias pruebas y la red funciona bien
Si le saco todos los datos a las tablas (con ZAP o DELETE ALL y PACK), el programa abre rapidisimo es decir, que el problema esta en cargar el entorno de datos.

La tablas que carga son de 12 Mb, pero lo extrano es que solo pasa en los terminales y no en la PC Servidor.

Les ha pasado algo asi???

No es una buena propaganda para alguien que recien empieza... no? Imaginen que hace 2 meses que esta funcionando y las tablas siguen creciendo!!

Muchas gracias!!! Cualquier dato sera bienvenido...

FELIZ 2010

Andy :)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:Ayuda!! Programa lento! (debe algo sencillo)

Publicado por DALSOM (612 intervenciones) el 30/12/2009 15:56:48
HAS TRATADO DE INDEXARLAS?
REVISADO FIREWALLS DE WINDOWS?
PERMISOS DE ACCESO AL SERVIDOR?

ESTOY CASI SEGURO, QUE SI ESTAS EN UN DOMINIO, Y EN EL USUARIO ENTRAS COMO ADMINISTRADOR DEL DOMINIO, TE FUNCIONARA MUCHO MAS RAPIDO!

SALUDOS,
DALSOM.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda!! Programa lento! (debe algo sencillo)

Publicado por HELDER (711 intervenciones) el 30/12/2009 16:11:55
Trata de poner la carpeta de tu sistema que esta en el server como una unidad de red en cada pc.

Y verifica los permisos de acceso a la carpeta donde esta el sistema.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda!! Programa lento! (debe algo sencillo)

Publicado por Andrea (325 intervenciones) el 30/12/2009 17:57:18
Gracias por las respuestas...

En cada Terminal, tengo creada una unidad de Red que apunta a la carpeta donde está el ejecutable.

La Red está toda sobre WinXP (es una red chica) y no tiene dominio, sino Grupo.

Hemos hecho algunas pruebas como las siguientes:
- cambiar de "servidor", es decir, instalar el programa en otra computadora y el problema sigue

- conectar al server con una terminal mediante un cable directo (evitando el switch) y nada.

Es decir, el problema NO está en la parte física de la Red, pero evidentemente hay algo por lo cual anda bien en el Server (carga todo rápido) y tarda casi 5 segundos!! en cargar un FORM en los terminales

Les recuerdo que sin datos (bases vacías) el programa funciona bárbaro en cualquier terminal. El problema es al cargar el Entorno de Datos...

Voy a revisar las sugerencias y les cuento

Andy :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda!! Programa lento! (debe algo sencillo)

Publicado por xx (378 intervenciones) el 30/12/2009 18:17:47
La respuesta esta en que haces con los registros al cargar dicho formulario!!, si comentas eso, seguro te daran una respuesta acertada de donde radica el problema.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda!! Programa lento! (debe algo sencillo)

Publicado por HELDER (711 intervenciones) el 30/12/2009 20:23:06
Te sugiero que instales tu sistema en cada pc, luego ejecutas el sistema desde un acceso directo del server, digo para que te acelere la carga de los forms.

Tambien lo ideal seria que trabajes con vistas remotas, o tablas temporales (select sql) desde cada terminal.

saludos desde Honduras y feliz año nuevo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda!! Programa lento! (debe algo sencillo)

Publicado por Andrea (325 intervenciones) el 30/12/2009 22:06:13
Gracias por las sugerencias y los saludos

Respondo lo que planteó XX: la demora se produce al abrir el form, es decir, antes de que el usuario pueda hacer cualquier cosa.

YO solamente agrego las tablas en el Entorno de datos. Las que se modifican las defino con buffering y las que son de lectura no.

Muchas gracias :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda!! Programa lento! (debe algo sencillo)

Publicado por xx (378 intervenciones) el 31/12/2009 01:27:32
Bueno realmente no trabajo con tablas con buffer, las emulo mediante codigo, te comento algo que lo tengo comprobado abrir una tabla con 1millon de registros demora casi lo mismo que abrir la misma tabla con 20 registros, obviamente no se cumple esto para la lectura y/o escritura, seleccion y/o filtrado de registro comparadas entre las tablas mencionadas, deberias probar sin buffer solo para comparar tiempo de carga del formulario es decir hacer una copia del formulario y configurarlo para que no utilice buffer en las tablas es altamente probable que sea el causal de la demora, tambien debes tener en cuenta si tienes muchos registros marcados (DELETE sin dar PACK) y utilizas SET DELETE ON que trabaja de forma similar que SET FILTER los cuales no son recomendados sobre tablas grandes o para hacer aplicaciones de alto rendimiento.
Te cuento que yo estandarizo mis formularios es decir se carga un formulario el usuario puede manipular la informacion editar borrar pero siempre hay un boton grabar que una vez presionado recien alli se hacen efectivos los cambios sobre mi base de datos caso contrario no se realiza ningun cambio sobre la base de datos, esto lo hago sin buffer.
Aparte de esto he notado que winxp en algunos servidores dependiendo de la configuracion (samba o win2003) demora unos 5 a 20 segundos en mapear una unidad de red la primera vez que se inicia ,generalmente esto sucede cuando tienes muchas unidades de disco en mipc debes comprobar esto en tu red o PC.
Espero no haberte embarrado mas el tema, y espero comentes como te fue con la prueba. Quizas con un poco de suerte lo soluciones.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda!! Programa lento! (debe algo sencillo)

Publicado por Andrea (325 intervenciones) el 01/01/2010 16:30:29
Muchas gracias! Voy a probar lo que sugieren
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Ayuda!! Programa lento! (debe algo sencillo)

Publicado por DALSOM (612 intervenciones) el 02/01/2010 01:26:04
YA VEO, ENTONCES, CREA VISTAS REMOTAS CON VARIABLES DE FILTRO, Y ABRELAS COMO NODATA, ASI, ABRIRAN VACIAS, Y NO TE CARGARAN TODA LA DATA EN MEMORIA, Y CUANDO NECESITES CIERTO CONJUNTO DE DATOS, CAMBIA TUS FILTROS Y HASLE UN REQUERY().

SALUDOS,
DALSOM.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar