Configure WMI on application servers for HostNameMemory affinity provider
by Won Yoo
Overview
In ARR Version 1, there are two host name affinity providers:
- Microsoft.Web.Arr.HostNameRoundRobin
- Microsoft.Web.Arr.HostNameMemory
Microsoft.Web.Arr.HostNameRoundRobin provider does not have any dependency on the application servers. When this provider is used, ARR simply allocates and affinitizes host names in a round robin fashion.
However, Microsoft.Web.Arr.HostNameMemory provider requires certain permissions to be granted on the application servers so that ARR server is able to query the necessary memory relation performance counters to compute where to affinitize the host names.
This walk through is designed to guide the reader the changes that are needed on the application servers when Microsoft.Web.Arr.HostNameMemory provider is used.
Note
The host name affinity providers are applicable only when ARR is configured to be used for shared hosting scenarios.
Goal
Successfully configure ARR and the application servers in the server farm to use Microsoft.Web.Arr.HostNameMemory provider.
Prerequisites
This walkthrough requires the following prerequisites:
- IIS 7.0 or above on Windows 2008 (any SKU) or newer.
- Microsoft Application Request Routing Version 1 and dependent modules.
- ARR is configured for shared hosting scenarios.
Follow the steps outlined in this document to install Application Request Routing.
Note
The following steps are to be performed on all the application servers in the server farm. More explicitly, these changes are not needed on the ARR server(s).
Step 1 - Enable COM Security
Open a command prompt as an administrator.
Type dcomcnfg.
Navigate to Component Services -> Computers -> My Computer.
Right click on My Computer and select Properties:
Select COM Security tab:
Under Launch and Activate Permissions, select Edit Limits. Add the account of the worker process where ARR uses and allow:
Local Launch
Remote Launch
Remote Activation
Click on OK to save the changes.
Step 2 - Add user to Performance Monitor Users group
Open a command prompt as an administrator.
Type compmgmt.
Navigate to Computer Management -> System Tools -> Local Users and Groups -> Groups:
Select Performance Monitor Users group and add account of the worker process that ARR uses:
Click on OK to save the changes.
Step 3 - WMI Control
On the same Computer Management console, navigate to Services and Applications and select WMI Control:
Right click on WMI Control and select Properties. Select Security tab:
Navigate to Root -> CIMV2 and select CIMV2:
Click on Security and add account of the worker process that ARR uses. Allow the following permissions:
Execute Methods
Enable Account
Remote Enable
Click on OK to save the changes.
Step 4 - Test configuration on ARR
After making the configuration changes on all application servers in the server farm (steps 1 through 3), test the configuration on ARR server.
Open IIS Manager.
Select the server farm that is configured for host name affinity.
Select Server Affinity icon.
Select Microsoft.Web.Arr.HostNameMemory provider under Host name affinity provider and select Apply:
Note that the Test... button appears only after the change is applied. This is because the test must impersonate the identity of the worker process. Ensure that the test passes: