A given worker process can have multiple threads servicing requests. These
will all share the same connection pool. I don't understand how two
arbitrary w3wp.exe processes would share the same connection pool however.
If you're writing an application that requires multiple w3wp.exe (web
garden), then you probably already have a internet connector-type licence
for SQL Server (rather than 10 CALs or similar). The connection pooling
provided by the MDAC components is quite good IMHO.
Cheers
Ken
"Jerry III" <je******@hotmail.com> wrote in message
news:%2****************@tk2msftngp13.phx.gbl...
: You're kidding, right? What good is connection pooling if it can't be
shared
: across multiple instances of the same code? How exactly are we supposed to
: tune the connection pool size if we (as developers) have no idea how many
: connection pools are there going to be since some customers will setup
their
: web site to run in multiple processes?
:
: Jerry
:
: "Scott Allen" <bitmask@[nospam].fred.net> wrote in message
: news:v5********************************@4ax.com...
: > Jerry: To share a connection from an exisitng pool you need to be in
: > the same process, have the same security context, and use the exact
: > same connection string as the pool. In .NET you also need to be in the
: > same app domain which can further subdivide a process.
: >
: > --
: > Scott
: >
http://www.OdeToCode.com
: >
: > On Fri, 30 Jan 2004 10:26:12 -0800, "Jerry III" <je******@hotmail.com>
: > wrote:
: >
: > >The fact that MDAC does not have it's process does not mean that it
can't
: > >share connection pools across different applications. I don't know how
: you
: > >came to that conclusion.
: > >
: > >Jerry
: > >
: > >"Abhishek Srivastava" <ab*****************@nospam.net> wrote in message
: > >news:u2**************@TK2MSFTNGP12.phx.gbl...
: > >> How do the workers synchronize the data? suppose I keep a DOM tree in
: > >> the application object.
: > >>
: > >> Now one worker process updates a node in the dom tree. Will other
: worker
: > >> processes (who have thier own version of the in-memory state) see the
: > >> changes? What is the mechanism of synchronization.
: > >>
: > >> One question about MDAC. Is MDAC an out-of-process thing? AFAIK, it
is
: a
: > >> set of DLLs which run in the memory of the application.(Used MDAC
many
: > >> times... but never saw a separate exe or DLLHOST begining to run upon
: > >> querying my DB) Even if I let the MDAC manage my pool, if multiple
: > >> processes are creating their own pools, then what is the total number
: of
: > >> connections beging opened to the database? If I have a limitation on
: the
: > >> max number of connections, then how do I manage it?
: > >>
: > >> Can you please confirm that multiple processes can definetly run
: execute
: > >> the requests for a single application.
: > >>
: > >> regards,
: > >> Abhishek.
: > >>
: > >> Ken Schaefer wrote:
: > >> > Each worker process keeps its own in-memory state. You would need
: some
: > >kind
: > >> > of out-of-process state management if you want to share data
between
: > >> > processes.
: > >> >
: > >> > Additionally, I would suggest that you are best of managing
database
: > >> > connections via built-in MDAC connection pooling, not through your
: own
: > >> > home-grown system. You can limit the number of connections in the
: pool.
: > >> >
: > >> > Cheers
: > >> > Ken
: > >> >
: > >> > "Abhishek Srivastava" <ab*****************@nospam.net> wrote in
: message
: > >> > news:OE**************@TK2MSFTNGP11.phx.gbl...
: > >> > : Hello All,
: > >> > :
: > >> > : In IIS 6.0 We have a concept of worker processes and application
: > >pools.
: > >> > :
: > >> > : As I understand it, we can have multiple worker process per
: appliction
: > >> > : pool. Each worker process is dedicated to a pool. If I assign
only
: one
: > >> > : application to a applicaton pool and have multiple worker
processes
: > >> > : assigned to that pool. Will my application be processed by many
: worker
: > >> > : processes?
: > >> > :
: > >> > : Why I am asking this question is because there are certain
: resources
: > >> > : which are in-memory and are shared at an application level. For
: > >example
: > >> > : the database connection pool, or some XML files initialized via a
: > >static
: > >> > : contructor.
: > >> > :
: > >> > : Now if multiple process are executing my requests, then how do
they
: > >> > : share data (if they do at all). Or each process replicates its
own
: > >> > : resources.
: > >> > :
: > >> > : This is important to me, because lets say I am connection to a
: > >> > : datasource for which I have a 20 concurrent user license. So I
: create
: > >a
: > >> > : pool of 20 connections and manage it. This pool is in-memory
: > >initialized
: > >> > : via a static constructor. Now if each worker process tries to
load
: its
: > >> > : own in-memory pool, then only one process would function because
: rest
: > >> > : will be denied the connection. I also have no way of knowing how
: many
: > >> > : worker process will run at any moment because they are run based
on
: > >> > : demand by the IIS so I cannot split the load amongst multiple
: > >processes
: > >> > : at an application level.
: > >> > :
: > >> > : To me it appears that different worker processes cannot be used
to
: > >> > : execute the requests for one application ... but then MS
: documentation
: > >> > : talks about Web Garden where different worker processes execute
: > >requests
: > >> > : for an application domain.
: > >> > :
: > >> > : I will be very gratefull if you could share some knowledge on
this
: > >> > : matter. Thanks for your help in advance.
: > >> > :
: > >> > : regards,
: > >> > : Abhishek.
: > >> >
: > >> >
: > >
: >
:
: