>>>The second link gives the best description of what is going on.
>>
>>I am trying to understand this concept. Right now, I open a connection when the Web site hit starts. During the hit, it can process from 1 to x number of SQL requests. Then, at the end of the hit, I close the connection.
>>
>>So, basically, a connection does not remain opened after the hit. Using a connection pool seems to mean that we add a concept of reusing active database connections instead of creating a new connection with every request. Well, if I close them at each hit, how can it be reused?
>
>In this context 'Close' doesn't mean it is actually closed - just returned to the pool. Likewise 'Open' doesn't neccessarily mean a connection is opened- most often an existing connection from the pool is used. So the overhead for opening and closing after each query is not that large.
So, basically, on the first connection we do, this might take a little longer. Then, on all upcoming hits, doing the same command, the .Open(), will be faster as it reuses something already in memory. So, if I understand correctly, the only thing I would have to change would be to adjust for connection pooling parameters in my connection string. But, if this is to resolve or help at the maximum pool message I got yesterday, I am wondering why doesn't Microsoft make it as a default in the connection string.
Do you have a connection pooling definition in your connection string? If yes, what setting are you using. We are talking here at about 55,000 hits a day, on the server where it happens. Concurrent hits are happening on a regular basis during the day.