Buenos días, con respecto al tema me ha ocurrido trabajando con ODP.NET 
(Oracle) que los administradores de bases de datos criticaban las “sesiones 
inactivas” que dejaba nuestra aplicación. Para solucionar dicho inconveniente 
en el Conexión String adicionamos la sentencia “;Pooling=False” esto elimino 
las sesiones inactivas, dejando conformes a los DBA y sin tener perdida de 
respuesta por parte de nuestra aplicación.
 
Saludos.

 


From: claudia.alm...@gmail.com
Date: Mon, 4 Oct 2010 10:23:02 -0300
Subject: [puntonet] Connection Pool
To: puntonet@mug.org.ar

ahhhh mira vos!,ok a ver si entendí entonces... así que no queda nada desde mi 
lugar para que yo pueda administrar esas CP?

Atte. Almeda Claudia.


A
ntes de imprimir, piense 
en su 

responsabilidad




 
y compromiso con el Medio Ambiente



El 4 de octubre de 2010 10:16, Daniel Calvin <daniel.cal...@gmail.com> escribió:

Hola Claudia

Te abrirá 10 si es el tamaño mínimo del pool, si no abrira de a una.
El aprovechamiento lo hace directamente asp.net, cuando cerras una conexión no 
la cierra, la deja abierta, si llega otro pedido de conexion para el mismo 
conection string aprovecha una de esas conexiones que para vos ys estaba 
cerrada.

Saludos

Daniel.


El 4 de octubre de 2010 10:04, Claudia Almeda <claudia.alm...@gmail.com> 
escribió:


Hola Diego, 
A mi me intereso mucho el tema, ya que tampoco entiendo como es eso de las CP. 
Ahora por lo que leí (de lo que escribiste), me quedaron algunas dudas que de 
seguro son básicas...
Supongamos en una aplicación que utiliza asp.net, tengo varios sitios en el 
código donde se abre una conexión a Sql Server, bien... por cada una de esos 
'open' vos decís que en realidad se abren 10 conexiones?, y si así fuera... que 
y como debería utilizar para aprovechar esas conexiones?



Gracias Diego.
Atte. Almeda Claudia.


A
ntes de imprimir, piense 
en su 

responsabilidad




 
y compromiso con el Medio Ambiente





El 2 de octubre de 2010 21:28, Diego Jancic <jan...@gmail.com> escribió:

Hola Oscar,




Hace tiempo que no participo en estas listas, asi que voy a escribir algo... ya 
lo extraño :-)

Abrir y cerrar una conexion es costoso, por eso existen los Connection 
Pools.... Un CP es basicamente una lista de conexiones abiertas a un server, te 
doy un ejemplo:

-- cuando vos te conectas a un SQL Server por primera vez, se crean 10 
conexiones (no una sola!). Asi, cuando se abren mas de una conexion 
simultaneamente, se utilizan una de esas 10 conexiones para acceder al sql 
server. A medida que haya mas y mas clientes simultaneos, y esas 10 no 
alcancen, se van a abrir nuevas para que todos los clientes se puedan conectar.

Los connection pools tienen en general 2 opciones: Min Connections y Max 
Connections. El primero es la cantidad inicial de conexiones que se crean. 
Deberias configurar el MIN al menos como la cantidad de conexiones que seguro 
vas a tener simultaneas. El MAX es la cantidad obviamente la cantidad maxima 
que se pueden abrir en el pool. Una vez que tenes 100 (por ejemplo) conexiones 
abiertas en el mismo momento, si pedis otra vas a tener un error.

En ADO.NET existe un connection pool por cada connection string *exactamente* 
igual. Es decir que si vos tenes:

"server=asd;user id=sa;pwd=123" 
y tenes:
"user id=sa;pwd=123;server=asd" (los parametros son los mismos pero estan en 
otro orden) 

eso te va a crear 2 connection pools diferentes.



Saludos,
Diego



2010/10/2 Oscar Onorato <oscar.onor...@gmail.com>


Holas c...@s,
 
Les molesto para saber si me pueden recomendar algún sitio donde expliquen lo 
que es una "Connection Pool" en ADO.NET.
No llego a comprender muy bien porqué debe existir algo así en una sola 
conexión. Aunque desearía saberlo.
 
Muchas gracias
-- 
Oscar R. Onorato




-- 
Daniel A. Calvin
Cooperator Team Member
http://www.cooperator.com.ar
Microsoft Certified Professional

                                          

Reply via email to