Latest XenApp XenDesktop bandwidth utilization tests

As many of you saw, XenApp and XenDesktop 7.17 was recently released.  And again, there are statements saying that due to optimizations in the codecs, bandwidth usage rates dropped again.

Is it just me, or does it seem like every few releases Citrix finds ways to further reduce bandwidth consumption. When 7.13 came out, there were statements saying bandwidth utilization dropped. And in 7.17, we are hearing similar remarks.

I wanted to see how true this was, so I ran my own simulations. I decided to run tests against the 7.11, 7.12, 7.13, 7.14, 7.15, 7.16 and 7.17 releases.

Bandwidth Utilization

I know, the lines do get a bit jumbled, but you can see each simulation ran similar workloads as the rises in usage all appear within similar time periods.

To make it easier to see the overall bandwidth reductions, lets switch to a bar graph.

Bandwidth Utilization

Now you can easily see 3 distinct groupings of data:

  1. Group 1: 7.11 and 7.12
  2. Group 2: 7.13-7.16
  3. Group 3: 7.17

So it is true, 7.17 further reduces bandwidth consumption.

Daniel (Follow on Twitter @djfeller)
XenApp/XenDesktop On-Prem Poster
XenApp/XenDesktop Cloud Service Poster
Citrix XenApp and XenDesktop 7.15 VDI Handbook




Local Host Cache for Citrix Cloud

One of the best practices I talk about often is “You will fail“.

I know, not a very positive message, but it is the truth… You will fail. It is only a matter of time. Those of us who are in IT know how painful it is when there is a failure. We understand all that can go wrong. And when dealing with cloud-based solutions, the concern for an outage is even more terrifying.


Probably because it is out of our control. When there is a problem, we are at the mercy of those who operate the service. But if the cloud solution is designed properly, a disruption doesn’t necessarily mean all hope is lost.

Let’s take a look at section of the XenApp and XenDesktop Service of Citrix Cloud poster where we have StoreFront and NetScaler Gateway on-prem.

What, in the diagram, catches your eye?

For me it is the many items going between the on-prem Cloud Connector and the cloud-hosted XenApp and XenDesktop service. If the connector cannot talk to the XenApp and XenDesktop service, what happens?

Well, until recently, you were out of luck.

But now, cloud connectors have local host cache functionality that can overcome cloud or WAN outages.

When the cloud connectors have access to the XenApp and XenDesktop Service, the remote broker provider handles the interactions between Citrix Cloud and the VDA/StoreFront/NetScaler instances. In addition, the Cloud Connector’s config sync service maintains a local cached database of the cloud-hosted XenApp and XenDesktop config.

When the Cloud Connector is unable to reach Citrix Cloud, the remote broker provider, which is responsible for handling interactions between Citrix cloud and the VDA/StoreFront/NetScaler, transfers brokering control to the high available service, which uses the locally cached database.

Even if the link between our resource location and Citrix Cloud is broken, users can still access their apps and desktops.

Daniel (Follow on Twitter @djfeller)
XenApp/XenDesktop On-Prem Poster
XenApp/XenDesktop Cloud Service Poster
Citrix XenApp and XenDesktop 7.15 VDI Handbook

Use Citrix Director Historical Trends

It is amazing how much data gets captured as we interact with people and things throughout the day. Do you ever look at it?

I DO! I love data. I find it fascinating to see what trends you can observe.

The other day, I was reviewing how much water we use at home. Our city tracks usage, which I can view. For the past 12 years, my water usage was 48, 59, 46, 59, 56, 55, 62, 71, 62, 69, 73, 83.

Not super helpful until we turn that data into a graph.

Two things immediately pop out:

  1. Over the past 12 years, our water usage has steadily gone up, which makes sense as my kids get older and take longer showers (I can’t even imagine what happens to this graph when they become teenagers).
  2. Three points in time, my yearly water usage dropped. Why? After a little research, I concluded that each one of those years corresponds to the year where I replaced one of our 3 toilets, which were 20+ years old. You’ve probably heard that new toilets use less water than older ones, so much so that I can see the impact on my yearly water usage. Fascinating

For XenApp and XenDesktop admins, many of you know that Director includes real-time tracking and historical usage trends. Ever wondered how you can use this capability effectively?

Let’s say you have to install a cumulative update, a security patch or an app update on a XenApp host. Are you concerned about the potential impact on the scalability of the server? You should be. Who knows what it will do to the overall user density.

Because we are unsure about the potential impact of an update, we should follow a cloud-thinking strategy with updates by using a canary model where we patch a small subset of systems first to identify any issues before rolling out to all of production servers.

Let those servers run and bake for 7 days, if possible, to gather enough real-user data to generate useful historical trends in Director.

Here I did 2 hour historical trend, and although I can see increases in RAM and CPU, the insights can get lost with all of the minor fluctuations within real user behavior.


By using a longer time period for the trend, those minor fluctuations smooth out and better insights can be gathered.

Those insights are critical to the ongoing stability of your environment. Did CPU increase/decrease? Did RAM? Did user load? If there is an increase, you need to determine if the percent increase is greater than your available extra capacity within your environment. If so, you have to allocate more resources BEFORE you roll out the update to all production servers, or else you will end up with a lack of server resources to service all of your user requests.

In the end, if you don’t plan properly, your usability gets flushed down the drain.

Daniel (Follow on Twitter @djfeller)
XenApp/XenDesktop On-Prem Poster
XenApp/XenDesktop Cloud Service Poster
Citrix XenApp and XenDesktop 7.15 VDI Handbook

XenApp and XenDesktop Service Architecture Poster

I’ve spent many years focusing on delivering applications and desktops to users with XenApp & XenDesktop.  I, like many of you, started with on-premises deployments and am witnessing a growing shift towards cloud deployments. Regardless of the reason and justification for a move to the cloud, those of us focusing on the technical aspects of such a decision need to understand how the pieces fit together.

When subscribing to the XenApp and XenDesktop Service in Citrix Cloud, I’ve asked myself the following:

  • What components do I need?
  • What deployment options do I have?
  • How will users authenticate?
  • What network ports do I need?

In fact, these questions are very similar to the ones I often hear for on-premises deployments, which was the basis for the XenApp and XenDesktop On-Premises Architecture Poster.

To help all of us techies better understand the XenApp and XenDesktop Service in Citrix Cloud, I’m happy to announce the XenApp and XenDesktop Service Architecture Poster. (PDF FILE)

Citrix Cloud - XA and XD Service Poster

And for those of you who want the original diagrams, I’ve added them into the latest revision of the Citrix Visio Stencils.

Finally, I’d like to give a huge shout out and thank you to Joel Stocker who helped me create these diagrams.

Daniel (Follow on Twitter @djfeller)
Citrix XenApp and XenDesktop 7.15 VDI Handbook










XenApp Best Practices










XenApp Video

Show window contents while dragging

Let’s test your XenApp/XenDesktop design skills.

With XenApp/XenDesktop 7.15, do you want to show window contents while dragging?

NO CHEATING! Answer before continuing

Continue reading Show window contents while dragging

Windows 10 End of Support Cycle

Let’s go through a typical conversation I end up having


Me: What version of Windows are
you using on your desktop? 

You: Windows 10

Me: What VERSION of Windows 10?

You: Do you mean Pro or Enterprise?

Me: No. What Windows 10 version
number, like a build number?

You: Build number? Who cares?
I’m no  developer. It’s just
Windows 10

Me: Au contraire mon capitan!
There are 4 different Windows 10
versions, 5 as of October 17, 2017.

You: WHAT?

Me: And the first version no longer
receives updates, with the second
version stops in October of 2017

You: Are you #$@% kidding me?

Even though Windows 10 has been available for over 2 years, many people are unaware of the servicing cycle of Windows 10, and it isn’t surprising. We’ve all been used to the Microsoft desktop OS cycle being measured in years. We would roll out Windows XP and thought nothing more about it for 5-10 years until it was time to move to Windows 7, wait 5-10 more years and move to Windows 10.

But with Microsoft turning Windows into a service, we must start measuring the Windows 10 cycle in terms of months and NOT years.  Look at the history of Windows 10.

Windows 10 Version Name Release Date Branch End of Servicing/Support Update Count
1507 Windows 10 July 29, 2015 CBB


May 9, 2017

October 13, 2020


32 and counting

1511 November Update November 12, 2015 CBB October 10, 2017 37 and counting
1607 Anniversary Update August 2, 2016 CBB


TBD (March 2018)

October 12, 2021

20 and counting

20 and counting

1703 Creator’s Update April, 11, 2017 CBB TBD (September 2018) 3 and counting
1709 Fall Creator’s Update October 17, 2017 Semi-Annual TBD (March 2019)
(TBD) 1803 March 2018 Semi-Annual TBD (September 2019)
(TBD) 1809 September 2018 Semi-Annual TBD (March 2020)
(TBD) 1903 March 2019 Semi-Annual TBD (September 2020)

For anyone using the CBB (Current Branch for Business), which is being renamed to Semi-Annual, we are able to skip 2 updates (that’s good) before reaching the end of servicing timeframe where we will no longer receive security fixes (that’s bad). And with each CBB/Semi-Annual release running on a roughly 6 month cadence (that’s good), this requires us to perform a major update every 18 months (that’s bad).

Each release provided significant improvements in the overall user experience.  We received new functionality, plugins for Edge. We had better performing apps, like Edge. We could integrate newer technologies, like IoT.  But each release changed the operating system by including new default apps, services and scheduled tasks; impacting user logon time and overall system resource consumption.

In order to follow best practices, we need to optimize appropriately to achieve the best combination of user experience and resource consumption.  Each time we have a major feature upgrade for Windows 10, we need to repeat our optimization

  1. Optimize default apps
  2. Optimize Windows services
  3. Optimize scheduled tasks
  4. Optimize user interface/runtime

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

My virtual desktop journey