Sydney XenApp Projects: Chrome Browser Load

At Peninsula IT we use a mix of browsers on a day to day basis within our business – Chrome, Firefox, Internet Explorer and even Edge.  Each has their own relative strength that makes it the preferred browser in certain situations.  For example, Firefox is excellent for its handling of RSS feeds.  Chrome is fast and snappy, and its Google integration’s are often handy.  During our Citrix XenApp and XenDesktop services engagements in Sydney, we find more and more customers are using Chrome in the office, often in conjunction with Google G Suite (formally Google Apps).  Put in a simplistic way, the reason Chrome is so snappy is that it uses loads of system resources in a smart way to power that fast look and feel.  Hence, Chrome feels like it is designed for a traditional computing environment, where each system has its own onboard graphics, memory and processor – it was not designed for virtualised environments like Citrix XenApp.

In our customer engagements, we find that it is not unusual for a single user session on XenApp to consume 1.5GB or more of RAM just for the Chrome browser.  This is in addition to considerable CPU utilisation across multiple cores.  This is compounded by the fact that Citrix’s Flash redirection is not supported with Chrome, hence all rendering must occur within the user session.  The net result is that user density numbers per server are often much lower than originally forecast in the project, largely due to Chrome.

There are two ways around this problem:

Option 1:  If you don’t use Google G Suite in your business, don’t use Chrome in a XenApp deployment

Option 2:  Tune Chrome as best you can to reduce the amount of resource usage within your virtualised system

Tuning Chrome for XenApp

There seems to be “multiple sources of truth” when it comes to tuning Chrome to use less system resources, with conflicting advice even on Google’s web sites.  The core settings we always use with customers for XenApp and XenDesktop deployments are:

  • Disable Hardware Acceleration.  This setting should reduce CPU and memory use significantly:
    • Download the Google Chrome Group Policy templates from this location , and load the ADMX file into “c:\windows\policydefinitions\” and the appropriate language file into the correct location, such as “C:\Windows\PolicyDefinitions\en-US”
    • Disable this setting from within your group policy editor and apply it to your XenApp servers:  Computer Configuration > Administrative Templates > Google > Google Chrome > “Use Hardware Acceleration When Available”
  • If performance or resource utilisation is still a problem, we disable the Citrix “Video Codec” by policy which reduces the amount of processing on the XenApp server.
    • Citrix Policy:  > ICA Settings > Use video codec for compression > “Do not use video codec”
  • As a last resort, if resource utilisation still needs to come down, we reduce the frame rate of the Citrix ICA setting.  We have found that the Citrix HDX protocols have come such a long way in recent years that even when reducing the frame rate by as much as 50%, the user experience when watching video’s is still often acceptable.  Finding the right balance between frames and user experience requires testing with employees to gauge their perception of performance.
    • Citrix Policy: > ICA Settings > Target Frame Rate > 20 (example starting point only – the default is 30)

Further reading

As mentioned earlier, there are plenty of sites offering advice on turning Chrome with XenApp.  One article that sticks out is Helge Klein’s excellent analysis of multiple browsers and the impact of GPU acceleration at this link:   https://helgeklein.com/blog/2014/12/impact-gpu-acceleration-browser-cpu-usage/ .