Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-10-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 26
vtdeleon Va por buen camino
Saludos

Como dice Casimiro, con los pocos datos que has ofrecido, tiraré unos tiros al aire: Lo usuarios(la mayoria de veces) dan repuestas un poco vagas y no claras cuando ocurre un problema.
Como es en el servidor que ocurre el "congelamiento", podría ser algun "trigger" o "store procedure"

Solo me queda decir que avises a todos los usuarios de sistema que cuando suceda lo mismo no hagan nada (cerrar aplicacion, dar click en todos lados, puyar a ver que sucede) y asi chequeas en que modulos estan cada uno; chequeas el código, tanto en delphi con en el servidor firebird.
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #2  
Antiguo 29-10-2005
ELINK ELINK is offline
Miembro
 
Registrado: mar 2005
Posts: 55
Poder: 22
ELINK Va por buen camino
Gracias por Responder

Tienen Razon en Todo lo Que dicen: (toda concecuencia tiene una causa)

Es Un error que a mi tambien me deja perplejo
voy a tratar de responder todas sus preguntas:

qué es lo que te comentaron los usuarios???
que "de un momento a otro el programa se puso blanco y no se podia hacer nada" (programa en blanco= evidentemente el programa estaba tratardo de comunicarse con el server y consumia los recursos del cliente)

el servidor es windows o linux???
Actualmente Linux, Tambien estubo en windows, y ocurrio el mismo error un par de veces

son muchos usuarios???
nop, son solo 5.

qué se hace exactamente en el servidor???
Al ver lo que pasaba en las estaciones fui al server a ver que pasaba; no hubo ningun problema con linux, al ver los procesos vi que el fbguard consumia casi todos los recursos y cuando trataba de ingresas a traves de consola a la base de datos desde el server, simplemente no pasaba nada, yo daba la instruccion y luego no pasaba nada, no habia respuesta.

muchas consultas pequeñas, pocas grandes???
depende lo que signifique grande o pequeño para ti
las son pequeñas, la mayoria son insert y update

el servidor hace únicamente de servidor de interbase o hace más cosas???
El Servidor tiene el lujo de se solo para firebird,son 3 db con un total de 30 Mb de tamaño

exactamente qué quieres decir con "congele", que se vuelve muy lento, que se detiene, que se "quita" de memoria???

Se detiene.

Como es en el servidor que ocurre el "congelamiento", podría ser algun "trigger" o "store procedure"???
no hay store procedure, pero si trigger, los revice todos, y ninguno genera un loop infinito

*Solo me queda decir que avises a todos los usuarios de sistema que cuando suceda lo mismo no hagan nada (cerrar aplicacion, dar click en todos lados, puyar a ver que sucede) y asi chequeas en que modulos estan cada uno; chequeas el código, tanto en delphi con en el servidor firebird.

Gracias. ya lo hice, pero para la proxima tomaré mas atención y sere mas acucioso en hacer las preguntas a los users.

Espero puedan ayudarme a resolver este problema
Responder Con Cita
  #3  
Antiguo 29-10-2005
Avatar de lpmlpm
lpmlpm lpmlpm is offline
Miembro
 
Registrado: ago 2005
Posts: 136
Poder: 21
lpmlpm Va por buen camino
Otros tiros al aire:
Que libreria de conexión usas??? si dices que cambiando de servidor te dio problemas puedes pensar que tus aplicaciones cliente ponen a hacer "algo" al servidor... me sucede algunas veces con PHP por ejemplo cuando hago alguna cosa muy rara con punteros y eso, y es debido a como la dll de PHP tiene la comunicación con el servidor...

Otra cosa que puede suceder es que estas ejecutando una consulta que le pide mucho al servidor, igual y armas una consulta dinamicamente que le esta pidiendo mucho al servidor, no se una que regrese cientos de miles de registros, y si no tienes una libreria de conexión que use sesiones persistentes tus clientes le estan pidiendo al server que les "traiga pa ca" todos y cada uno de esos registros de un solo golpe, lo que forza al motor a que tiene que resolver toda la consulta de una sola vez y por eso se pone bien talachero en ese momento...

