Citrix WEM optimizing multi-session OS machines

You could use Citrix Workspace Environment Management (WEM) for a lot of things within your Citrix Virtual Apps and Desktops (CVAD) environment(s). It’s also suitable to use for your workstations, but I don’t see that very often. I only use it for CVAD environments, which includes our own and our customer’s environments. WEM can be used On-Premises with the Current Release or used as a service using Citrix Cloud.

As more and more of our customers are looking to simplify management, including all back-end (Citrix Delivery Controllers, Storefront, WEM Infrastructure) servers, we started to migrate to Citrix Cloud. This gives the customers the possibility to use still On-Premises workloads (Virtual Apps and Desktop VM’s) but makes management of the previously mentioned back-end servers easier as Citrix manages this. Below you could see a diagram of all “Managed by Citrix” and “Managed by Customer” components.

Citrix managed or Customer managed

Multi-Session Optimization

Back in October 2020, Citrix released a new feature called “Multi-Session Optimization,” which I recently discovered when going through the WEM Administration console. Sadly this option is only available within WEM Services and not yet available with the On-Premises release. I think this is a matter of time because Citrix Cloud is always a step ahead of the On-Premises version. Citrix Docs WEM

How it works

Multi-Session Optimization can be used with a supported Multi-Session. When a user disconnects his session, the WEM agents lowers the CPU and the I/O priorities of processes or applications associated with the session. This means that the applications a user leaves active are then managed by WEM and will use fewer resources. When you have large environments with multiple disconnected sessions, users can use the resources typically used by the disconnected sessions, and then you could have more users share a VM. We have multiple environments where users don’t understand how to sign out from their session and click disconnect. This is because they were used to click the start button and then click sign out. Starting with the release of Windows 10 (same layout for Windows 2016/2019), they need to click start and then click on their user’s icon and then select “Sign Out.” We created additional Sign Out buttons for our customers that we pinned to the start menu but, the clients keep disconnecting.

To enable Multi-Session Optimization you open the Citrix WEM Administration Console from your Cloud management page and go to the System Optimization in the user interface. There you see the option Multi-Session Optimization. Now check “Enable Multi-Session Optimization” and click Apply (see image below). To make sure the Agents receive the new setting you could perform a Cache Refresh. After you enabled Multi-Session Optimization you need to monitor this in your environment and if needed you could exclude some Groups or Processes.

Enable Multi-Session Optimization

Multi-Session Optimization in action

For this article, I only used one session to test this newly discovered option, but it shows how it could save many resources if there are multiple users disconnected from the Multi-Session OS. In the first screenshot, you see an active user with all applications open and you can see that this user is using 1.4GB of memory. This is not that many, but it’s just an example.

Active Session

In the screenshot below, you can see that the user is disconnected, and as you would normally see, the memory usage keeps the same or is even higher in this example.

Disconnected Session

After one minute of waiting, the WEM agents kicks in and changes the priority of the resources associated with the disconnected session. You see that the CPU usage goes from 6.4% to 0.1%, and the memory usage goes from 1.5 GB to 262 MB. This could have a large impact if you have multiple disconnected sessions on one VM.

WEM Kicks in

I’m now going to test this in this environment and keep you updated if I have some additional recommendations that would help you keep your users have the best user experience. The need for resources management is getting even more important as users are using more and more resources, and looking at VMs in the Cloud where you pay for CPU and Memory usage this could save you money. Eventually, users need to sign out because that’s the most effective way of saving resources.

Comments

  1. Chris Marreel says:

    Hi Sjoerd, nice article about this new feature !
    I’m looking forward to a new release of the on-prem WEM to be able to have this new feature active.

    When talking about ‘normal’ Memory Optimization in WEM, do you have some best-practices ? Are there system-processes you EXCLUDE from Memory Management to have maximum system performance ?

    Greetings,
    Chris Marreel

  2. Sjoerd van den Nieuwenhof says:

    Hi Chris,

    Thanks for your response, always nice to have some feedback.
    We don’t have a basic set of processes we exclude. We look at the logging of WEM in the Event viewer and exclude the processes based on the errors.

    Regards,

    Sjoerd

Leave a Reply

Your email address will not be published. Required fields are marked *