Performance - Worker Process Current Requests

  • Updated

When website performance suddenly becomes worse, there may be many potential causes (see Troubleshooting Performance Issues ). Gathering information about the current requests being handled by the worker process can help to identify issues impacting performance.

The Internet Information Services (IIS) Manager provides a server-level Worker Processes feature that manages "a list of worker processes running in application pools on a Web server." The information provided includes the Application Pool Name, Process ID, State of the process, CPU percentage, Private Bytes, and Virtual Bytes.

Additionally, if enabled, the View Current Requests action is available. The View Current Requests displays the current running requests in a worker process. Several fields provide data to investigate performance issues; for example, the URL, Client IP, Pipeline Module State and Module Name, and the Time Elapsed for a request.

This KB provides the steps to enable the View Current Requests action.

  1. To enable the View Current Requests action in the Worked Processes feature, the Request Monitor feature must be enabled. The following steps are typical among later Windows operating systems:
    1. Open the Server Manager.
    2. Select Roles and locate the Web Server (IIS) role.
    3. Click Add Role Services .
    4. Locate the Health and Diagnostics section then select Request Monitor .
    5. Click Next and complete the wizard.
  2. Once enabled, open IIS Manager and select the Web server.
  3. In the Web Server Home Features view, go to the IIS section and select and open the Worker Processes feature.
  4. Select the Desired worker process then, in the Actions pane, click View Current Requests (or right-click on the Worker Process and select View Current Requests .

Data that may warrant further investigation includes the following:

  • numerous requests for the same URL
  • requests from the same Client IP
  • long Time Elapsed values, and so on.

For example, in one recent case, a marketing campaign resulted in magnitudes more requests than expected. Being able to identify the URL allowed the customer to take action that alleviated the performance impact.