Tag Archives: VMware

Your network is hurting your application experience

A few times a year I get addicted to Xbox. Once the kids go to sleep, I can easily spend hours playing Mass Effect, Fallout or Assassin’s Creed.

The games are wonderful and immersive, which is why I spent over 100 hours playing Fallout 3 and another 100+ hours in Fallout New Vegas.  Unfortunately, I’ve experienced some annoying things with these games.  I’ll be in one of the final battles of Mass Effect 3 against the Reapers when the game starts stuttering.  Do you know how hard it is to aim when the system stutters?

Game stuttering, system stuttering or application stuttering is a great way to severely hurt the user experience. How can we reduce app stutters? We need to look at the underlying reason for the stuttering and figure out how to correct.

Network latency and packet loss is a big reason why users might experience stuttering in an application. If a packet gets lost or a packet times out due to high latency, that packet must be retransmitted.  Retransmissions take time. And if you experience a lot of retransmissions, you experience a lot of application stutters.

We’ve already seen how Citrix’s Adaptive Transport impacts

  1. File Copying
  2. Video Viewing

But what does it do to the application experience? See for yourself

Daniel (Follow on Twitter @djfeller)
Citrix XenApp and XenDesktop 7.6 VDI Handbook
XenApp Best Practices
XenApp Videos





Your network is hurting your video viewing experience

I just binged watched the first season of “The Expanse”. Awesome! (BTW, the books are even better.)

I would say 90% of my TV viewing is done with streaming media either from Netflix, Amazon or my home library. Nothing is better at ruining a good viewing session than the spinning circle of oblivion as the video stream is being loaded.

Unfortunately, I had the unfortunate experience of watching that spinning circle of frustration multiple times per episode. Running an Internet speed test revealed I had plenty of bandwidth but, for some reason, my latency was through the roof (400+ms).

My solution was to reboot my cable modem and wireless access points throughout my house. This always fixes the problems. I even made it easy for my family to reboot the system when I was traveling.

What I find interesting about this experience is how latency, and not bandwidth, can impact the viewing experience of video content. Lucky for me, the solution was easy… Reboot. But what if the latency isn’t a technical challenge, but more of a physical challenge based on the location of the viewer and the location of the content?

How can we overcome poor network latency and packet loss?

In a previous video that talked about Adaptive Transport, the focus was on file copying.  The results were astounding.

The question now is, would Adaptive Transport also have an impact on the video viewing experience?

Short answer: Yes. Yes it does.

And just in case you were worried about me and my personal happiness, I did fix my home network issues by replacing my WiFi router with better WiFi access points. No more rebooting devices every 2 days.

Daniel (Follow on Twitter @djfeller)
Citrix XenApp and XenDesktop 7.6 VDI Handbook
XenApp Best Practices
XenApp Videos

True or False: Citrix Provisioning Services requires PXE

Test your Citrix knowledge…

True or False: Citrix Provisioning Services requires PXE

Answer: False

When using Provisioning Services, which is an optional component of XenDesktop, the target device utilizes a bootstrap file, which initializes the Provisioning Services stream. The target device must be able to obtain that bootstrap file, or else the stream will never begin.

Unfortunately, I still hear people saying that the only way to accomplish this is with PXE, which is incorrect.

Provisioning Services has a few different options for delivering the bootstrap file (these have been the most common approaches for many years):

  1. The DHCP Method:
    Target device boots and sends DHCP discover broadcast
    DHCP server responds with a client IP, Option 66 & 67
    Target device uses the IP and contacts the server identified in Option 66 requesting the file from option 67.
    The PVS server sends the requests bootstrap file via TFTP to the target device.
  2. The PXE Method:
    Target device boots and sends DHCP discover broadcast with Option 60 PXE Client
    DHCP server responds with IP
    PVS Servers, which are running PXE Services, respond with Boot Server
    Client uses the IP and picks one of the PVS responses and requests more information
    PVS responds with boot server/file name information
    Target device contacts the boot server and requests the file name.
    The PVS server sends the requests bootstrap file via TFTP to the target device.
  3. The Local Method: An local file is created with the Boot Device Manager, a component of Provisioning Services. The local file is the bootstrap file, which tells the target how to contact the Provisioning Services farm. It is assigned to each target device either as an ISO attached to the target deices DVD drive, a USB drive, or as a small attached virtual hard disk drive.

It is a pretty good mix of organizations opting for DHCP or Local, much less using the PXE method. Both work, but DHCP and PXE requires more integration with your current environment than the Local method.

