New feature in IIS 8.5: Idle worker-process page-out

With the release of Windows Server 2012 R2, we are including a new version of IIS – version 8.5, which contains several new and exciting features. In the next few weeks, I will be discussing them and how they can benefit your organization.

The first feature I want to discuss here is “Idle Worker Process Page-Out”, which we refer to unofficially as “Dynamic Site Page-out”. The challenge that led to the development of this feature is that many organizations that host a large number of websites discover that many of the sites are idle most of the time. For example, if your organization is one that provides commercial web-hosting services, many of your customers are probably small businesses. Many small businesses need to have some web presence, but their websites are mostly designed to be a virtual billboard – they don’t contain many (or any) applications, and they are typically visited only rarely. Some might be idle for hours, and some even days or weeks without a single visitor.

In such a situation, having the site active on your server might seem like a waste of resources. Even a simple, static site typically uses up at least 6-10 MB of memory, and if you are running hundreds or thousands of such sites, that’s a lot of memory use for sites that rarely get visited. Most web server administrators have configured their servers to automatically terminate such a site after a certain idle time. In Windows Server 2012, this is how this option looked like:


The above is one of the advanced options dialog for an application pool. When you set an idle time-out, the Windows Process Activation Service (WAS) terminates the worker-process of an idle site, so the CPU and memory resources are released, but that also means that when a user does connect to the site, he has to wait for the site to start (a worker process to be spun up). This takes time – sometimes as much as 20 seconds on a busy server, during which the user is staring at a blank screen.

To make things better, the Dynamic Site Page-out feature allows WAS to put idle websites to sleep…page them out to disk. The idea is that instead of a process termination upon time-out, the process remains alive, but suspended and consuming little resources. Then, if the site is being requested, it wakes up from suspension almost instantly. In such a situation, the user receives the active site within seconds without having to wait and wonder.

To configure this feature, we have added this drop down in the same configuration page:


As you can see, below the time-out value, you can select whether to suspend or terminate the site when it times-out. When the site is suspended, it still shows up in your Task Manager, but as you can see, it consumes little memory or CPU:


Windows Server 2012 R2 will be released soon, but a preview of it is already available to try for free. Click here to download it.

Next time: Dynamic site activation!