First and foremost: this tuning list is my own experience and the experience of several users on the VMware forum. Your mileage may vary.
- Virtual Infrastructure 3
- Windows 2003 Std (or Enterprise) Edition R2 (x86, not x64)
- Citrix Presentation Server 4.0 (yes, I know, the old one ;))
- First this: it all depends on the applications used! Context switches is the key here...
- Use Windows 2003, not Windows 2000
- Don’t P2V your servers, but use clean templates
- Make sure the correct HAL (single or multi) is installed in the virtual machine. Otherwise, your vCPU will spike.
- Always assign 1vCPU. If necessary, add a 2nd vCPU. Do not use 4 vCPUs!
- Use 2 GB to start. Scale up to +-4 GB of vRAM if necessary
- Use 1 .vmdk for your system partition (C:\ or other remapped drive letter) and 1 separate .vmdk for your program files.
- Put the page file on the 2nd .vmdk
- Important: disconnect any .iso file in your virtual CD-Rom
- Use roaming profiles and cleanup your profiles at logoff
- Disable sound for your published apps
- Install the UPH service (download it here)
- User sessions: for me, 30 users on a VM is the sweet spot. Do not expect to get as many users on it as on a physical box!
- Scale out, not up. A major advantage of VM is to clone/NewSID/sysprep existing servers and put them into your existing Citrix farm. Just stop & disable your IMA service, clean up your RMLocalDB (if you use enterprise) and NewSid the thing. Refer to this support article for more info.
- Use dual core or quad core systems. This because ESX will have more CPU to schedule its vCPUs on.
- Don’t ever use a 2 vCPU Citrix virtual machine in a 2 pCPU physical machine!
- Do not install the memory ballooning driver while installing the VMware Tools
- Do not use a complete installation Vmware tools: there is an issue with roaming profiles and the shared folders component. See my previous article for more info.
- Disable COM ports, hyperthreading, visual effects & use speedscreen technology where possible.
- Use snapshots when installing applications or patching your servers (yes! With VMware you can do this!). In case of disaster, you can still revert to the original working server without using backups. Make sure all snapshots are removed ASAP when finished!
- Always check that there are no snapshot leftovers (f.e. the infamous _VCB-BACKUP_ when using VCB)
- Don’t forget you can use DRS rules to run your citrix servers on separate physical hosts.
- Check out this vmworld 2006 presentation
- And last but not least: do not forget to read ESX's (excellent) performance tuning white paper.