|
Related Topics:
| IIS Multiple web sites on a single IP - Help Is there a place where I can follow steps to multiple web sites on a single Static IP. Want to be able to publish on on XP PRO and Frontpage 2002 and Thanks
Hosting multiple websites on a single IP - Hi, I'm having trouble getting IIS with mutiple websites. The default site is working but i tried creating a second and third site on ports 81 and 82. When I try to access the sites IIS responds on the port but says the page cannot be..
Multiple site-single Public IP - Here is my current setup: I have one public IP address is an IIS 5 hosting a site that can be reached and I also have a IIS 6 server called This is only available We have a..
Multiple URL's for single web site - Greetings - I apologize if this is not the correct NG to place this post so please bear with me: We are hosting our web-site and would like outside users to be able to type a couple different names and still have it resolve in the address bar..
maximum number of processes - Hello all, I would like to know what is the maximum number of CGI processes that IIS can support For that matter, is there a maximum number of processes on Windows 2000 platform? TIA.
|
|
|
Next: IIS: IIS 5.0 - FTP - Can't get directory listing
|
| Author |
Message |
External

Since: Jan 30, 2004 Posts: 6
|
(Msg. 1) Posted: Fri Jan 30, 2004 1:21 pm
Post subject: Multiple worker processes for a single application in a application Archived from groups: microsoft>public>dotnet>framework>aspnet, others (more info?)
|
|
|
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. >> Stay informed about: Multiple worker processes for a single application in a ap.. |
|
| Back to top |
|
 |  |
External

Since: Aug 23, 2003 Posts: 2901
|
(Msg. 2) Posted: Fri Jan 30, 2004 7:27 pm
Post subject: Re: Multiple worker processes for a single application in a application pool [Login to view extended thread Info.] Archived from groups: per prev. post (more info?)
|
|
|
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" <abhishek-srivastava.RemoveThis@nospam.net> wrote in message
news:OEyyWwu5DHA.2392@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. >> Stay informed about: Multiple worker processes for a single application in a ap.. |
|
| Back to top |
|
 |  |
External

Since: Jan 30, 2004 Posts: 6
|
(Msg. 3) Posted: Fri Jan 30, 2004 7:27 pm
Post subject: Re: Multiple worker processes for a single application in a application [Login to view extended thread Info.] Archived from groups: per prev. post (more info?)
|
|
|
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" <abhishek-srivastava DeleteThis @nospam.net> wrote in message
> news:OEyyWwu5DHA.2392@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.
>
><!-- ~MESSAGE_AFTER~ --> >> Stay informed about: Multiple worker processes for a single application in a ap.. |
|
| Back to top |
|
 |  |
External

Since: Aug 26, 2003 Posts: 171
|
(Msg. 4) Posted: Fri Jan 30, 2004 7:27 pm
Post subject: Re: Multiple worker processes for a single application in a application pool [Login to view extended thread Info.] Archived from groups: per prev. post (more info?)
|
|
|
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" <abhishek-srivastava.DeleteThis@nospam.net> wrote in message
news:u2hRrox5DHA.2404@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" <abhishek-srivastava.DeleteThis@nospam.net> wrote in message
> > news:OEyyWwu5DHA.2392@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.
> >
> ><!-- ~MESSAGE_AFTER~ --> >> Stay informed about: Multiple worker processes for a single application in a ap.. |
|
| Back to top |
|
 |  |
External

Since: Jan 30, 2004 Posts: 2
|
(Msg. 5) Posted: Fri Jan 30, 2004 7:27 pm
Post subject: Re: Multiple worker processes for a single application in a application pool [Login to view extended thread Info.] Archived from groups: per prev. post (more info?)
|
|
|
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
<a style='text-decoration: underline;' href="http://www.OdeToCode.com" target="_blank">http://www.OdeToCode.com</a>
On Fri, 30 Jan 2004 10:26:12 -0800, "Jerry III" <jerryiii.DeleteThis@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" <abhishek-srivastava.DeleteThis@nospam.net> wrote in message
>news:u2hRrox5DHA.2404@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" <abhishek-srivastava.DeleteThis@nospam.net> wrote in message
>> > news:OEyyWwu5DHA.2392@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.
>> >
>> >
><!-- ~MESSAGE_AFTER~ --> >> Stay informed about: Multiple worker processes for a single application in a ap.. |
|
| Back to top |
|
 |  |
External

Since: Aug 26, 2003 Posts: 171
|
(Msg. 6) Posted: Fri Jan 30, 2004 7:27 pm
Post subject: Re: Multiple worker processes for a single application in a application pool [Login to view extended thread Info.] Archived from groups: per prev. post (more info?)
|
|
|
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:v5cl101atgj8pgduo0ikt6bm62n4kkrhfd@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
<font color=purple> > <a style='text-decoration: underline;' href="http://www.OdeToCode.com</font" target="_blank">http://www.OdeToCode.com</font</a>>
>
> On Fri, 30 Jan 2004 10:26:12 -0800, "Jerry III" <jerryiii DeleteThis @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" <abhishek-srivastava DeleteThis @nospam.net> wrote in message
> >news:u2hRrox5DHA.2404@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" <abhishek-srivastava DeleteThis @nospam.net> wrote in
message
> >> > news:OEyyWwu5DHA.2392@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.
> >> >
> >> >
> >
><!-- ~MESSAGE_AFTER~ --> >> Stay informed about: Multiple worker processes for a single application in a ap.. |
|
| Back to top |
|
 |  |
External

Since: Jan 30, 2004 Posts: 2
|
(Msg. 7) Posted: Sat Jan 31, 2004 12:17 am
Post subject: Re: Multiple worker processes for a single application in a application pool [Login to view extended thread Info.] Archived from groups: per prev. post (more info?)
|
|
|
Well, I guess it boils down to this:
It's close to impossible to write a web app without connection
pooling. The overhead of seting up, handshaking, authenticating,
tearing down, etc., is a big hit on perf and scalability.
I could write my own pooling algorithm, but some smart people already
worked on the problem for me and did a tremendous amount of testing.
The pooling in most managed providers is already effecient, secure,
and well behaved.
The built in pooling won't "waste" connections. That is, it wont open
more than it needs at any one moment (unless you've given it a minimum
number to use), and with most of the providers you can set a min and
max pool size. If the pool reaches the max size, additional requests
queue up and wait for a connection to become free.
Now, I realize this doesn't help someone control the *total* number of
connections from thier code in cases where a data access layer appears
in more > 1 processes on a server, but, it is suprising how many
"active" users a .NET app can support when the application is using
then returning a connection to the pool as quickly as possible. With n
connections in a pool an app can service the requests of n or more
users, generally a 'lot' more than n, but again it depends on the
application. You just have to test and benchmark and test again.
If I was in a scenario where I needed to have total control over the
number of connections on a machine, I'd write a ServicedComponent for
data access and host it in a COM+ server package. Of course this would
require marshalling of DataSets across processes, which can be a hit.
I'd think this type of scenario is an exceptional case, but I'm sure
it exists somewhere.
--
Scott
<a style='text-decoration: underline;' href="http://www.OdeToCode.com" target="_blank">http://www.OdeToCode.com</a>
On Fri, 30 Jan 2004 14:30:35 -0800, "Jerry III" <jerryiii RemoveThis @hotmail.com>
wrote:
>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:v5cl101atgj8pgduo0ikt6bm62n4kkrhfd@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
<font color=green> >> <a style='text-decoration: underline;' href="http://www.OdeToCode.com</font" target="_blank">http://www.OdeToCode.com</font</a>>
>>
>> On Fri, 30 Jan 2004 10:26:12 -0800, "Jerry III" <jerryiii RemoveThis @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" <abhishek-srivastava RemoveThis @nospam.net> wrote in message
>> >news:u2hRrox5DHA.2404@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" <abhishek-srivastava RemoveThis @nospam.net> wrote in
>message
>> >> > news:OEyyWwu5DHA.2392@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.
>> >> >
>> >> >
>> >
>>
><!-- ~MESSAGE_AFTER~ --> >> Stay informed about: Multiple worker processes for a single application in a ap.. |
|
| Back to top |
|
 |  |
External

Since: Aug 23, 2003 Posts: 2901
|
(Msg. 8) Posted: Sat Jan 31, 2004 4:50 pm
Post subject: Re: Multiple worker processes for a single application in a application pool [Login to view extended thread Info.] Archived from groups: per prev. post (more info?)
|
|
|
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" <jerryiii RemoveThis @hotmail.com> wrote in message
news:%23AfSuC45DHA.3304@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:v5cl101atgj8pgduo0ikt6bm62n4kkrhfd@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" <jerryiii RemoveThis @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" <abhishek-srivastava RemoveThis @nospam.net> wrote in message
: > >news:u2hRrox5DHA.2404@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" <abhishek-srivastava RemoveThis @nospam.net> wrote in
: message
: > >> > news:OEyyWwu5DHA.2392@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.
: > >> >
: > >> >
: > >
: >
:
: >> Stay informed about: Multiple worker processes for a single application in a ap.. |
|
| Back to top |
|
 |  |
External

Since: Feb 03, 2004 Posts: 1
|
(Msg. 9) Posted: Tue Feb 03, 2004 3:28 pm
Post subject: Re: Multiple worker processes for a single application in a application [Login to view extended thread Info.] Archived from groups: per prev. post (more info?)
|
|
|
Jerry III 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" <abhishek-srivastava.DeleteThis@nospam.net> wrote in message
> news:u2hRrox5DHA.2404@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" <abhishek-srivastava.DeleteThis@nospam.net> wrote in message
>>>news:OEyyWwu5DHA.2392@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.
>>>
>>>
>
>
>
just for my knowledge, does mdac or ado.net operates on some shared
memory between processes ?
how can i see how much that shared memory is
we are running an web application and trying to chase some lost memory,
some people have also talked about some issue recognised by microsoft as
abug ( gc not returning large object heap to OS ) . but i did not find
any article on microsofts website on this
Thanks
-ashish<!-- ~MESSAGE_AFTER~ --> >> Stay informed about: Multiple worker processes for a single application in a ap.. |
|
| Back to top |
|
 |  |
|