Windows User Logon Test

The process of a user logging into a Citrix or Microsoft RDS server is fairly complex. First, the profile corresponding to a user has to be located, and the appropriate profile files copied over from a profile server (in the case of a roaming profile). Second, additional processing is often necessary after copying the profile locally. Processing for instance may involve creating new printers for the user logging in. Proper monitoring of profile loading and processing times is key because the login process is handled exclusively by Microsoft Windows. Hence, if a specific user profile takes a lot of time to load (e.g., because the profile is very big), or if specific processing for a user is taking time, this could delay logins for subsequent users who are trying to access the server at the same time. The typical process for monitoring the Windows login process is to use the user environment debugging mechanism. To enable this, the following steps are required. To set the logging level associated with the userenv.log file, perform the following steps:

  • Start a registry editor (e.g., regedit.exe).
  • Navigate to the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon registry subkey.
  • From the Edit menu, select New, DWORD Value.
  • Enter the name UserEnvDebugLevel, then press Enter.
  • Double-click the new value, set it to 65538 (decimal) - which corresponds to the debugger output.

Once these changes are enabled, details about the Windows login process are logged into the file %systemroot%\debug\usermode\userenv.log. If the Userenv.log file is larger than 300 KB, the file is renamed Userenv.bak, and a new Userenv.log file is created. This action occurs when a user logs on locally or by using Terminal Services, and the Winlogon process starts. However, because the size check only occurs when a user logs on, the Userenv.log file may grow beyond the 300 KB limit. The 300 KB limit cannot be modified.

This test periodically checks the userenv log file to monitor the user login and profile loading process. This test is disabled by default. To enable the test, go to the enable / disable tests page using the menu sequence : Agents -> Tests -> Enable/Disable, pick the Microsoft RDS as the desired Component type, set Performance as the Test type, choose the test from the disabled tests list, and click on the < button to move the test to the ENABLED TESTS list. Finally, click the Update button.

Target of the test : A Microsoft RDS server

Agent deploying the test : An internal agent

Outputs of the test : One set of results for every Microsoft RDS server monitored

Configurable parameters for the test
Parameters Description

Test period

This indicates how often should the test be executed.

Host

The host for which the test is to be configured.

Port

Refers to the port used by the Microsoft RDS server .

Detailed Diagnosis

To make diagnosis more efficient and accurate, the eG Enterprise embeds an optional detailed diagnostic capability. With this capability, the eG agents can be configured to run detailed, more elaborate tests as and when specific problems are detected. To enable the detailed diagnosis capability of this test for a particular server, choose the On option. To disable the capability, click on the Off option.

The option to selectively enable/disable the detailed diagnosis capability will be available only if the following conditions are fulfilled:

  • The eG manager license should allow the detailed diagnosis capability
  • Both the normal and abnormal frequencies configured for the detailed diagnosis measures should not be 0.
Measurements made by the test
Measurement Description Measurement Unit Interpretation

Profile load starts

Indicates the number of profile loads in the last measurement period.

Number

This metric gives an idea of the rate at which users are logging in to the server.

The detailed diagnosis will not be available for the ‘Total’ descriptor.

Profile load successes

Indicates the number of successful profile loads in the last measurement period.

Number

 

Profile loading failures

Indicates the number of profile load failures in the last measurement period.

Number

An unusual increase in number of profile loading failures is a cause for concern. The userenv.log file will have details of what profile loads failed and why.

Profile load failures percent

Indicates the percentage of profile loads that failed in the last measurement period.

Percent

 

Avg user profile load time

Indicates the average time it took to load a profile successfully in the last measurement period.

Seconds

The detailed diagnosis of this measure, if enabled, lists the profile load times for different Citrix users.

Max profile load time

Indicates the maximum time it took to load a profile during the last measurement period.

Seconds

 

System policy starts

Indicates the number of system policy applications started in the last measurement period.

Number

 

System policy completes

Indicates the number of system policy completions in the last measurement period.

Number

Compare the total number of starts to completions. if there is a significant discrepancy, this denotes a bottleneck in system policy application. Check the userenv.log file for more details.

Avg system policy processing time

Indicates the average time taken for applying system policies in the last measurement period.

Seconds

If the system policy times are long, check the detailed diagnosis to view if the policy handling is taking time for all users. Analyze the userenv.log to determine the reason for any slowdown.

Max system policy time

Indicates the maximum time for applying system policies in the last measurement period.

Seconds

 

Group policy starts

Indicates the number of group policy applications started in the last measurement period.

Number

 

Group policy completes

Indicates the number of group policy applications completed in the last measurement period.

Number

 

