SMB Tuning for XenApp

Many of us who worked on XenApp servers with Windows 2000/2003 remember tuning the SMB settings of MaxMpxCt. In short, this allowed a XenApp server to make more simultaneous SMB connections to a file server. Think about it, on XenApp, you have 50-100 users making connections to a file server. The file server sees those connections coming from a single source, the XenApp server. The file server is trying to protect itself from getting slammed by a single system. Unfortunately, this slowed down user requests to the file server, thus impacting the user experience. To overcome, we would modify 4-5 different registry keys.

What should we do with Windows 2008R2 XenApp servers? What if the file server is 2003? What if it is 2008? Dan Allen, one of our Sr. Architects in Citrix Consulting, provides an awesome analysis and recommendation for these different scenarios in his post called SMB Tuning for XenApp and File Servers on Windows Server 2008. This is one you want to keep in your bag of optimizations for XenApp servers.

Daniel – Lead Architect


Windows 7 Optimization Guide for XenDesktop

If you have been following my ongoing commentary regarding Windows 7 optimizations for virtual desktops, you have probably been wondering when all of this information will be put into a document. Well, it has finally happened. Based on many of the items Citrix Consulting has identified, we have our initial Windows 7 optimization guide for virtual desktops using the hosted VM-based VDI model. You noticed that I specified which FlexCast model this is for because if you end up doing local streamed or local VM you might wish to modify certain settings for those use cases.

What you will also see is that other optimization guides probably have many, many more optimizations. Why? Most guides are looking at performance as opposed to the user experience. The settings within this guide are trying to balance the user experience with performance. Some optimizations will make the system run faster without impacting the users while other settings might improve performance might create negative perception. It is a fine line to walk and it is something each person has to determine when building their virtual desktop environment on Windows 7.

If you want the Windows 7 Optimization Guide for XenDesktop, as well as so much more, then access the XenDesktop Design Handbook.

Daniel – Lead Architect

A Server is Not a Desktop – A Desktop is Not a Server

I’ve heard this statement many times “A desktop is not a server”. Most of the time when I hear it, it is in reference to high-availability and storage. Why do we need to provide live migration for a desktop? Why do we need expensive SAN storage for a desktop? These are all true, but what about the actual desktop itself?

A desktop is not a server statement typically focuses on not doing things to a desktop that you would do to a server. But maybe we should also be saying that a server is not a desktop.  There are cases where you would do things to a desktop that you would not do to a server. On a server I really don’t care about the start menu, the themes, the backgrounds, etc. On a desktop I do. Sure I can probably squeeze out a few more processes if I disable these settings. And If I totally lock down the environment, I might even be able to get a few more desktops out of my server. But is this the right approach?

Is greater density worth a poor user experience? And a poor user experience directly relates to how productive users are. If they hate their desktop, they will complain. They will find everything wrong. They will inundate the help desk. But if we focus on the user experience, we have the opportunity to provide a better experience.

I’ve seen way to many implementations focus on density and too little focus on providing the users with a personalized environment. Sometimes, we focus too much on optimizing the infrastructure that we forget about the users. We are all users so you really need to ask yourself if disabling certain functionality would make you an unsatisfied user.

Maybe we should require people to follow certain guidelines before embarking on desktop virtualization:

  1. I will not treat the desktop like a server
  2. I will focus on the user experience and not so much on density
  3. I will give users the freedom to personalize their desktop

Ok, I know I am going too far as I have met with some organizations that do need a virtual desktop but do not require user customization. There are legitimate business cases for creating a more locked down virtualized desktop environment. But I think the user experience is a discussion that is not getting enough attention in the world of desktop virtualization. That must change.

Daniel – Lead Architect

Upcoming webinar: Virtual Desktop Design for Small Environments

Many organizations looking to implement virtual desktops are looking at fairly small deployments, fewer than 500 users. In fact, I’ve been receiving more and more questions from partners and customers asking how they can utilize XenDesktop for environments with only 50 or 100 users. Questions like:

  • What is the recommended architecture for smaller XenDesktop deployments?
  • Do I need to use all XenDesktop components?
  • Do I really need NetScaler?
  • Can I consolidate the components even more than what is detailed within the Virtual Desktops for the SMB reference design?
  • What if I already have XenApp, can I still use it?
  • Do I need XenApp?
  • Do I need shared storage?

Honestly, many of these answers come down to your tolerance for risk, what your business looks like, and what are your plans for expansion in the future. The good news is that I’m going to be talking about these topics at an upcoming Ask the Architect TechTalk focused on the small to medium business. I’m also hoping that if you attend, you too will have some additional questions that I will be able to answer within the session or afterwards.

I look forward to seeing you there at the Virtual Desktops: A Design for Small Environments on Thursday, October 21 at 10AM Eastern.

Daniel – Lead Architect

Optimize Your Virtual Desktop Recycle Bin

I’m reading more and more Windows 7 optimization guides for virtual desktops and I’m starting to believe that many people are focusing too much on scalability and too little on the user experience. I’ve spoken about people taking optimizations too far before, but this time I want to talk about one item… the Recycle Bin?

I don’t know about you, but I love the Recycle Bin. Just in case I accidently delete something, I know that I can get it back. But because many different virtual desktop implementations delete modifications upon reboot (Provisioning services included), the general recommendation is to disable this wonder feature of Windows. Think about your desktop experience. Have you ever accidently deleted a file and tried to restore it within a few minutes or hours? I have, and it saved me many times. What if I took this feature away? I don’t know about you but I would be mad as hell.

