Citrix Architecture

    I have one HP ML350 HP Server with 3 GB of RAM.  We have have Server 2003 SP 1 and Citrix Metaframe XP Presentation Server.  We have a T-1 for the clients to log in through.  We normally have about 35-50 people logged into this machine and are starting to get reports of slowness and lag.  We aren't filling up the T-1 quite yet.  We aren't using all the RAM and there is a fair ammount of hard drive space left.  I am getting a feeling we are stretching Citrix to its limits for a Single machine.  
     My question is for suggestions of architecture.  Should I just move to publishing applications to improve the machines performance?  I currenlty have a single server license. Thanks.
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Depending on how your published desktops are configured you may or may not see any difference by just publishing applications.  You can easily check though by comparing how many processes you have running by just logging into the desktop and opening 1 app.  Then publish an application for testing and log in and compare how many processes are running for this.  Normally you will see quite a few less for the published apps because of all the processes that start when you launch a full desktop (such as items in the system tray, or any applications under HKCU\Software\Microsoft\Windows\CurrentVersion\Run... and the same place under HKLM in the registry.

This may help a little but totally depends on the apps you are running and your users.  If you are getting up to 50 users on a server I think that is pretty good and wouldn't feel bad about having to add another server.

For architecture you don't need to do much.  Just adding another server won't change your farm at all.  Just make sure to load balance all of your applications and desktops across both servers so you don't overload either of them.  I would recommend getting away from the published desktop though if you can.
Also I should mention that you don't want to incorrectly determine that your servers are in fact running slow.  A lot of times slowness is caused by a clients internet speed at their location that you have no control over.  This lag time would make them think that the server is running slow when in fact it's just that their internet isn't fast enough to send/receive the packets to/from the server without any noticeable delay.

Take a look at this article
It has some good tips on how to test your server to see if it is in fact getting maxed out.  It deals mostly with W2K but most of the things in there also apply to W2K3.
The number of users that you can get on a single server, and the performance of that server, is dependent on many factors, including:

Number of / type of / speed of CPU's
Size of CPU cache
Size and type of RAM
Configuration and type of disks
Size of RAID cache
Applications used
Number of active users
Performance tuning that's been done

The Citrix Advanced Concepts Guide has good info on tuning.
XP FR2 Advanced Concepts Guide:
XP FR3 Advanced Concepts Guide:

For the number of users you have though, I'd want to have at least one extra Citrix server, and load balance the users on it. An additional server with a couple of dual core Operteron's and 4GB of RAM (eg HP DL385) would make a really nice additional Citrix server. :)

To run more than one server in a Citrix farm and have load balancing between the servers, you'll need XPa (advanced) or XPe (enterprise) - you  can't do it with XPs (standard). You can upgrade an XPs license to XPa. Better still, upgrade to Presentation Server 4 Advanced (or Enterprise).

The following text (from the start of REGEDIT4 downwards) can be cut and pasted into a .REG file which when double-clicked will set up a lot of the tuning mentioned in the articles above. I wrote it for the Citrix server installations that I do.


[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug]


[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]




[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp\UserOverride\Control Panel\Desktop]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\{44BBA840-CC51-11CF-AAFA-00AA00B6015C}]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\{7790769C-0471-11d2-AF11-00C04FA35D02}]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\{6BF52A52-394A-11d3-B153-00C04F79FAA6}]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp\UserOverride\Control Panel\Desktop\WindowMetrics]


[HKEY_USERS\.DEFAULT\Control Panel\Desktop]


[HKEY_USERS\.DEFAULT\SOFTWARE\Microsoft\Internet Connection Wizard]


Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
I forgot to include a link to Rick Dehlingers tips for tuning - . It's a little dated now, but still has good info in it.

Another good tuning reference is
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.