External File Server Performance
External file servers, especially servers holding roaming user profiles can cause significant delays;
Symptoms: Long pause / very slow / hangs at logon ‘Loading Your Personal Settings”
Long logon delays often indicate issues with remote file access; namely GPO’s and Profile data if roaming profiles are used. The duration of the delay often effects all users on a particular server.
To Diagnose: Use userenv.dll debugging. http://support.microsoft.com/kb/221833, Log file is located under %Systemroot%\Debug\UserMode\Userenv.log.
Solution: Watch out for ‘Srv’ events in the System Event Log with Error code ‘2022’; see the following KB article for more details: http://support.microsoft.com/kb/317249
Microsoft does not support the use of PST files across a network. This can cause significant performance issues to file servers hosting them. Please refer: http://blogs.technet.com/askperf/archive/2007/01/21/network-stored-pst-files-don-t-do-it.aspx
If you’re hosting PST files on the same server as your profiles you’ve more than likely found your problem. I would suggest separating the profiles and PST files on separate servers. Profile access needs to be quick to ensure smooth logons.
Active Directory Access
Slow access to domain controllers, namely Global Catalogue (GC) servers can cause significant delays in logon as group memberships are referenced and permissions are established from the Active Directory.If you have only a single domain in your forest each Domain Controller can be setup as a GC server. In a multi-domain forest you should ensure that the Infrastructure Master FSMO role is not placed on a GC. The first DC in a domain is always automatically configured as a GC, subsequent DC’s are not.
Symptoms: Long pause / delay / hang / slow at logon “Applying computer settings” and loading Logon Scripts
To Diagnose: Use userenv.dll debugging and check the log file located under “%Systemroot%\Debug\UserMode\Userenv.log”
Solution: Setup dedicated DC’s; DC’s are central to yourActive Directory Domain. Quick access for LDAP queries is essential for performance. Running print/file server roles on these servers is simply not smart and not reccommended.
Citrix Server Hardware / Number of Users Per Citrix Server
There are many myths about the number of users you can effectively have on a single Citrix server. Single server can handle 60 users without any issues what so ever. There isn’t a Citrix reccomended number of users per server. This limit is dictated by the applications your user operates during their session. The only way to find out what your Citrix servers can handle is to test them.
Symptoms: High CPU/ Memory / Page File usage on all Citrix servers within a farm.
To Diagnose: Create a performance benchmark using the built in Window Performance counters.
Solution: Setup and introduce further servers into a farm. Unless you’re seeing high CPU/RAM usage there is little point in adding more servers to the farm.
It’s worth noting at this point a poor logon script can cause more problems than the few issues it may automatically fix. Avoid, where possible, calling network applications held on File servers – these shares will be in high demand at peak hours and could cause delays. Script type: We are not going to get into which is better and which is worse programming language wise.
Symptoms: Long pause after the ‘Applying your personal settings’ box disappears.
To Diagnose: Test a user account with the same profile settings other than logon script; ensure it has no logon script.
Solution: Scale back / Streamline your scripts where possible.
Network Adapter Configuration
Symptoms: Running Citrix Presentation Server 4.5 on Windows Server 2003 we might have experienced delays of up to 5 minutes for some user accounts whilst logging on. Specifically the logon would get stuck at ‘Loading your personal settings.’
Solution: The cause was simple; a network configuration mismatch. The switch to which the serevr was connected was configured for auto, as was the server. The link infact had auto-negotiated to 10Mb Half Duplex. Forcing the server to 100Mb Full-Duplex reduced logon to around 15 seconds.This can be explained by the use of roaming profiles. The delay was caused by the slow NIC configuration. This means that copying users roaming profiles took up to 5 minutes prior to logon.
Symptoms: Generally slow performance across all applicationsand file access.
To Diagnose: TEMPORARILY disable all anti-virus components (especially the on-access scanner and any application filters/buffer overflow protection)
Solution: You should configure the anti-virus on-access scanner as follows:
• Scan on write events only
• Scan local drives only
• Exclude the pagefile from being scanned
• Exclude the Print Spooler directory to improve print performance
• Exclude the \Program Files\Citrix folder from being scanned
• If ICA pass-through connections are used, exclude the user‘s XenApp Plugin bitmap cache and the XenApp Plugin folders
Symptoms: Slow responses when entering text into applications. Refresh of application GUI appears slow, menus etc appear ‘sluggish.’
To Diagnose: Use the Metaframe Servers SDK (MFCOMSDK) v2.3 tool; smcconsole.exe. Using this tool you can view individual sessions bandwidth utilisation and latency. This tool is incredibly useful when troubleshooting issues regarding session performance. Session latency can also be viewed using the WMI performance counters for ICA Session that are installed when Citrix is installed on a Windows Server.
Speed Screen Configuration
Symptoms: Slow responses when entering text into applications
Solution: An often overlooked setting is Speedscreen. Speedscreen will significantly improve the speed at which applications appear to respond to text input from a thin user. You should configure speed screen and replicate settings across the server farm.
There is certainly a great deal to find out about this topic.
I love all the points you’ve made.