FoxPro/Visual FoxPro - Les comento una prueba de red (si sirve)

 
Vista:

Les comento una prueba de red (si sirve)

Publicado por Andrea (325 intervenciones) el 31/08/2010 01:30:16
Hola a todos!
En tren de buscar una mejora en la velocidad en la red con el programa que alguna vez conté que tenía varios problemas en trabajo en red (mientras voy armando algo en paralelo con el formato cliente-servidor), hice la siguiente prueba:

- Armé una VISTA local dentro de la base de datos sobre un DBF que tiene 55.000 registros.

- Desde una terminal, hice 2 pruebas:

1) Conectarme al servidor mediante escritorio remoto y abrir la base de datos con VFP.
Doble click sobre la Vista para abrirla (Examinar)
Tiempo que tardó: instantáneo

2) Conectarme al servidor por red, mediante una unidad de red y abrir la base de datos con el VFP
Doble click sobre la Vista
Tiempo que tardó: 5 segundos.

En este caso solamente ocupa el 25% del tráfico de una red de 100 mbps

Tanto el Servidor (CPU Quad) como el terminal (Corel 2 duo) son equipos nuevos y buenos.

Evidentemente no es problema de red ni tampoco del programa, ya que en este caso el acceso lo hice mediante VFP9 y no por el programa.

EN realidad esta prueba la hice porque tenía un formulario de consulta con un SELECT SQL pero tardaba 8 segundos.
AHora tarda 3 segundos menos, pero sigue siendo lento para el usuario, que debe esperar 5 segundos para que le aparezcan los datos en pantalla (Se acuerdan de mí cuando hay mucha gente =)

¿Hay alguna forma de que la vista quede cargada "en memoria" y que no necesiten tener que esperar ese tiempo cada vez que hacen la consulta???

Gracias =)
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

RE:Les comento una prueba de red (si sirve)

Publicado por es_binario (757 intervenciones) el 31/08/2010 05:00:14
Te reto a que hagas la misma prueba con ayuda de 2 personas mas, es decir que hagas la prueba de 3 terminales accediendo a la base de datos, con una consulta sql like, como para buscar un producto o una consulta arbitratia en la tabla pero que las 3 personas hagan la consulta simultanea, y ya veras como te pones a estudiar mysql, firebird, etc. bases verdaderamente diseñadas para red.

y para las vistas cargadas consulta la clausula buffer, pero olvidate de que la consulta este actualizada.

espero que aceptes mi reto, por cierto la maquina que describes es como para armar una pagina al estilo mercadolibre en una red local es un super maquinon.

Nota extra: tengo en una tienda 5 puntos de venta 2 cajas 2 administradores uno que alimenta y conduce los inventarios y captura de nuevos productos entradas salidas de mayoreo trasferencias etc, y la otra lo contable impresion de facturas estados de cuenta, cobranza, todo en mysql 5.1 y trabaja de maravilla, la tabla ventas tiene 300 mil registros y la de clientes cerca de los 8 mil. no se compara dbf contra un motor como mysql, pero hay otra alternativa para los amantes de las dbf, y es el database advance.

perdon y repito acepta mi reto, has la prueba y nos comentas, pero hasla de verdad consigue unas portatiles o usa una maquina vieja no hay problema.

gracias. por tu pronta respuesta.
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:Les comento una prueba de red (si sirve)

Publicado por Juanma Cruz (512 intervenciones) el 31/08/2010 19:45:16
Usa Buffers en la medida de lo posible, y que cargue registros en lotes (batch)

Aprovecho la ocasión para comentar la manía que tenemos, heredada de viejos esquemas, de querer mostrarle todo al usuario en pantalla.

¿Quien necesita ver TODOS los clientes, por ejemplo, al mismo tiempo en un pedazo pantalla?

Un usuario se sienta frente al PC y más o menos ya sabe lo que quiere buscar, así que lo mejor es armar primero los criterios de búsqueda y luego mandar a buscar los datos.

Que sí, que es muy bonito ir escribiendo un nombre y que interactivamente la GRID se vaya aproximando al registro buscado, pero no vamos a impresionar al usuario ni a aligerar su trabajo, sólo confundirlo con demasiada info en pantalla, por un lado, sobrecargar al servidor con peticiones de información inútil, y de paso la red con paquetes de información que seguramente no serán usados.

Saludos y suerte.

PD/ Si trabajais con un motor SQL, no descuideis los índices, las ventajas en velocidad pueden ser determinantes.
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:Les comento una prueba de red (si sirve)

Publicado por Andrea (325 intervenciones) el 01/09/2010 02:19:05
Gracias por las sugerencias!!

EN verdad ya estoy intentando migrar al MySql, pero requiere tiempo, pruebas y dolores de cabeza hasta que todo funcione "sin problemas"

En cuanto al reto, ya lo hemos hecho: todos accediendo a la misma tabla, consultando, por ejemplo, clientes. Realmente el rendimiento se ve MUY disminuido cuando se accede a los datos.

Acceso a una tabla o vista desde una terminal Todas las demás fuera del programa MUY RÁPIDO

Acceso a una tabla o vista desde una terminal. Todas las demás dentro del programa: LENTO

Acceso a una tabla o vista desde todas las terminales simultáneamente : MUY LENTO.

Además descubrimos que a la mañana temprano (al encender las máquinas) el programa anda más rápido que a la tarde. Es como que hubiera algún Buffer de red donde se van "cargando" los datos, que es independiente de las terminales.

Si una consulta a la mañana tarda 4 segundos, a la tarde tarda 6 aprox.

La idea es seguir haciendo pruebas, pero necesito de la buena predisposición de los dueños y que el encargado de servicio técnico tenga un buen día... ja ja

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