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

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 14-06-2012
erickperez6 erickperez6 is offline
Miembro
 
Registrado: may 2003
Posts: 152
Poder: 24
erickperez6 Va por buen camino
Saludos,

Se que el tema es viejo, pero creo que se quedo inconcluso de mi parte, ya que pude resolver el asunto y me gustaria compartir la solucion para alguien que le sea de ayuda.

Antes de decir la solucion, me gustaria contestar a Al Gonzalez, la proporcion en disminucion de la memoria al momento de que las conexiones cerraban eran casi minimas, por ejemplo tres usuarios conectados 3k, al desconectarse los tres la memoria quedaba en 2.7k es decir, se quedaba casi igual, por lo tanto se inflaba y se inflaba el uso de memoria del proceso hasta colapsar.

Bien, que era lo que sucedia? lo que pasa que en las aplicaciones web hay algo que es el poolconnection, aunque las conecciones se cerraban correctamente, estas pasaban a una cola de espera en memoria para ser reutilizada por nuevas peticiones, esto ayuda a un mas rapido acceso a las peticiones de las paginas. El poolconnection tiene un tiempo maximo de vida en memoria, por defecto son unos 30 segundos, este numero es configurable - cambiable, sucede que las conecciones que iban al pool nunca se destruian, no importa que yo le pusiera 1 segundo, 10 segundo, firebird simplemente no liberaba estas conecciones de memoria.

La tecnologia que uso es ASP.Net con los drivers oficiales para la conecion a firebird con .Net (2.5.2v a la fecha de hoy no es la ultima, pero si una de las mas recientes), estas librerias tienen metodo que forza a matar todas las conecciones que estan en el pool, pero solo mando a ejecutar este metodo cuando la session del cliente termina.

Código:
FirebirdSql.Data.FirebirdClient.FbConnection fbcon = new FirebirdSql.Data.FirebirdClient.FbConnection(ConfigurationSettings.AppSettings["fbcon"]);    
        FirebirdSql.Data.FirebirdClient.FbConnection.ClearPool(fbcon);
No se si esto es un bug en las versiones de firebird que he utilizado, pero este problema lo he tenido con la version 2.5.1 para windows y para linux, no he probado otras versiones; O si es un bug con el driver de coneccion que utilizo.
Responder Con Cita
 


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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Experiencia con Firebird Neeruu Firebird e Interbase 28 14-11-2011 19:34:51
SuperServer, ClassicServer o SuperClassic Casimiro Noteví Firebird e Interbase 3 02-12-2008 20:45:20
Mi experiencia soler Varios 90 30-07-2008 23:00:31
En base a su experiencia... Libarra .NET 1 24-10-2007 19:01:29
Experiencia en Linus seoane La Taberna 8 09-12-2006 15:14:28


La franja horaria es GMT +2. Ahora son las 17:05:11.


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