Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-11-2015
Avatar de RONPABLO
[RONPABLO] RONPABLO is offline
Miembro Premium
 
Registrado: oct 2004
Posts: 1.514
Poder: 21
RONPABLO Va por buen camino
Cita:
Empezado por LDD Ver Mensaje
Bueno gracias a todos, os amplío la situación :

- No es cuestión de si usar cable o wifi, no es opcional, HAY que usar WIFI, estamos hablando de tablets.
- Puede haber paredes o no, la cuestión es que a medida que nos separamos del rooter los paquetes se rompen más facilmente.
- Curiosamente la degradación sólo se da (o es mucho mayor) en operaciones sobre la base de datos de tipo Insert, Update, Delete; cuando hacemos SELECT el resultado es muy rápido, un poco más lento que si estamos junto al rooter pero muy aceptable.
- Gracias tmsanchez por el artículo enviado. Realmente funciona mejor si actualizo en el registro el valor de HKEY_LOCAL_MACHINE | System | CurrentControlSet | Services | Tcpip | parameters | TcpMaxDataRetransmissions y lo pongo a 1, pero entonces el programa peta en cuanto hay un paquete roto.
- Pensad que no hablo un único Insert sino de unos 30, uno tras otro.

Básicamente el problema parece que se da cuando los paquetes de datos que salen del cliente se "rompen" y este intenta enviarlos de nuevo (hasta 5 veces de acuerdo con la configuración Firebird.conf y de los valores de Registro), es como si se hiciera un lio de paquetes enviados y reenviados y se volviera muuuy lento hasta incluso bloquearse.

¿Hay una versión comercial de Firebird que gestione mejor esta situación?

Gracias por vuestro interés

Uno puede trabajar de una forma un poco distinta, aunque genera más trabajo de entrada, a futuro es algo muy bueno:
Entonces en vez de que nuestra aplicación se entienda directamente con TDataSets (o sus equivalentes TIBDataSet), es conveniente tener por lo menos dos aplicaciones, una estilo servidor la cual va a ser la única que juegue con la base de datos y que se encargue de transformar los TDataSets posibles en clases, por ejemplo en vez de tratar con un dataset llamado DSPersonas, se tenga una clase llamada Personas, al crear un objeto de dicha clase se va a tener toda la información que se tienen en un registro del dataset, luego si necesito tener la información de varias personas las podré almacenar en un TList, ahora al tener tanto el TList de personas, o al objeto Persona los puedo serializar y convertir en una cadena de texto, la cual es más eficiente a la hora de tratar con ella en una red, estas cadenas de texto son con lo que seguiremos tratando en la otra aplicación, en la cliente, cuando pida información al servidor, esta no va a pedir un DSPersona, va a tratar con las cadenas de texto e internamente las va a desserializar y convertir en un objeto Persona, si se hace algún cambio ese objeto persona se serializar nuevamente, se envía a la aplicación servidor, este habla con la base de datos y guarda la información en la tabla personas...

Como digo, es muy largo de hacer de entrada, si ya se tiene mucho hecho se ve como algo muy malo, pero se va notando como mejora en velocidad y estabilidad de una forma fantástica.
__________________
"Como pasa el tiempo..... ayer se escribe sin H y hoy con H"
Responder Con Cita
  #2  
Antiguo 11-11-2015
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por RONPABLO Ver Mensaje
Uno puede trabajar de una forma un poco distinta, aunque genera más trabajo de entrada, a futuro es algo muy bueno...
Mientras separa la BD/logica es bueno, el que sea o no datasets es tangencial. Un dataset tambien serializa a texto.

De todas maneras para este caso el problema es la calidad de conexion...
__________________
El malabarista.
Responder Con Cita
  #3  
Antiguo 11-11-2015
Avatar de RONPABLO
[RONPABLO] RONPABLO is offline
Miembro Premium
 
Registrado: oct 2004
Posts: 1.514
Poder: 21
RONPABLO Va por buen camino
Cita:
Empezado por mamcx Ver Mensaje
Mientras separa la BD/logica es bueno, el que sea o no datasets es tangencial. Un dataset tambien serializa a texto.

De todas maneras para este caso el problema es la calidad de conexion...

Lo del dataSet lo digo porque además suele tener mucha información. Y si es de alguna paleta estilo IBX, y un largo Etc va a tener otras cosas que lo pueden complicar trabajar serializado, o desconectado, o que traiga aún más información que no se use, al crear uno la clase y serializarla suelo tener más control de que estoy enviando, y soy más consciente que tanta información estoy enviando, al final esto a mi me significo ahorros escandalosos en trafico de red.
__________________
"Como pasa el tiempo..... ayer se escribe sin H y hoy con H"
Responder Con Cita
  #4  
