Knowledgebase

IIS Application Pools Explained — Isolation, Recycling and Tuning Print

  • 0

What Is an Application Pool

An application pool is the worker process, named w3wp.exe, that actually runs your website code in IIS. Every site is assigned to a pool, and each pool runs separately from the others. When one pool crashes or leaks memory, sites in other pools keep running. This is the main reason IIS is safe for hosting several client sites on one Windows server.

Why Isolation Matters

  • Stability. A faulty plugin or a bad code deployment in one site cannot bring down the rest of the server.
  • Security. Each pool can run under its own identity, so a compromised site cannot read files that belong to another pool.
  • Different runtimes. One pool can run .NET Framework 4.8 while another runs No Managed Code for PHP.

Our advice for Indian SMB customers with more than one production site on a server: give every site its own pool. The small memory cost is worth the isolation.

Recycling

Recycling restarts the worker process to release memory and reset state. By default IIS recycles every 1740 minutes, which is 29 hours, so the restart time drifts every day. For business sites we recommend changing this to a fixed time such as 03:00 IST when traffic is lowest. Open the pool, choose Recycling, untick Regular time interval and set a specific time instead.

Tuning Tips

  • Set Idle Time-out to 0 for busy sites so the first visitor after a quiet period does not face a slow start.
  • Enable the AlwaysRunning start mode for .NET applications that need warm caches.
  • Set a private memory limit only if the server is short on RAM, otherwise leave it unlimited.
  • Keep Maximum Worker Processes at 1 unless you have tested your application for web garden mode.

If your site restarts unexpectedly or feels slow after idle periods, raise a support ticket and we will review your pool settings.


Was this answer helpful?
Back