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)
-   -   Lentitud en acceso remoto a Firebird (https://www.clubdelphi.com/foros/showthread.php?t=64547)

rretamar 07-04-2009 04:57:31

Lentitud en acceso remoto a Firebird
 
Estoy intentando conectar un cliente a un equipo que tiene instalado Firebird 2.1 bajo Win XP SP2. Lo raro es que la conexión demora SIEMPRE como un minuto en establecerse (luego va todo bien). He revisado la configuración de la red (que funciona sin problemas...muy veloz) y nada. Lo EXTRAÑO es que el mismo software en otros equipos se conecta casi instantáneamente.

Ambos equipos están conectados a través de un switch. El cliente tiene instalado Windows 2000 SP4 (aunque he visto la misma demora en otro lugar con XP SP2). Los componentes que uso son los ZeosLib bajo Delphi 2007. La conexión usando como nombre de "host" el nombre del equipo que tiene Firebird y a través de un "Alias".

He revisado todo y aún no se me ocurre nada. Esta demora en la conexión se produce incluso cuando la base de datos (que contiene tres tablas con muy pocos campos) está casi vacía. Simplemente establezco la conexión y recupero los 20 últimos registros. La base de datos es un archivo con la extensión .DAT al que hago referencia dentro de ALIASES.CONF .Nada raro.

Para que el usuario no se desespere, siempre en mis programas uso una "splash screen" que muestra el mensaje "Conectando, espere un momento...", pero en este caso la demora es excesiva solamente al conectar. Aún no he dado en la tecla, seguiré investigando. Si a alguien se le ocurre alguna sugerencia, será bienvenida.

Saludos !

pjmedina 07-04-2009 09:11:48

Es cada vez que entras al programa desde el cliente o ¿sólo la primera vez?

Si es la primera vez mira si tienes lo de obtener ip automáticamente, esto puede darte ese problema.
Otra cosa podría ser por el swich, yo probaría a conectar los dos equipos directamente a ver que tal va.
Puede ser tambíen el antivirus que tenga que comprobar la conexión, o algún firewall.

Espero que te sirva de ayuda.

Saludos.

Neftali [Germán.Estévez] 07-04-2009 09:18:20

¿Ese equipo no tendrá un Dual Core? :D:D
O más de un procesador en general.

Busca en los foros sobre IBAffinity, creo que te puede ayudar.

rretamar 07-04-2009 13:16:45

El problema lo hace al conectar solamente. Luego la velocidad es buena.

El equipo donde está instalado Firebird es muy reciente. Y me parece que sí, que es un "dual core" (tengo que confirmarlo pero no está en esta ciudad). El motor de base de datos es Firebird 2.1 .

Saludos y gracias por responder !

Neftali [Germán.Estévez] 07-04-2009 13:51:09

Revisa este hilo, creo que es el mismo caso.

Delphius 07-04-2009 15:08:48

Hola rretamar,
¿Cual equipo es dual core? ¿El Servidor, o el cliente?

Si es el servidor, y dual cora lo que se recomienda (de lo que se lee en la documentación de firebird) es optar por el Clasic Server que tiene mejor perfomance para estos casos.

Además revisa el parámetro CPuAffinityMask.

En el Release Notes de Firebird se dan detalles de como calcular el valor.

Saludos,

rretamar 07-04-2009 17:48:35

Cita:

Empezado por Delphius (Mensaje 344169)
¿Cual equipo es dual core? ¿El Servidor, o el cliente

Aparentemente el servidor sería Dual Core. Igualmente, casi un minuto para conectar me parece excesivo.

Desde el mismo equipo, o sea en forma local (Localhost) , todo funciona sin problemas.

Desde el cliente, luego de la demora en conectar, todo funciona bien y rápido.

Saludos y gracias mil....

Neftali [Germán.Estévez] 07-04-2009 18:01:00

Revisa las referencias. Es un problema conocido en máquinas con varios procesadores. Una vez arreglado la conexión se hace de foirma instantánea (como es lo normal).

jhonny 07-04-2009 18:08:53

Se me ocurre, que si no es lo que comenta Neftali, tambien podría ser que se haga necesario especificar el número de puerto en que esta instalado el Firebird, por medio de la cadena de conexión, así por ejemplo...

El 3050 es el puerto por defecto, por eso lo utilizare para el ejemplo, si tu lo has cambiado, pues lo cambias por el número real...

Ejemplo de cadena de conexión, especificando el puerto
=====================================

  • 201.302.427.1/3050:C:\basesdatos\ejemplo.fdb
Pruebalo, puede que funcione, espero que si.

Delphius 07-04-2009 19:15:08

¿Qué extensión estás empleando .GDB o FDB? Si es la primera cambia por la segunda;).

Saludos,

rretamar 07-04-2009 20:59:33

Uso la extensión .DAT en lugar de .FBD (de todos modos me conecto a través del ALIAS).

Uso el componente ZConnection ,colocando en Hostname el nombre del equipo remoto y en Database el nombre del "alias" definido en el ALIASES.CONF del Firebird.

Cuando pueda viajar por allá confirmaré si es un dual-core y probaré algunas cosas que me comentaron acá.

Muchas gracias.

Saludos !


La franja horaria es GMT +2. Ahora son las 17:27:29.

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