Antiguo 11-11-2015
LDD LDD is offline
Miembro
 
Registrado: ago 2003
Posts: 48
Poder: 0
LDD Va por buen camino
Gracias a todos

Gracias a tod@s,

La verdad es que la WIFI , el router .. son de los mejores, no es problema de calidad de hardware.
Tampoco debería ser problema de software ya que el mismo ha funcionado durante más de 15 años en entornos muy antiguos, eso sí NUNCA con WIFI.

Seguramente acabaremos aplicando la solución que ya ha comentado RONPABLO de trabajar las transacciones enviado los fatos por FTP o cualquier otro sistema y haciendo que las operaciones de escritura emn la base de datos las realice un segundo programa en el servidor o en otro cliente conectado por cable.

Mientras tanto estoy tratando de ver si Firebird 3.0 ha resuelto este problema, pero me doy de narices al tener ODS distintas, mi base de datos tiene la 11.2 y parece que Firebird 3.0 usa la 12.0, en fín ya os contaré.

Gracias de nuevo
Responder Con Cita
  #5  
Antiguo 11-11-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Como ha dicho antes otros compañeros y yo mismo, tenemos clientes trabajando por wifi con bastante más de 10 metros, sin problemas, con fb1.5, fb.2.1 y fb.2.5
Responder Con Cita
  #6  
Antiguo 12-11-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Pero si no quiere creer que puede ser problema de hardware...
Cita:
Empezado por LDD Ver Mensaje
La verdad es que la WIFI , el router .. son de los mejores, no es problema de calidad de hardware.
Tampoco debería ser problema de software ya que el mismo ha funcionado durante más de 15 años en entornos muy antiguos, eso sí NUNCA con WIFI.
Sin embargo, si antes iba bien y ahora con wifi va mal, es que algo del wifi no está bien. Por lógica.
Responder Con Cita
  #7  
Antiguo 11-11-2015
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
La sugerencia de RONPABLO (es conveniente tener por lo menos dos aplicaciones, una estilo servidor la cual va a ser la única que juegue con la base de datos y que se encargue de transformar los TDataSets) es un buena idea. Donde yo trabajaba (en una entidad bancaria) el analista de microinformática para las aplicaciones en Oracle diseñó y desarrolló un sistema en el que los puestos enviaban "paquetes" de texto plano (SELECT, INSERT, etc.) a una aplicación en el servidor que era la que ejecutaba todo el tarbajo de BB.DD. y devolvía una ristra también en texto plano, con los pertinentes "caracteres de control" propios. Como era algo interno todos conocíamos que iba a devolvernos y como vendría estructurado. Por desgracia no dispongo de ese código.

Si recuerdo que cada una de las partes usaba dos puertos TCP. Por uno mandaba la orden y por el otro recibía la respuesta. Una vez afinado era un sistema altamente fiable y rápido. No era wifi pero por ponerte un ejemplo conectaba puestos de oficinas que distaban 400 y 500 Km. del servidor Oracle.

Y lo que te comentan del "ruído" no es ninguna tontería: en un negocio de hostelería hay muchas máquinas (cubiteras, registradoras, receptores de TV, etc.) que degradan la señal. La opción de poner repetidores no es descabellada.
Responder Con Cita
  #8  
Antiguo 11-11-2015
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
No hace falta reinventar la rueda. Con datasnap o mormot ya tenés todo lo necesario para una aplicación en capas
Responder Con Cita
  #9  
