Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Does a webapplication run faster when Maximum Worker Processes is more than one?

Tags:

iis-7

for IIS7 Does a webapplication run faster when Maximum Worker Processes is more than one?

like image 648
Christophe Debove Avatar asked Apr 07 '11 15:04

Christophe Debove


People also ask

How many worker processes should I have?

Answer: By default an application pool is set to have 1 worker process (ie. the actual w3wp.exe process you see in Task Manager). You can increase this to use more which in general IIS terms should increase performance.

How many IIS worker processes should I have?

Can I use multiple worker processes in my IIS Application Pools? No. The 'moveitdmz ISAPI Pool' and the 'moveitdmz Pool' should each be set to use only 1 worker process. If this number is increased, you will most likely see unusual behavior on your DMZ system.

How do I reduce IIS worker memory usage?

Go to Tools & Settings > IIS Application Pool:Recycling at regular time intervals (minutes) Recycling when the maximum number of requests is reached. Recycling when the maximum amount of virtual memory is used. Recycling when the maximum amount of private memory is used.


1 Answers

By increasing the Maximum Worker Processes over 1 you're creating a Web Garden. So the short answer is: likely no... unless:

To quote Chris Adams an ex IIS PM's article I have flowers... should I get a Web Garden?:

Web gardens was designed for one single reason – Offering applications that are not CPU-bound but execute long running requests the ability to scale and not use up all threads available in the worker process.
The examples might be things like -
Applications that make long running database requests (e.g. high computational database transaction)
Applications that have threads occupied by long-running synchronous and network intensive transactions
The question that you must ask yourself -
What is the current CPU usage of the server?
What is the application’s threads executing and what type of requests are they?
Based on the criteria above, you should understand better when to use Web Gardens. Web Gardens, in the metabase, equals the MaxProcesses metabase property if you are not using the User Interface to configure this feature.
cscript adsutil.vbs set w3svc/apppools/defaultapppool/maxprocesses 4
I hope that I get some mileage out of having this blog and more importantly I hope it helps you understand this better…

You may want to look at "What is Web Garden?" from Deploying ASP.NET Websites on IIS 7.0 [codeproject.com] which says:

By default each Application Pool runs with a Single Worker Process (W3Wp.exe). We can assign multiple Worker Processes With a Single Application Pool. An Application Pool with multiple Worker process is called "Web Gardens". Many worker processes with the same Application Pool can sometimes provide better throughput performance and application response time. And each worker process should have their own Thread and Own Memory space.

like image 174
Aaron Avatar answered Sep 29 '22 00:09

Aaron