Calculating Node Count in .NET Environments

The .NET Agent dynamically creates nodes depending on the monitored application configuration in the IIS server. An IIS server can create multiple instances of each monitored IIS application. For every instance, the .NET Agent creates a node. For example, if an IIS application has five instances, the .NET Agent will create five nodes, one for each instance.

The maximum number of instances of a particular IIS application is determined by the number of worker processes configured for its application pool, as illustrated in the following diagram:

IIS diagram

The diagram shows three application pools — AppPool-1, AppPool-2, and AppPool-3 — with the following characteristics:

  • AppPool-1 and AppPool-3 can have a maximum of two worker processes (known as a web garden), containing two applications (AppA, AppB) and one application (AppF), respectively.
  • AppPool-2 can have one worker process. It has three applications.

To determine the number of nodes, for each AppPool, multiply the number of applications by the maximum number of worker processes. Add those together, as well as a node for the Windows service or standalone application processes.

The example would result in nine AppPool nodes. Adding one for a Windows service would result in a total of ten nodes, calculated as follows:

AppPool-1: 2 (applications) * 2 (max number of worker processes)  = 4
AppPool-2: 3 (applications) * 1 (max number of worker processes)  = 3
AppPool-3: 1 (application) * 2 (max number of worker processes)   = 2
Windows Service or standalone application process                 = 1
------
Total:                                                            = 10

To find the number of CLRs that will be launched for a particular .NET Application/App Pool:

  1. Open the IIS manager and view the number of applications assigned to that AppPool.
  2. Check if any AppPools are configured to run as a Web Garden. This would be a multiplier for the number of .NET nodes coming from this AppPool as described in the preceding example.

Also, see View Applications in an Application Pool (IIS 7).