Antiguo 11-11-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Angel.Matilla Ver Mensaje
La sugerencia de RONPABLO (es conveniente tener por lo menos dos aplicaciones, una estilo servidor la cual va a ser la única que juegue con la base de datos y que se encargue de transformar los TDataSets) es un buena idea. Donde yo trabajaba (en una entidad bancaria) el analista de microinformática para las aplicaciones en Oracle diseñó y desarrolló un sistema en el que los puestos enviaban "paquetes" de texto plano (SELECT, INSERT, etc.) a una aplicación en el servidor que era la que ejecutaba todo el tarbajo de BB.DD. y devolvía una ristra también en texto plano, con los pertinentes "caracteres de control" propios. Como era algo interno todos conocíamos que iba a devolvernos y como vendría estructurado. Por desgracia no dispongo de ese código.
Si recuerdo que cada una de las partes usaba dos puertos TCP. Por uno mandaba la orden y por el otro recibía la respuesta. Una vez afinado era un sistema altamente fiable y rápido. No era wifi pero por ponerte un ejemplo conectaba puestos de oficinas que distaban 400 y 500 Km. del servidor Oracle.
Y lo que te comentan del "ruído" no es ninguna tontería: en un negocio de hostelería hay muchas máquinas (cubiteras, registradoras, receptores de TV, etc.) que degradan la señal. La opción de poner repetidores no es descabellada.
Sin querer menospreciar, pero no tiene nada que ver una cosa con otra, Ángel, eran tecnologías distintas, cableadas (seguramente norma X.25). Hoy en día cualquier tecnología de las que usamos es mucho más segura, rápida, eficiente y fácil de usar.
Algunos de mis viejos clientes tienen conexiones directas sobre internet con las distintas sucursales, en tiempo real, con firebird y componentes IBX.
Otros conectan a un servidor web mediante wifi y es el servidor web el que conecta con el servidor de bases de datos firebird.

Cita:
Empezado por AgustinOrtu Ver Mensaje
No hace falta reinventar la rueda. Con datasnap o mormot ya tenés todo lo necesario para una aplicación en capas
Por ejemplo, también.
Responder Con Cita
  #10  
Antiguo 12-11-2015
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Sin querer menospreciar, pero no tiene nada que ver una cosa con otra, Ángel, eran tecnologías distintas, cableadas (seguramente norma X.25). Hoy en día cualquier tecnología de las que usamos es mucho más segura, rápida, eficiente y fácil de usar.
No estaba comparando tecnologías; simplemente comentaba que la idea de RONPABLO era buena independientemente de la tecnología empleada. Es cierto que el 99% de las conexiones que hacía mi banco era con protocolos de cable, pero las que se hacían inalámbricas también empleaban ese mismo sistema.
Responder Con Cita
  #11  
Antiguo 12-11-2015
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.471
Poder: 21
newtron Va camino a la fama
Hola a todos.

La experiencia que yo estoy teniendo, y según lo que he comentado a otros colegas les pasa lo mismo, es que la wifi no es una buena opción para este tipo de menesteres. A nosotros nos pasa que, teniendo una instalación con wifi funcionando de forma correcta, en el momento en que el local se llena de gente (fines de semana) empiezan los problemas.

¿Solución? buscar puntos de acceso y tablets de calidad, es decir, que no valen las tablets "baratunas" ni los puntos de acceso convencionales.

Nosotros siempre hemos instalado terminales vía radio (orderman) sin ningún tipo de problemas, pero el tema es que la tecnología wifi es bastante más barata y la gente la demanda queriendo que te de el mismo rendimiento que tecnologías tipo radio que son bastante más fiables y es cuando vienen los problemas.

Nosotros estamos intentando encontrar puntos de acceso y tablets adecuados pero todavía no hemos dado con algo fiable. Cuando lo encontremos ya lo postearé por aquí.

Saludos
__________________
Be water my friend.
Responder Con Cita
  #12  
Antiguo 12-11-2015
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Es que además se añade que cada vez más se exige "wifi gratis" en el local para los clientes, con lo que hay que compartir recursos con más gente. Eso o tener un equipo sólo para atender los accesos de los clientes y otro para el servicio del local.
Responder Con Cita
  #13  
Antiguo 11-11-2015
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por AgustinOrtu Ver Mensaje
No hace falta reinventar la rueda. Con DataSnap o mormot ya tenés todo lo necesario para una aplicación en capas
De hecho es una solución idónea.
Responder Con Cita
  #14  
Antiguo 12-11-2015
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Disculpen la intromisión pero, ¿de verdad se necesita tanta parafernalia para tomar la orden de los comensales? Creo que algunos han comentado que debe revisarse el alcance e interferencias en la red wifi y me sumo a ellos. Creo que se le preguntó desde un principio si observaba la misma degradación en otros usos de internet y creo que no ha contestado. Por ahí habría que empezar.

// Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Mando a Distancia sanluisme Varios 2 22-10-2012 19:22:13
FIrebird: Eliminar tablas segun un patron apicito Firebird e Interbase 7 02-02-2012 10:33:09
Comportamiento diferente segun conexión LAN o WIFI MON___ Redes 1 14-01-2008 23:12:50
Universidades a distancia DarKraZY Debates 5 07-05-2006 13:01:41
trabajo a distancia haron Debates 9 22-07-2004 05:34:42


La franja horaria es GMT +2. Ahora son las 20:02:08.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi