Ver Mensaje Individual
  #6  
Antiguo 01-08-2012
erickperez6 erickperez6 is offline
Miembro
 
Registrado: may 2003
Posts: 152
Reputación: 22
erickperez6 Va por buen camino
Cointec, lo que sucede que el CS crea un proceso por coneccion y esto es mas costoso para la CPU que crear hilos dentro de un mismo proceso, al parecer las conecciones que están en el pool no son reutilizadas y se siguen creando procesos o hilos (dependiendo si es CS o SC), entonces el servidor en cuestion no tiene muchas prestaciones, poca memoria, procesador mediano en un servidor Linux, la experiencia es notable en este ambiente. He probado otras aplicaciones pero en un servidor Windows con mucho mas recursos, y la diferencia de carga entre CS y SC no es notable, pero creo que esto es porque se trataba de un servidor mucho mas robusto. Tengo que limpiar las conecciones automaticamente cada cierto tiempo porque como había comentado antes, las conecciones nunca mueren en el pool y la memoria se infla hasta colapsar la aplicación, el mensaje de error es exactamente ese, limite de conecciones excedido en el pool. Un ejemplo practico, a medida que acceden usuarios simultáneos o no, la cantidad de conecciones en el pool se elevaba, al cabo de una hora, sin ninguna navegación nueva en la aplicación, yo hacia una consulta de la cantidad de conecciones en el pool, donde esperaba ver una sola, pues seguia viendo la elevada cantidad de coneccion en espera, si el timeout del pool dice 10 segundo estas deben de limpiarse automaticamente en ese tiempo si no es reutilizada. Porque no se limpian? no lo se, desconosco el motivo, pero ya esto lo he probado en diferentes OS y el resultado es el mismo (nunca mueren las conecciones en el pool por si solas)

Que OS utilizas para tu aplicación? es una aplicación Web? que versión de firebird usas? que versión de driver .Net para firebird usas? que versión de framework .Net usas? has chequeado cuantas conecciones tienes en el pool en momentos que sabes que no hay mucha concurrencia de usuarios? Por ejemplo, como dices cuando tienes 150 usuarios concurrentes y tu memoria llega a los 16GB, que pasa luego cuando estas concurrencias bajan en horas o días no laborables, tu memoria se queda en los mismos 16GB o decrece? Es posible que te este pasando lo mismo, pero como cuentas con un equipo de muchos recursos, no lo notes y la cantidad de connecciones en el pool es muy elevada pero no sobrepasas el tope.

Última edición por erickperez6 fecha: 01-08-2012 a las 14:41:14.
Responder Con Cita