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 01-07-2005
AMINOA2R AMINOA2R is offline
Miembro
 
Registrado: may 2005
Posts: 90
Poder: 19
AMINOA2R Va por buen camino
Problemas de rendimiento.

Los lunes arranco la semana encendiendo todos los equipos y estos, van apagandose y encendiendose durante la semana hasta el sabado teniendo siempre como mínimo 15 equipos conectados a interbase 7.1 sin embargo, conforme voy avanzando la semana va un poco más lento cuando la peña va pidiendo informes, pedidos, etc... hasta que llego al viernes y sabado que ya va lentisimo.


Me he dado cuenta en el servidor que en los procesos, el IBCONSOLE.EXE llega hasta los 110MB de uso de memoria y los lunes sin embargo esta en niveles de 45 ó 50 MB.


Hay alguna manera de hacer que baje el uso de memoria sin tener que echar a la peña de la aplicación ?
Responder Con Cita
  #2  
Antiguo 01-07-2005
Avatar de Rufus
Rufus Rufus is offline
Miembro
 
Registrado: may 2004
Ubicación: Canarias
Posts: 193
Poder: 20
Rufus Va por buen camino
No utilizo Interbase sino firebird 1.5, pero, ¿el ibconsole no es el GUI que trae interbase? Supongo que eso no tendra que ver con el servidor en sí, bastará con cerrar el ibconsole y listo.

En el servidor de base de datos de donde trabajo he mirado los procesos de firebird y son (en uso ahora mismo):

-fbserver: 5.960 Kb
-fbguard: 736 Kb

...y no hay ninguno mas (ni deberia). Si las cosas no han cambiado demasiado, en interbase es probable que los procesos sean ibserver e ibguard. Buscalos y mira a ver.

Por otra parte el servidor tiene tareas automaticas, hace un backup y restore de todas las bases de datos en horario cuando no hay nadie (o no deberia haber nadie, no hay seguridad 100%), esto es entre las 2 y las 4 de la madrugada. Si fuera un servidor 24 x 7 seria mas dificil hacer el restore. Te digo esto porque quiza así mejore el desempeño.

Un saludo.
__________________
Milo
Responder Con Cita
  #3  
Antiguo 01-07-2005
AMINOA2R AMINOA2R is offline
Miembro
 
Registrado: may 2005
Posts: 90
Poder: 19
AMINOA2R Va por buen camino
Efectivamente, los archivos que aparecen en el administrador de tareas son el ibserver.exe y el ibguard.exe

El IBSERVER.EXE me esta ocupando 96MB y wl IBGUARD 200ks.

La clave esta en el IBSERVER. No se porque me esta chupando tanta RAM.
Responder Con Cita
  #4  
Antiguo 01-07-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Cool

Cita:
Empezado por AMINOA2R
La clave esta en el IBSERVER. No se porque me esta chupando tanta RAM.
Esto no tiene por que ser necesariamente malo, siempre que el servidor no se vea obligado a hacer swap de memoria. En ese caso, el rendimiento bajaría increiblemente.

¿Has intentado buscar soporte en tu distribuidor de borland?
¿Estas usando alguna UDF? ¿Has hecho tests sobre ella?

Es probable que el proceso esté dejando memoria perdida por alli y si esto obliga a paginar allí esté la razón del mal rendimiento.

La memoria virtual es algo que agradecer en una máquina de escritorio con poca memoria y un usuario con multiples aplicaciones, pero es lo peor que puede ocurrir en un servidor, desde el punto de vista del rendimiento.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #5  
Antiguo 03-07-2005
case case is offline
Registrado
 
Registrado: jul 2005
Posts: 5
Poder: 0
case Va por buen camino
Asegurate de que las transacciones se están cerrando.
Un monton de transacciones abiertas es memoria que queda asignada en el servidor y pueden empobrecer el rendimiento.
Además es un error muy comun si el programador que construyó las aplicaciones viene de entornos en donde las transacciones no existen (paradox, fox, access, etc.). Generalmente deciden que es "mas facil" abrirlas y dejarlas abiertas hasta que "la aplicacion las cierre solas cuando se cierre".
Es increible los casos que he visto en los que un poquito de orden y disciplina hacen que el motor vuele.
He trabajado mucho tiempo con Interbase y Firebird y no he encontrado ningun caso en que el servidor "sin motivo" consuma mas y mas memoria (generalmente es muy bueno reutilizando los recursos ociosos).
Responder Con Cita
  #6  
Antiguo 03-07-2005
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Seguramente tienes puesto la base de datos en modo asíncrono, cámbiala a síncrono, esto hace que grabe todo al momento en vez de guardarlo en memoria.
gfix -write sync -user sysdba -password masterkey labasededatos.fdb
Responder Con Cita
  #7  
Antiguo 05-07-2005
AMINOA2R AMINOA2R is offline
Miembro
 
Registrado: may 2005
Posts: 90
Poder: 19
AMINOA2R Va por buen camino
Podría ser util hacer un sweep con el ibconsole ? Se que quita basura pero no se si teniendo a toda la peña tirando de interbase puedo usarlo y que me de más recursos.

En cuanto a lo que me decís, lo probaré todo.

saludos y gracias

Última edición por AMINOA2R fecha: 05-07-2005 a las 00:54:20.
Responder Con Cita
  #8  
Antiguo 11-07-2005
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
resp

1. Puede ser que te este quedando muchas trannsacciones en el limbo.

Pero estas seguro que el problema es con el servidor y no con los clientes.

Puede haber muchas causas.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #9  
Antiguo 13-07-2005
AMINOA2R AMINOA2R is offline
Miembro
 
Registrado: may 2005
Posts: 90
Poder: 19
AMINOA2R Va por buen camino
Suponiendo que fuesen transacciones en el limbo...!


Como puedo finalizarlas sin parar el ibserver?
Responder Con Cita
  #10  
Antiguo 13-07-2005
Avatar de Rufus
Rufus Rufus is offline
Miembro
 
Registrado: may 2004
Ubicación: Canarias
Posts: 193
Poder: 20
Rufus Va por buen camino
Transacciones en el limbo no vas a tener a no ser que uses transacciones en dos fases, que se preparan primero con prepare y que se utilizan cuando hay implicada más de una base de datos en la transacción.

Tu asegurate de que en las aplicaciones de los clientes se están cerrando debidamente las transacciones.

Un sweep lo puedes hacer cuando quieras, preferentemente cuando menos clientes tenga conectado el servidor para no ralentizar. Utiliza la herramienta de consola gfix tal que asi:

gfix -sweep basededatos -user SYSDBA -password password
__________________
Milo
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


La franja horaria es GMT +2. Ahora son las 13:58:21.


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