With Provisioning services, the recycle bin is cleared upon each reboot, but does that mean we shouldn’t allow users to have this functionality within their current desktop session? Unfortunately, the XenConvert optimization utility also disables the recycle bin functionality, but I typically don’t stick to the defaults. I don’t recommend it. I deselect it. And I think if you are really a desktop user and focused on the user experience, you will likely do the same.

Daniel – Lead Architect

XenDesktop Enterprise Design TechTalk Question & Answer

I recently did a TechTalk discussing XenDesktop Design topics. If you missed it, you can watch the recording. Unfortunately, I didn’t have time to answer the questions during the webinar, but I’ve gone ahead and tried to answer them here. If you have more, please let me know.


Daniel – Lead Architect

Q: Can we cover difference disks at all?

A: Difference disks are simply write cache files that are not deleted upon reboot. Sounds pretty sweet doesn’t it? There are a few concerns with doing this. The difference disk is stored on the Provisioning services server. That means you will put more stress on the PVS network and add additional latency to accessing the write cache as it must cross the network and be managed by the streaming service. Plus, as the difference disk is accessed, this will potentially utilize the Windows server’s system cache, which might un-optimize (is that a word?) the delivery of the vDisk itself (that is if you followed the RAM planning for Provisioning services).

Q: How do I get this ISO file to boot my virtual desktops with provisioning services?

A: You use Provisioning services to create the ISO file via the Boot Device Manager (BDM). You then put that ISO in your CIFS Share for XenServer, which allows your VMs to access the file. Simply select the ISO as part of your DVD Drive configuration and configure the VM’s boot order to boot via the DVD drive first.

Q: While using BDM, how can we use XD Wizard to create multiple STD desktops from a single vdisk.

A: The process is the same, except that you need to make sure your VM template that you use as part of the XD Setup Wizard is configured to boot from the DVD Drive first, and that the DVD drive is configured to use the ISO file. Then all clones will have the same settings.

Q: For mobile, the chart recommends virtual apps. What category would the iPad be classed as? What delivery method is best? I thought that giving the user a full desktop on the iPad would be beneficial.

A: It depends (remember, I’m a consultant J). If your user only needs to get to a single application, why do they need an entire desktop? However, if they need multiple applications, better off giving them the virtual desktop to allow for multi-tasking and the true desktop experience. Honestly, most iPad users will end up with a desktop as they will need more than 1 app.

Q: How can we automate creation of create one-one PVT image desktops , the way we use XD wizard for STD desktop creation

A: You might be able to still use the XD Setup wizard, but it wasn’t meant for this use case (at least in my perspective it wasn’t). In fact, if you are doing private images, you might want to rethink why you need the Provisioning services component? That will just add another layer you won’t need. You would be better off creating a Windows 7 VM. Run SysPrep. Turn it into a template. Then start cloning.

Q: How can I Assign more RAM to DOM0?

A: On XenServer, modify the /boot/extlinux.conf. We typically increase this to 2.94GB. You will see a “label xe” section and within the section is the dom0_mem= parameter. Modify that.

Q: I have a customer with a Xenserver… our application calls IE to run MS Reporting Services and we require a session associated to an IP address. How can i ensure each session has its own IP address?

A: Each virtual desktop must have its own IP address, which should be taken care of by DHCP. Now if you need to have static IP Addresses for your VMs, then you still can use DHCP, just setup static leases.

Q: Is it better to cache on the virtual desktop on a second disk like 5 gig of disk instead of on PVS ?

A: Yes, because going back to PVS adds network traffic to the PVS server (which it already has a lot of), plus the traffic goes through the PVS streaming service, which might impose latency on streams going out. Also, if the write cache is on the PVS server local disk, you won’t be able to have HA from a PVS perspective as other PVS servers don’t have access to the write cache. Finally, as PVS will have to read sections of the write cache, this will make the entire RAM planning aspect for the PVS design much more difficult as the number of write caches is an unknown. But with vDisk images, we know you need X amount of RAM per vDisk to optimize the Windows Server 2008 system cache process.

The Simplicity of your Desktop Transformation Architecture

Creating a desktop virtualization solution is not about the technology, it is about providing users with the most appropriate desktop environment based on their current situation. This is the basis for the Citrix Desktop Transformation model. Even though Citrix XenDesktop is capable of providing users with numerous virtual desktop modalities via the FlexCast Technology, we must have an architecture that is unified. We need a single environment and design that is able to meet our user virtual desktop scenarios.

We first assess our users and their needs. We look at the user environment to determine mobility, specialized hardware, high-power resources and security requirements. Once we identified our user needs, we translate those into an integrated architecture. It sounds complex, but it is actually very easy to do with XenDesktop 5. Transforming the desktop follows an architecture like the following:

We first start with three architectural layers:

  1. Control Module: Contains the controllers and infrastructure components for the architecture
  2. Imaging Module: Contains the desktop images delivered to the virtual desktop module
  3. Virtual Desktop Module: Contains multiple groups of resources for the different FlexCast modalities.

Regardless of the implementation, the underlying infrastructure does not change. The only thing that changes are the number of physical systems required to deliver the different types of desktops to the users and the different virtual desktop modules.

Some people like to believe that creating a desktop virtualization solution is an art form that requires a 100% custom architecture. With XenDesktop 5, we are able to create a solution that is based on a proven design. The uniqueness comes from the actual configuration of the desktop images through a centralized policy design, which allows for easy and manageable configurations.

This is only a start. If you want to know more about desktop virtualization and the power of Desktop Transformation, then stay tuned to the Virtualize My Desktop site.

Daniel – Lead Architect