Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Port Fordward Y Conexion A Firebird (https://www.clubdelphi.com/foros/showthread.php?t=51748)

mjjj 27-12-2007 19:58:15

Port Fordward Y Conexion A Firebird
 
Hola amigos... quisiera hacerle algunas preguntas.

Utizo delphi 2006, Firebird 2.01, para hacer la conexion utizo los componentes que vienen con delphi Interbase (TIbtable, TIbquery, etc).

El servidor que almacena las bases de datos es un Pentium 4 de 2.8 GHz, con 512 MB en ram y un disco duro de 40 GB.

La base de dato es de aproximadamente unos 30 MB, la cual contiene unas 20 tablas, cada una con distinto numero de registros, la con mayor podria alcanzar los 1.000.000 de registros.

La internet que utilizo para conectarme al firewall de la empresa es de 4 megas.

La internet de la empresa es de más de 4 megas.

Estoy terminando un programa para una empresa para la generacion de ordenes de compra, con el cual se puede acceder a la base de datos desde INTRANET o REMOTAMENTE.

Cuando genero una Orden de compra desde INTRANET no tengo ningun problema... estos aparecen al momento de generar cierto orden utilizando el sistema remoto.

Para conectarme remotamente con la base de datos configure el firewall de la empresa, utilizando el portfordward (puerto 3050) y redireccionandolo al IP del PC que tiene las bases de datos (SERVIDOR).

El tema es el siguiente: El programa funciona bien, el problema es con la velocidad con que se ejecuta.

Algunas ideas que se me ocurren seria cambiar el servidor, por uno que realmente tenga las caracteristicas de un servidor. (acepto sugerencias)

Aumenta la velocidad de internet de las sucursales de las cuales se van a realizar las orden via portfordward.

Cambiar la forma con la cual me conecto a mis bases de datos. (No tengo idea si es que existe otra forma semejante al portfordward). Ademas esta opcion podria involucrar cambiar el codigo de mi programa ya casi listo.

Bueno, esa es mi inquietud... espero que alguien me pueda guiar a la mejor solucion de mi problema...

cualquier sigerencia es bienvenida....

de ante mano... muchas gracias por su tiempo

RolphyReyes 27-12-2007 20:17:35

Saludos.

Mencionaste que utilizas TIBTable el uso de estos componentes para aplicaciones Cliente/Servidor no es recomendable por la forma en que funcionan.

Al utilizar TIBQuery debes de tener en cuenta la cantidad de registros que estas devolviendo, verificate esa parte y en ese mismo orden verifica los indices si tienes los necesrios o si lo estas utilizando.

Hasta luego.

mjjj 27-12-2007 20:27:13

hola...

para guardar cambios utilizo TIBTable y para hacer consultas utilizo TIBQuery. No utilizo los indices, ¿Eso lo configuro en las mismas tablas? que componentes de la paleta Interbase pueden utilizar indices?

La eleccion de los componentes Interbase sera la optima para mi caso?
Cuales de ellos son los mas apropiados?

Con respecto al servidor... sera necesario cambiar mi servidor para aumentar la rapidez de proceso??

RolphyReyes 28-12-2007 14:41:06

Saludos.

No se el estatus de tu aplicacion en cuanto a desarrollo pero el uso de los TIBTable para aplicaciones Cliente/Servidor no es el recomendado como te habia mencionado, si te es posible lo mejor seria cambiar esos componentes.

La eleccion de los componentes IBX para atacar Firebird no es ni tan mala ni tan buena (segun mi punto de vista) debido a que Firebird tiene caracteristicas que no son soportadas por IBX, Borland (CodeGear) solo esta ofreciendo (por el momento) soporte a Interbase.

Creo que si utilizas TIBDataSet en vez de TIBTable mejoraria bastante, porque este componente encapsula todas las sentencias (Select, Insert, Update, Delete) que puedes manejar a tu necesidad.

Hasta luego.

tefots 28-12-2007 15:32:35

utilizando tibquery algo aceleraras.
aunque si la aplicación no sido diseñada y optimizada para funcionar remotamente , incluso utilizando tibquery , la lentitud no va a desaparecer , sobre todo si vas por adsl. ya que depende mas de del tiempo de respuesta de la linea que del ancho de banda.

firebird usa un protocolo bastante pesado , y puedes tener una linea de 4 , 8 o 20mbytes , que si el tiempo de respuesta de la linea (ping al otro extremo) , es lento , por mucho ancho de banda que tengas , la velocidad no aumentará. , yo he hecho pruebas con lineas rdsi de 64kbyes , y con lineas adsl 10mbytes , y iba mucho mejor la rdsi. :(.

con cable la cosa mejora bastante , pero aun así , para estas cosas siempre es mejor usar la tecnología 3 capas , aunque eso te va a suponer un rediseño total de la aplicación.

Saludos.


La franja horaria es GMT +2. Ahora son las 15:29:06.

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