Avg group policy processing time

Indicates the average time taken for applying group policies.

Seconds

 

Max group policy time

Indicates the average time taken for applying group policies.

Seconds

 

Profile unload starts

Indicates the number of profile unloads started during the last measurement period.

Number

The detailed diagnosis will not be available for the ‘Total’ descriptor.

Profile unload successes

Indicates the number of successful profile unloads during the last measurement period.

Number

 

Profile unload failures

Indicates the number of unsuccessful profile unloads during the last measurement period.

Number

 

Profile unload failures percent

Indicates the profile unload failures as a percentage of the total profile unloads.

Percent

 

Avg user profile unload time

Indicates the average time for unloading a profile during the last measurement period.

Seconds

 

Max profile unload time

Indicates the maximum time for unloading a profile during the last measurement period.

Seconds

 

Logon duration

Indicates the average time taken by this user for logging in during the last measurement period.

Seconds

If this value is abnormally high for any user, then, you can compare the User account discovery, LDAP bind time to active directory, Client side extension processed time, DC discovery time, Total group policy object file accessed time, Avg system policy processing time and User profile load time measures to know exactly where that user's login process experienced a bottleneck - is it when loading the profile? is it when processing system policies? is it when processing group policies? is it when interacting with AD for authenticating the user login?

This measure will not be available for Citrix XenApp Servers operating on Windows 2003.

User account discovery

Indicates the amount of time taken by the system call to get account information for this user during the last measurement period.

Seconds

Compare the value of this measure across users to know which user’s logon process spent maximum time in retrieving account information.

The detailed diagnosis will not be available for the ‘Total’ descriptor.

This measure will not be available for Citrix XenApp Servers operating on Windows 2003.

LDAP bind time to active directory

Indicates the amount of time taken by the LDAP call for this user to connect and bind to Active Directory during the last measurement period.

Seconds

Compare the value of this measure across users to know which user’s logon process spent maximum time in connecting to Active Directory. Besides impacting authentication time, high LDAP bind time may also affect group policy processing.

This measure will not be available for Citrix XenApp Servers operating on Windows 2003.

Client side extensions applied

Indicates the number of client side extensions used for processing group policies for this user during the last measurement period.

Number

 

Client side extension processed time

Indicates the amount of time that client side extensions took for processing group policies for this user during the last measurement period.

Seconds

Compare the value of this measure across users to know which user's logon process spent maximum time in group policy processing.

If this measure reports an unusually high value for any user, then, you may want to check the value of the LDAP bind time to active directory measure for that user to figure out if a delay in connecting to AD is affecting group policy processing. This is because, group policies are built on top of AD, and hence rely on the directory service's infrastructure for their operation. As a consequence, DNS and AD issues may affect Group Policies severely. One could say that if an AD issue does not interfere with authentication, at the very least it will hamper group policy processing.

You can also use the detailed diagnosis of this measure to know which client side extension was used to process which group policy for a particular user.

The detailed diagnosis will not be available for the ‘Total’ descriptor.

This measure will not be available for Citrix XenApp Servers operating on Windows 2003.

DC discovery time

Indicates the time taken to discover the domain controller to be used for processing group policies for this user during the last measurement period.

Seconds

Compare the value of this measure across users to know which user's logon process spent maximum time in domain controller discovery.

The detailed diagnosis will not be available for the ‘Total’ descriptor.

This measure will not be available for Citrix XenApp Servers operating on Windows 2003.

Total group policy object file accessed time

Indicates the amount of time the logon process took to access group policy object files for this user during the last measurement period.

Seconds

Compare the value of this measure across users to know which user's logon process spent maximum time in accessing the group policy object file.

This measure will not be available for Citrix XenApp Servers operating on Windows 2003.

User profile load time

Indicates the amount of time it took to load this user’s profile successfully in the last measurement period.

Seconds

Compare the value of this measure across users to know which user's profile took the longest time to load. One of the common reasons for long profile load times is large profile size. In such circumstances, you can use the User Profile test to determine the current size of this user's profile. If the profile size is found to be large, you can conclude that it is indeed the size of the profile which is affecting the profile load time.

Another reason would be the absence of a profile. If the user does not already have a profile a new one is created. This slows down the initial logon quite a bit compared to subsequent logons. The main reason is that Active Setup runs the IE/Mail/Theme initialization routines.

Moreover, this measure reports the average time taken for loading a user's profile across all the sessions of that user. To know the profile load time per user session, use the detailed diagnosis of this measure. This will accurately pinpoint the session in which the profile took the longest to load.

This measure will not be available for Citrix XenApp Servers operating on Windows 2003.