Aplicacion atravez de Red inalambrica

Estoy realizando una aplicación (VB claro) que contabiliza piezas escaneadas y esta información la guarda en una BD local en Access pero a la vez la información la necesito en un servidor donde se encuentra la BD principal, este programa te esta enviando estadísticas cada 30 segundos a la BD del Servidor osea la aplicación graba localmente y remotamente esto se realizo de esta manera ya que el conteo de piezas no puede parar y la Red inalámbrica sufre de muchas caídas así de esta manera me aseguro que la información no se pierda al estarlo grabando primero Localmente, mi problema es que la aplicación se alentaba desde mi punto de vista el problema venia cuando la red inalámbrica bajaba su velocidad de 54Mbps a 2Mbps, pero no estaba seguro, así que mi aplicación la dividí en Dos y deje que una aplicación realizara la contabilización y la otra reenviara la información al servidor, al parecer hubo mejoría pero al estar contando durante un buen tiempo unas 7 horas alrededor de 3000 piezas la aplicación se alentá mucho.
Desde mi punto de vista la lentitud es por las bajadas de velocidad de la Red inalámbrica. Pero ya lo probé sin enviar datos al servidor y de todas maneras se alentá. Esta aplicación ya funcionaba bien, solo que ahora yo le agregue que cada escaneo grabe en la base de datos osea que son 3 puntos los que consedero que me afectan
1-Red Inalámbrica
2-Mala utilización de puerto Com (Escáner)
3-Los accesos a la BD Access son demasiados.
¿Cuál es tu opinión sobre mi problema? O que me puedes recomendar, (La der es inalámbrica ya que es casi imposible cablear)

1 Respuesta

Respuesta
1
Realmente es complicado determinar en un sistema complejo como el que me planteas las causas de la pérdida de rendimiento.
De entrada yo descartaría la 'mala utilización del escáner', puesto que el proceso de escaneado es igual tanto para la primera pieza como para la pieza 3000, por tanto no se debería tardar más en una que en la otra.
Por otro lado, parece ser que el rendimiento baja cuantas más horas de trabajo se realizan. Esto me hace pensar que la caída de velocidad en la red inalámbrica tampoco es decisiva, principalmente por que estas caídas de velocidad suelen ser aleatorias y lo mismo se pueden producir a primera hora que a última. También es cierto que podría suceder que a última hora de la jornada se utilizase algún tipo de maquinaria que interfiriese con la red, y que por tanto, a partir de ese momento la aplicación se ralentizara.
Todo lo anterior me lleva a pensar que el cuello de botella esté en la base de datos local (aunque un exceso de carga en el servidor también haría que el proceso de envío de información se ralentizase). Así pues, yo encaminaría mis esfuerzos en mejorar lo posible la tarea de la base de datos local. Haría pruebas con los siguientes factores:
* Cada inicio de jornada trataría de reparar y compactar la base de datos.
* Definir índices en los campos sobre los que se realizan mayor número de consultas. Si estos campos son numéricos mejor que mejor.
* Las inserciones y actualizaciones las intentaría realizar a través de sentencias SQL siempre que fuera posible, en vez de utilizar Recordsets o Resultsets.
* Para las consultas, especificar que son de sólo lectura y utilizar bloqueos optimistas.
Poco más se me ocurre. Si lo deseas puedes enviarme el esquema de la base de datos a [email protected]. Quizás viendo el diseño se me ocurra algo más.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas