w3wp processes and Application Pools...
w3wp processes and Application Pools...
am 15.07.2007 00:16:41 von nomailreplies
Running Windows 2003 Server, SP2, IIS6.0, with .Net Framework version 2.0.50727.832
It was my understanding that the number of w3wp processes
is determined by the number of Application Pools created.
I am a bit intrigued because I have 3 Application Pools configured,
but have 4 w3wp processes running.
Why do I have a 4th w3wp process running ?
Or, is it that the number of w3wp processes is *not* tied to the number of App Pools ?
If so, what determines the number of w3wp processes which run ?
Juan T. Llibre, asp.net MVP
asp.net faq : http://asp.net.do/faq/
foros de asp.net, en español : http://asp.net.do/foros/
======================================
Re: w3wp processes and Application Pools...
am 15.07.2007 03:28:19 von Ken Schaefer
Hi,
By default each application pool has a single w3wp.exe process.
Hoever you can configure something called a "web garden" where you have
multiple w3wp.exe processes serving a single web app pool.
So, there is no strict relationship between web app pools and worker
processes.
If you run iisapp.vbs (from %systemroot%\system32) it will give you a list
of w3wp.exe processes, their PIDs, and which app pool they are servicing.
Cheers
Ken
"Juan T. Llibre" wrote in message
news:u2NIuSmxHHA.4464@TK2MSFTNGP02.phx.gbl...
> Running Windows 2003 Server, SP2, IIS6.0, with .Net Framework version
> 2.0.50727.832
>
> It was my understanding that the number of w3wp processes
> is determined by the number of Application Pools created.
>
> I am a bit intrigued because I have 3 Application Pools configured,
> but have 4 w3wp processes running.
>
> Why do I have a 4th w3wp process running ?
>
> Or, is it that the number of w3wp processes is *not* tied to the number of
> App Pools ?
> If so, what determines the number of w3wp processes which run ?
>
>
>
> Juan T. Llibre, asp.net MVP
> asp.net faq : http://asp.net.do/faq/
> foros de asp.net, en español : http://asp.net.do/foros/
> ======================================
>
>
>
Re: w3wp processes and Application Pools...
am 15.07.2007 07:39:27 von Ken Schaefer
Hi,
a) Starting a web app pool in the IIS Manager does not create a w3wp.exe
process - it just sets the app pool as startable. You need to make a request
to a resource in a website hosted by that app pool for IIS to actually spin
up a w3wp.exe process
b) IIS does not create multiple w3wp.exe process for an app pool just
becuase you have a dual-core CPU. You only get 1 w3wp.exe process (no matter
how many CPUs or cores) unless you configure a web garden.
c) At the moment you have two worker processes for each of "1.1" and
"default app pool" application pools (in both of the two iisapp.vbs
screenshots). I would suggest that you bring up the properties of either of
those two app pools and check the "Performance" tab. What setting do you
have down the bottom where it says "number of worker processes"? I suspect
that you have this set to "2" rather than "1"
Hope this helps.
Cheers
Ken
"Juan T. Llibre" wrote in message
news:eA5od1oxHHA.4464@TK2MSFTNGP02.phx.gbl...
> re:
> !> By default each application pool has a single w3wp.exe process.
>
> Right. That what I thought to be correct.
>
> re:
> !> However you can configure something called a "web garden" where you
> have
> !> multiple w3wp.exe processes serving a single web app pool.
>
> I know, but I'm not running a "web garden",
> and I am running a single "web site" ( the "Default Web Site" ).
>
> re:
> !> If you run iisapp.vbs (from %systemroot%\system32) it will give you a
> list
> !> of w3wp.exe processes, their PIDs, and which app pool they are
> servicing.
>
> See the attached iisapp.png with the result.
>
> As you can see, there's two processes for each of 2 Application Pools.
>
> The odd thing is that, if I start the 3rd App Pool,
> by starting the .Net Framework QuickStart, the number of wp3p processes
> remain at 4.
>
> See the attached iisapp2.png, *after* I started the QuickStart,
> which should have automatically started the 3rd App Pool, right ?
>
> ...and see the Application Pool and Website configuration ( in the
> attached AppPools.png ).
>
> I do have a dual core processor, but haven't configured a web garden.
> I do have in machine.config.
>
> I'm quite puzzled by this, since I would expect, if I start the 3rd App
> Pool,
> which should have started when I ran the QuickStart, that, if the
> autoConfig
> is assigning two processes to each AppPool, one for each dual core
> processor,
> to then see 6 processes, one for each AppPool running...but I, still, only
> see 4 processes running.
>
> See the attached TaskMan.png for double verification.
>
> So, it seems that there's something else at work here.
> I'm puzzled. Any idea about what is going on here ?
>
>
>
>
> Juan T. Llibre, asp.net MVP
> asp.net faq : http://asp.net.do/faq/
> foros de asp.net, en español : http://asp.net.do/foros/
> ======================================
> "Ken Schaefer" wrote in message
> news:%23Hhuw9nxHHA.3696@TK2MSFTNGP03.phx.gbl...
>> Hi,
>>
>> By default each application pool has a single w3wp.exe process.
>>
>> Hoever you can configure something called a "web garden" where you have
>> multiple w3wp.exe processes serving a single web app pool.
>>
>> So, there is no strict relationship between web app pools and worker
>> processes.
>>
>> If you run iisapp.vbs (from %systemroot%\system32) it will give you a
>> list
>> of w3wp.exe processes, their PIDs, and which app pool they are servicing.
>>
>> Cheers
>> Ken
>>
>> "Juan T. Llibre" wrote in message
>> news:u2NIuSmxHHA.4464@TK2MSFTNGP02.phx.gbl...
>>> Running Windows 2003 Server, SP2, IIS6.0, with .Net Framework version
>>> 2.0.50727.832
>>>
>>> It was my understanding that the number of w3wp processes
>>> is determined by the number of Application Pools created.
>>>
>>> I am a bit intrigued because I have 3 Application Pools configured,
>>> but have 4 w3wp processes running.
>>>
>>> Why do I have a 4th w3wp process running ?
>>>
>>> Or, is it that the number of w3wp processes is *not* tied to the number
>>> of
>>> App Pools ?
>>> If so, what determines the number of w3wp processes which run ?
>>>
>>>
>>>
>>> Juan T. Llibre, asp.net MVP
>>> asp.net faq : http://asp.net.do/faq/
>>> foros de asp.net, en español : http://asp.net.do/foros/
>>> ======================================
>>>
>>>
>>>
>>
>
>
>
Re: w3wp processes and Application Pools...
am 15.07.2007 17:04:05 von nomailreplies
re:
!> You need to make a request to a resource in a website hosted by that
!> app pool for IIS to actually spin up a w3wp.exe process
That's what I did.
I requested the default page for the Quickstart, and requested the ASP.NET Quickstart.
That should have started up a w3wp process to service those requests, right ?
re:
!> check the "Performance" tab. What setting do you have down the bottom where it says
!>"number of worker processes"? I suspect that you have this set to "2" rather than "1"
Indeed, that was it.
Now I'm down to 2 processes.
Since my websites don't get that much traffic, that should be OK.
If traffic increases, I can always add the second processor.
Thank you, Ken.
Juan T. Llibre, asp.net MVP
asp.net faq : http://asp.net.do/faq/
foros de asp.net, en español : http://asp.net.do/foros/
======================================
"Ken Schaefer" wrote in message news:e2stGKqxHHA.4476@TK2MSFTNGP06.phx.gbl...
> Hi,
>
> a) Starting a web app pool in the IIS Manager does not create a w3wp.exe process - it just sets the app pool as
> startable. You need to make a request to a resource in a website hosted by that app pool for IIS to actually spin up a
> w3wp.exe process
>
> b) IIS does not create multiple w3wp.exe process for an app pool just becuase you have a dual-core CPU. You only get 1
> w3wp.exe process (no matter how many CPUs or cores) unless you configure a web garden.
>
> c) At the moment you have two worker processes for each of "1.1" and "default app pool" application pools (in both of
> the two iisapp.vbs screenshots). I would suggest that you bring up the properties of either of those two app pools and
> check the "Performance" tab. What setting do you have down the bottom where it says "number of worker processes"? I
> suspect that you have this set to "2" rather than "1"
>
> Hope this helps.
>
> Cheers
> Ken
>
>
> "Juan T. Llibre" wrote in message news:eA5od1oxHHA.4464@TK2MSFTNGP02.phx.gbl...
>> re:
>> !> By default each application pool has a single w3wp.exe process.
>>
>> Right. That what I thought to be correct.
>>
>> re:
>> !> However you can configure something called a "web garden" where you have
>> !> multiple w3wp.exe processes serving a single web app pool.
>>
>> I know, but I'm not running a "web garden",
>> and I am running a single "web site" ( the "Default Web Site" ).
>>
>> re:
>> !> If you run iisapp.vbs (from %systemroot%\system32) it will give you a list
>> !> of w3wp.exe processes, their PIDs, and which app pool they are servicing.
>>
>> See the attached iisapp.png with the result.
>>
>> As you can see, there's two processes for each of 2 Application Pools.
>>
>> The odd thing is that, if I start the 3rd App Pool,
>> by starting the .Net Framework QuickStart, the number of wp3p processes remain at 4.
>>
>> See the attached iisapp2.png, *after* I started the QuickStart,
>> which should have automatically started the 3rd App Pool, right ?
>>
>> ...and see the Application Pool and Website configuration ( in the attached AppPools.png ).
>>
>> I do have a dual core processor, but haven't configured a web garden.
>> I do have in machine.config.
>>
>> I'm quite puzzled by this, since I would expect, if I start the 3rd App Pool,
>> which should have started when I ran the QuickStart, that, if the autoConfig
>> is assigning two processes to each AppPool, one for each dual core processor,
>> to then see 6 processes, one for each AppPool running...but I, still, only see 4 processes running.
>>
>> See the attached TaskMan.png for double verification.
>>
>> So, it seems that there's something else at work here.
>> I'm puzzled. Any idea about what is going on here ?
>>
>>
>>
>>
>> Juan T. Llibre, asp.net MVP
>> asp.net faq : http://asp.net.do/faq/
>> foros de asp.net, en español : http://asp.net.do/foros/
>> ======================================
>> "Ken Schaefer" wrote in message news:%23Hhuw9nxHHA.3696@TK2MSFTNGP03.phx.gbl...
>>> Hi,
>>>
>>> By default each application pool has a single w3wp.exe process.
>>>
>>> Hoever you can configure something called a "web garden" where you have
>>> multiple w3wp.exe processes serving a single web app pool.
>>>
>>> So, there is no strict relationship between web app pools and worker processes.
>>>
>>> If you run iisapp.vbs (from %systemroot%\system32) it will give you a list
>>> of w3wp.exe processes, their PIDs, and which app pool they are servicing.
>>>
>>> Cheers
>>> Ken
>>>
>>> "Juan T. Llibre" wrote in message
>>> news:u2NIuSmxHHA.4464@TK2MSFTNGP02.phx.gbl...
>>>> Running Windows 2003 Server, SP2, IIS6.0, with .Net Framework version
>>>> 2.0.50727.832
>>>>
>>>> It was my understanding that the number of w3wp processes
>>>> is determined by the number of Application Pools created.
>>>>
>>>> I am a bit intrigued because I have 3 Application Pools configured,
>>>> but have 4 w3wp processes running.
>>>>
>>>> Why do I have a 4th w3wp process running ?
>>>>
>>>> Or, is it that the number of w3wp processes is *not* tied to the number of
>>>> App Pools ?
>>>> If so, what determines the number of w3wp processes which run ?
>>>>
>>>>
>>>>
>>>> Juan T. Llibre, asp.net MVP
>>>> asp.net faq : http://asp.net.do/faq/
>>>> foros de asp.net, en español : http://asp.net.do/foros/
>>>> ======================================
>>>>
>>>>
>>>>
>>>
>>
>>
>>
>
Re: w3wp processes and Application Pools...
am 16.07.2007 09:19:53 von Ken Schaefer
"Juan T. Llibre" wrote in message
news:%23dNppFvxHHA.3684@TK2MSFTNGP02.phx.gbl...
> re:
> !> You need to make a request to a resource in a website hosted by that
> !> app pool for IIS to actually spin up a w3wp.exe process
>
> That's what I did.
>
> I requested the default page for the Quickstart, and requested the ASP.NET
> Quickstart.
> That should have started up a w3wp process to service those requests,
> right ?
Correct, but iisapp.vbs was not reporting any worker processes started for
that web app pool.
> !> check the "Performance" tab. What setting do you have down the bottom
> where it says
> !>"number of worker processes"? I suspect that you have this set to "2"
> rather than "1"
>
> Indeed, that was it.
>
> Now I'm down to 2 processes.
> Since my websites don't get that much traffic, that should be OK.
>
> If traffic increases, I can always add the second processor.
>
> Thank you, Ken.
You probably only need to add CPUs if you have some kind of CPU bottleneck.
Otherwise you're probably just wasting electricity. Adding additional worker
processes doesn't increase performance (except in a few cases), and the
number of processes per web app is not tied to the number of CPUs either.
Cheers
Ken