Ver Mensaje Individual
  #4  
Antiguo 14-06-2012
erickperez6 erickperez6 is offline
Miembro
 
Registrado: may 2003
Posts: 152
Reputación: 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