Sunday, March 25, 2012

Connection Pooling HELP !

I'm curious how connections are pooled under IIS. If you have several
applications setup under your website, does each one get its own pool? Or
is there only one pool created for all applications running under that
instance of IIS? What if two config files have connection strings which
specify a different number of connections in the pool...how is this
handled?
I'm curious as last night we noticed over 1500 connections to our SQL
Server...no wonder it is slammed. I'm wondering if we are getting multiple
pools of 100 connections and how to handle this...
I really appreciate any help on this....our live server is slammed and I'm
the one expected to come up with an answer ASAP.Every application gets its own pool. It would be stupid for one application
to wait for another to free up connections (think about running 2 websites
for 2 customers under the same IIS, neither would be happy to know his
application's performance - or lack of it :) - it being affected by the
running of the other).
Moreover, a pool is created for EVERY DISTINCT connection STRING, even if
the two connection strings are logically equivalent (you switch places of
fields, you add whitespace).
"Tim Greenwood" <tim_greenwood A-T yahoo D-O-T com> wrote in message
news:uZz04fzVGHA.1736@.TK2MSFTNGP10.phx.gbl...
> I'm curious how connections are pooled under IIS. If you have several
> applications setup under your website, does each one get its own pool? Or
> is there only one pool created for all applications running under that
> instance of IIS? What if two config files have connection strings which
> specify a different number of connections in the pool...how is this
> handled?
> I'm curious as last night we noticed over 1500 connections to our SQL
> Server...no wonder it is slammed. I'm wondering if we are getting
> multiple pools of 100 connections and how to handle this...
> I really appreciate any help on this....our live server is slammed and
> I'm the one expected to come up with an answer ASAP.
>|||I understand about running two websites...but what about different
applications under the SAME website.
Hmmm I read on a MS website that the distinct connection string was not
true. That the only things that had to match was initial catalog,
connection timeout, user, and password. And it gave the project and various
connection string changes to show that the pool did not change. Here is the
link...
http://www.sql-server-performance.c...oling_myths.asp
It is hard to know what to believe. It is weird, even every MS developer
comes back with different answers.
Thank you so much for taking time to answer. I see a need to greatly reduce
our pool sizes.
"Gabriel Lacatus" <cyberdude@.nospam.nospam> wrote in message
news:uVJB8mzVGHA.4792@.TK2MSFTNGP14.phx.gbl...
> Every application gets its own pool. It would be stupid for one
> application to wait for another to free up connections (think about
> running 2 websites for 2 customers under the same IIS, neither would be
> happy to know his application's performance - or lack of it :) - it being
> affected by the running of the other).
> Moreover, a pool is created for EVERY DISTINCT connection STRING, even if
> the two connection strings are logically equivalent (you switch places of
> fields, you add whitespace).
> "Tim Greenwood" <tim_greenwood A-T yahoo D-O-T com> wrote in message
> news:uZz04fzVGHA.1736@.TK2MSFTNGP10.phx.gbl...
>|||Pooling has changed over the years so there's a lot of out of date info
floating around. A pool is assigned per executable that has connections
open. Depending on your isolation setting in your IIS config, different
applications may or may not run in their own COM+ server process. Look at
the connections in sysprocesses and see if they are all for the same user or
for different users. Also make sure connections are being closed so they
are returned to the pool. If you have 1500 open connections and you don't
have 15 svchost processes running, either it's likely you are opening
connections past the pool size because MDAC doesn't think the connections
are reusable or you are not closing connections.
This posting is provided "AS IS" with no warranties, and confers no rights.
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm
"Tim Greenwood" <tim_greenwood A-T yahoo D-O-T com> wrote in message
news:OzPouszVGHA.5364@.tk2msftngp13.phx.gbl...
>I understand about running two websites...but what about different
>applications under the SAME website.
> Hmmm I read on a MS website that the distinct connection string was not
> true. That the only things that had to match was initial catalog,
> connection timeout, user, and password. And it gave the project and
> various connection string changes to show that the pool did not change.
> Here is the link...
> http://www.sql-server-performance.c...oling_myths.asp
> It is hard to know what to believe. It is weird, even every MS developer
> comes back with different answers.
> Thank you so much for taking time to answer. I see a need to greatly
> reduce our pool sizes.
>
> "Gabriel Lacatus" <cyberdude@.nospam.nospam> wrote in message
> news:uVJB8mzVGHA.4792@.TK2MSFTNGP14.phx.gbl...
>

No comments:

Post a Comment