In my experience organisation buy over powered servers for Citrix. It is better to scale out than scale up for Citrix. ie. more servers of less power than fewer servers of great power. The optimal configuration for a 32bit Citrix server is: 2 CPU cores, 4GB or RAM and about 72GB of RAID1 disk. With modern servers having much more capacity than this you should consider virtualisation if you are running 32bit operating systems.
While the server may be running a 64bit version of Windows many applications, such as MS Office, are 32bit. Thus, as 32bit applications, they are limited to a 2GB application space in RAM. While these applications can't use memory above the first 2GB the user session space can. When running applications like MS Office on a Citrix server Office only needs to load one copy of WINWORD.EXE etc. between all the users so the application space may be used very efficiently.
A well tuned 64bit server can service up to 500 concurrent users with some applications.
Also remember Windows 2008 Standard edition is limited to 32GB of RAM.
INSTALL 32bit Windows ON VIRTUAL MACHINES - Citrix XenServer or VMware
My preferred Citrix XenApp servers are something like a Dell PowerEdge R410. This is a one unit rack mount computer that can be configured with dual quad core processors and 64GB of RAM. It supports the Citrix XenServer or VMware ESX. YOu can take a pewerful server like the Dell R410 and through virtualisation give each of the 32bit Virtual Machines their optimal configuration of: 2 CPU Cores, 72GB of RAID1 disk and 4GB of RAM.
As for brand - Dell, IBM and HP are the most common and all do the job well. I can't actually see anything significant between them so it will come down to price and company policy. Some of the servers now have XenServer or VMware built into them.
WHAT DO YOU WANT FROM CITRIX HARDWARE (or virtual hardware) for 32bit OS's
CPU - Citrix does not scale well above more than 2 processors. (Have a look at the charts in the Citrix Presentation Advanced admin guide). A quad processor server does not give you twice the power of a 2 processor server. An 8 processor server gives you almost no increase in performance over a 4 processor server. At the current, time 2 processors gives you the best price/performance ratio.
MEMORY - Most 32 bit applications can't see more than the first 2GB of RAM. The OS can use RAM up to 4GB but Terminal Services and consequently Citrix runs in Kernel Mode so there is no way it can use more than 4GB of RAM. Don't buy Citrix servers with 8GB of RAM as your applications won't be able to use even if you buy Windows Server 2003 Enterprise Edition.
For other references on this see:
http://support.microsoft.com/kb/268230/en-us
http://www.winserverkb.com/Uwe/Forum.aspx/windows-ts/9133/Termial-services-4-GB-limitation-of-RAM
http://home.worldonline.nl/~t046399/Windows_2000/Windows_2000_Summary_terminal_server.htm
DISK - A RAID1 pair of disks should be fine. You are not going to store data on your Citrix server, you are going to use roaming profiles, you will use a Windows domain policy and UPHClean to delete your roaming profiles when users exit, you are even going to limit the size of their profiles with a Windows policy so you are not likely to need much more than this. RAID1 gives you good speed with some redundancy.
NIC - Everything comes with a 1GB NIC these days. I have never seen a Citrix server bottleneck at the NIC but other network throughput issues can cause issues. Fix the speed and duplex on both the switch and server.
BOTTLENECKS - In most Citrix servers you will find the bottlenecks are RAM or CPU, depending on the application. Local disk is much faster than accessing a network share so sometimes the network access to a large data file is a bottleneck.
Virtualisation
Citrix XenServer and VMware are doing great things for making more efficient use of hardware in the Wintel world. Citrix servers fit very nicely in the virtual environment providing there is not too much overcommit of hardware. I whole heartedly recommend deploying Citrix on Citrix XenServer.
You can't work this out without doing realistic testing. Do realistic load testing of your applications or your project may well fail and plenty of Citrix projects do fail. As a general rule of thumb normal M$ Office standard users will run about 40 users per 32bit Windows server on a HP DL360 as a comfortable limit. M$ Access can be a CPU hog and care should be taken with Access. (Do yourself a favour, don't deploy Assess databases in the enterprise. Even Microsoft will guide you towards SQL Server once you have more than a few users.) Other applications can be lighter or have a much bigger foot print. Some applications you may only get 6 users per server before it maxes CPU or RAM but by this time you should be thinking about a CPU throttling application like Appsence or you may decide that it is not a suitable application for Citrix.
For the really big user counts like running 500 concurrent SAP users on a single 64bit Windows server with Dual quad core CPU and 32GB or RAM much testing should be done BEFORE committing to this in production.
Hardware is going through an interesting time. There is a fixed limitation imposed by 32bit applications only being able to address 2GB of memory - Not per user but all up for the whole server. We also have normal workstations being specified with 2GB or 4GB or RAM on a routine basis. Programmers are writing applications knowing what the capacity of modern workstations are and will happily use those resources.
When these applications are deployed in the Citrix environment they may require 1GB of RAM per user and when the 2GB of RAM available to applications is used by the first 2 users then further users find their application is starved for RAM.
This limit will go away when all applications your are ported to 64bit.
The result of this is that some recent applications will not run well on Citrix at all and thus should be deployed on a fat client or via application streaming or via XenDesktop.
Computer rooms usually have racks full of servers and heavy duty air-conditioning going 24 hours per day to cool them. This arrangement uses an enormous about of electricity and thus releases large amounts of green house gas. Green house gas and global warming is a major problem for everyone. The first thing you can do is make sure that you are not cooling the room more than necessary. It is also a 'no brainier' to make sure the walls and ceiling of the room are well insulated.
The best thing you can do is get specialist advice on designing green computer rooms before things go in not after.
There are some innovative computer room solutions where you have the cabinets back to back with the space between them covered and a heat funnel going up and outside. In many climates you could use forced air flow from outside to make your computer room cooling air-conditioning free. Perhaps just have air-conditioning as a stand by for hot days. Perhaps you could use the heat generated in the computer room to warm the office or a swimming pool. There is much room for innovation and the environment will thank you. You will also save money on electricity.
Consult with a specialist engineer in the design of your computer room. This should pay for its self many times over in electricity consumption and in time you will be made to do it when the directors have to pay for green house gas credits.
The virtualisation of servers also helps towards 'green computing'.
HP
Blades
HP
DL360
Please peer review this site. I value your feedback. If you have any questions or comments about any area of this web site please e-mail. Thanks and abuse are equally welcome.
Copyright © 2007, 2008, 2009 Mark Ellis www.citrixexpert.com.au info@digitalharmony.com.au