Espero te sirva...
__________________
"Lo mejor de no saber hacer nada es que se tiene mucho tiempo libre."
Responder Con Cita
  #4  
Antiguo 29-10-2005
ELINK ELINK is offline
Miembro
 
Registrado: mar 2005
Posts: 55
Poder: 22
ELINK Va por buen camino
Cita:
Empezado por lpmlpm
Otros tiros al aire:
Que libreria de conexión usas??? si dices que cambiando de servidor te dio problemas puedes pensar que tus aplicaciones cliente ponen a hacer "algo" al servidor... me sucede algunas veces con PHP por ejemplo cuando hago alguna cosa muy rara con punteros y eso, y es debido a como la dll de PHP tiene la comunicación con el servidor...

Otra cosa que puede suceder es que estas ejecutando una consulta que le pide mucho al servidor, igual y armas una consulta dinamicamente que le esta pidiendo mucho al servidor, no se una que regrese cientos de miles de registros, y si no tienes una libreria de conexión que use sesiones persistentes tus clientes le estan pidiendo al server que les "traiga pa ca" todos y cada uno de esos registros de un solo golpe, lo que forza al motor a que tiene que resolver toda la consulta de una sola vez y por eso se pone bien talachero en ese momento...

Espero te sirva...
no men, en la tabla mas grande del server solo tiene como maximo 10 mil registros, por eso no creo que el problema venga por hay, sin envargo puede ser por el driver odbc es el que da el mismo firebird...
Responder Con Cita
  #5  
Antiguo 29-10-2005
brandolin brandolin is offline
Miembro
 
Registrado: jul 2003
Ubicación: Mendoza
Posts: 324
Poder: 23
brandolin Va por buen camino
A mi me ha pasado que armando alguna sentencia select con dos o mas tablas o bien con alguna tabla join la misma al estar mal armada la consulta se generaba un chache enorme por lo que se consumia todo el server. Tendrias que validar las consultas en el momento que sucede que se cuelga el server.
Espero que te sirva.
Responder Con Cita
  #6  
Antiguo 29-10-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 26
vtdeleon Va por buen camino
Saludos
Cita:
Empezado por ELINK
...sin envargo puede ser por el driver odbc es el que da el mismo firebird...
ODBC???, Qué componentes usas???? Lo mejor para bases de datos Firebird es usar los componentes IBX o MODlib (aún no los he utilizado)
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #7  
Antiguo 29-10-2005
AMO AMO is offline
Miembro
 
Registrado: jun 2003
Ubicación: Mexico D.F.
Posts: 19
Poder: 0
AMO Va por buen camino
Saludos

Me ha pasado algo similar en varias ocasiones. En mi caso ya lo detecte y se debe al sweep que realiza la base de datos cada cierto numero de transacciones. En mi caso (windows 2000) se consume el 100 % de procesador y no responde nada, sin embargo no se bloquea. Al dejarla un tiempo bastante largo todo vuelve a la normalidad.

Tambien he logrado desencadenar este problema al realizar el backup de la base de datos, el cual tarda demasiado en concluir.

El problema se ha solucionado manteniendo la politica de backup y restore de manera periodica.
Responder Con Cita
  #8  
Antiguo 29-10-2005
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.669
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Desde luego que en tu caso te aconsejo que si puedes cambies odbc por ibx, fibplus, ibobjects, etc

Al haberse repetido el problema tanto con servidor windows como linux quiere decir que no es culpa de interbase sino del programa o de algún trigger de los que comentas que tienes.

También, como te han comentado antes, te aconsejaría que pongas sweep a cero y hagas backup/restore muy a menudo, que además en tu caso, al ser la base de datos pequeñita lo haría en un momento y siempre la dejarías "a punto" para empezar a trabajar.

Si quieres, bájate este .rar con alguna documentación sobre consejos a tener en cuenta a la hora de usar interbase/firebird: Aquí lo tienes.

Y ya nos contarás cómo te va.

Saluditos.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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


La franja horaria es GMT +2. Ahora son las 14:27:18.


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