Citrix XenApp servers return a full load when Advanced or Custom Load Evaluators are assigned.
Check that the Windows Performance Library (Perflib) service or any relevant performance sub key has not been disabled. This can be checked by completing the following procedure:
Caution! Refer to the Disclaimer at the end of this article before using Registry Editor.
Navigate to the following registry keys:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PerfDisk\Performance
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PerfProc\Performance
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PerfOS\Performance
Confirm that the following value does not exist: disable performance counters = 1
If the preceding value exists, change the value data to 0 or delete the value completely.
Note: The preceding actions do not require restarting the server.
Ensure that the Network Service account has Read permissions to the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib key.
If you have several XenApp servers in the farm exhibiting this issue, complete the following procedure to fix the issue:
Create a group policy that grants Performance Log User and Performance Monitor Users with Read permissions to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PerfLib.
Allow the computer policy to update on the XenApp servers.
Restart the IMA Service.
The Perflib service has been disabled. The following registry setting is configured:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib
Value Name: disable performance counters
Value Type: DWORD
Value: 1
Or
A relevant performance sub key has been disabled, such as PerfDisk, PerfProc, or PerfOS.
The following example registry setting disables PerfDisk:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PerfDisk\Performance
Value Name: disable performance counters
Value Type: DWORD
Value: 1
Perflib is responsible for retrieving registry-based performance counters on the system. If the following registry value is set to 1, Perflib does not retrieve performance counter data from the registry. As a result, the System Monitor and other tools that use the data cannot display it. Instead, when a program requests performance data from the registry, the system returns an error to the program explaining that the Perflib service is disabled.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib
Value Name: disable performance counters
Value Type: DWORD
Value: 1
Perflib is also responsible for detecting disabling errors in the performance sub-keys referenced in this article. It disables the counters by setting the value of the Disable Performance Counters entry to 1.
CTX111961 - CDFControl
CTX112082 – Troubleshooting Load Balancing Issues
CTX105449 – Load Manager Rules Explained