IIS Web Server Learning Series -Part 3 – Application pools and worker processes


Application pools:

incoming requests are coming from web to network interface are listened by http listener in kernel mode, and it sees the site bindings table and sends the requests to app pools that associated with site and app pools have worker process that executes the request and sends the result back to client

App pools have min 1 WP and max is more than 1

One app pool can serves multiple websites or one app pool can work with one site

In task manager, in the processes tab, we have worker processes called w3wp.exe

App pools:

We have pipeline mode: integrated mode: better performance and better stability and it is modern one

It does not execute the code that runs under IIS 5 and below.

For that classic mode is used

It comes under basic settings

Recycling:

Generally developers did not write the good code so that application leaks memory

iis will consume more memory. so Microsoft decides to work with this type so that memory leakage will be reduced and performance will be increased

We have recycling settings

Fixed intervals:

1. Regular interval times (in minutes)

1740 (29 hours

)for every 29 hours WP kills itself and immediately new worker process created and it will serve the request for app pool

2. fixed no of request: 300– after every 300 requests worker process will be killed and new one will start

3. Specified time: if we specify time at that time the worker process will be killed and new one will be created

Memory based maxims:

1. Virtual memory usage: if put some memory length 10mb, if the worker process occupies more than that worker process will be killed

We can keep track of those things in the event log

Advanced settings of App pool:

queue length: 1000

WP executes the request one by 1… Requests are placed in the queue by the http listener that is in kernel mode.

Http listener then after 1000 request over then it gives the error service unavailable

Processor affinity mask: false

It should be false and cpu will decide the affinity

It is the hexadecimal mask that forces the worker process of the app pool to run on specific cpu

Identity: worker process used this identity to access the resources for the request

idle time out: worker process sits idle for 20 mins and after that it will be killed it self

Maximum worker process:

Max no of worker process used to handle the requests coming to IIS

If it is >1 then it is called web garden

Process orphaning: it is used for debugging. normally for developers

iis instead of killing the Worker process, it will continue, so developers will see the inform it will be increasing the memory

if it needs then only send the requests

Recycling:

Disabling the recycle for configuration: false

Generally, iis will read the new configuration after killing the worker process and whenever any changes done to configuration

Disabled overlapped recycle:

Generally, before creating new worker process, then iis will orphaned old one and created new worker process and load the data and after loading data then it kills new one

Regards,

Chaitanya

Leave a comment

Design a site like this with WordPress.com
Get started