Daniel – Lead Architect

RAM Smorgasbord

When I talk about virtual desktop specifications, we often break down our users into a few different categories (Light, Normal, Power, and Heavy). These categories correspond to the resources we allocate to the virtual desktop (assuming we are talking about the hosted VM-Based desktop model). This should be no surprise. This discussion directly relates to the resource allocation to the virtual desktops. We want to make sure we provide what the users require. No more and no less. Of course I always get the question about memory ballooning, memory overcommit, dynamic memory, etc. I briefly touched upon this in a previous article where I talked about Improper Resource Allocation as part of my Top 10 Virtual Desktop Mistakes series.

I usually recommend against these technologies for virtual desktops because we are dealing with users. Most users will slowly start to consume more RAM as the day progresses. This is because

  1. They are using more applications
  2. They are using more features within applications, think about your browser. By the end of the day, you have more tabs open than in the morning, thus consuming more RAM.
  3. The application, if closed, probably does not fully release memory.

Don’t believe me? This is a graph for my own desktop as the day progresses (I have similar ones for different days and they all look similar). As you can see I start under 2GB used but as the day goes on, I increase to about 3.5GB. You can easily see when I start new applications and close applications. But by the end of the day, I typically have 5-10 different applications open and some consume a lot of memory.

Although I like to believe that I am special, I am just like many other users (at least from desktop usage characteristics). We leave applications open. So if we over allocate RAM, we run into a major risk at the end of the day when users are trying to finish things up before they head home. There isn’t enough RAM to go around. That means we page to disk and we all know how fast disks are. We are killing the user experience because performance has gone right down the drain.

And as I am a user, I want a good experience. If I don’t get it, I will take this virtual desktop and tell you what I really think, virtually 🙂

Fun TechTalk on XenDesktop Enterprise Design

One of the best things about my position is I get to talk to a lot of smart people, do some pretty cool things (like playing around with the iPad), and constantly learn. For example, any idea why you would modify the “Maximum Transition Rate”? Do you even have an idea what it is?

I learn about all of these things every day that helps in the overall XenDesktop architecture. I’ve come to realize that building a XenDesktop environment isn’t really that hard, but if you want to do it right so that it scales and is optimized, then you might want to brush up on the best practices. And because XenDesktop can use XenServer, Hyper-V and vSphere, the list gets longer. I’ve got some new stuff and goodies to share around storage, Provisioning services, XenServer, VMware vSphere, Microsoft Hyper-V, and Windows 7.

I thought I would share some of these recommendations with you in an upcoming Ask the Architect TechTalk (aren’t I nice? 🙂 ) Here are the wonderful details:

Oh, I almost forgot, that “Maximum Transition Rate” thingy. It is for the XenDesktop controller to determine how many simultaneous desktop startups it can do. We typically recommend the following

  • XenServer: 40
  • Hyper-V: 40
  • vSphere (without DRS): 40
  • vSphere (with DRS): 20

Attend the TechTalk and you will learn why DRS number is lower as well as many other goodies.

Daniel – Lead Architect

Optimize Windows 7 Visual Effects for Virtual Desktops

Some of you might be aware, others might not.  Did you know that the mouse icon in Windows 7 (and earlier versions) has a shadow?  I bet a bunch of you are looking for it now. It is hard to see, but it is there.  Something that most people wouldn’t recognize as being on or off can have an impact on how much bandwidth is required for a virtual desktop.

Citrix XenDesktop and HDX are smart enough to not send the screen updates for the mouse image to the endpoint, instead they just send coordinates.  Saves a lot of time if you think about how many pixels the mouse takes.  But if you enable the mouse shadow (which is enabled by default), we are talking a different story.  The shadow pixel changes must be sent across the wire because it isn’t just a shadow, it is a blending with the image on the screen.  If you truly are interested in optimizing your Windows 7 desktop virtualization images, then disable the mouse shadow.

It’s pretty easy to do Continue reading Optimize Windows 7 Visual Effects for Virtual Desktops

Optimize your Virtual Desktop Image

Building a virtual desktop is simply a matter of installing the Windows operating system. Right?  Slow down… although this will work, it won’t give you the best performance and scalability.  One of the items that many people mistakenly forget to accomplish is to optimize the base operating system.  This is the 7th mistake out of the top 10 mistakes made with virtual desktops: Continue reading Optimize your Virtual Desktop Image