When it comes to user profile management in remote desktop environments, everyone has an opinion — but not enough hard data. I’ve seen plenty of claims, assumptions, and “it feels faster” comments around FSLogix and Citrix Profile Containers, but few real-world benchmarks that show how they stack up side by side.
So, I decided to dig in and do the work myself.
In these series of articles, I’ll walk through a controlled head-to-head comparison of FSLogix and Citrix Profile Containers. I’ll cover my test setup, break down the performance numbers, and dive into what’s really happening under the hood. My goal isn’t just to say which is faster — it’s to help you understand why and where each solution might make sense in your environment.
Of course, every environment is unique. Different hardware, hypervisors, storage backends, and network configurations can (and will) influence results. What I’m sharing here reflects the outcomes in my test lab — your mileage may vary. But hopefully, this gives you a baseline and a deeper understanding of how each solution behaves under load.
Let’s get into it.
The architecture of this configuration is a classic file server hosting the profile containers to virtual machines hosted on a Nutanix cluster. The file server is a Supermicro SYS-5028D-TN4T running Windows Server 2022 on bare metal with a 10Gb link to all the hosts. The storage server has 3x12TB SATA drives in a StoragePool with the virtual disk hosting the profile containers set up as a mirror across all 3 drives. The virtual disk is formatted as NTFS, which does reduce the performance of the VHDX handling in Windows, but the reduction should be consistent across both FSLogix and Citrix Profile Containers.
The virtual machines where the test users logon are running Citrix Virtual Apps and Desktops 2402 LTSR on Citrix Provisioning Services 2402 LTSR. The operating system is Microsoft Windows Server 2022 with all patches applied up to August 2025.
FSLogix version tested is 3.25.626.21064 released in July 2025.
FSLogix has been configured to follow Example 1 as defined by Microsoft:
Items | Description |
Single virtual hard disk (VHD) location | The VHDLocations setting contains a single Universal Naming Convention (UNC) path to an SMB file share. |
Single container | A single profile container is created for the user. The Office Data and Files Container (ODFC) isn’t configured. |
No concurrent connections | The ProfileType setting is set to 0 or not configured. You can mount a user’s profile within only a single connection. |
No custom profile redirections | No use of the redirections.xml file. |
I did not add the Locked and Retry attempts and counters as they will not apply during this testing.
Items | Description |
InstallAppxPackages | When enabled (1), this setting reads the AppxPackages.xml manifest file from the user’s profile and installs / re-registers the list of applications. The AppxPackages.xml file can be found at: %LocalAppData%\FSLogix\AppxPackages.xml. This setting does control the global behavior in Windows for all AppX applications. This only improves functionality when used with FSLogix. |
GroupPolicyState | 1: Roam Group Policy state, provides asynchronous policy processing at sign-in. |
Items | Description |
Logging – Enabled | Enabled – All Logs |
Logging – Profile Container | Enabled |
Logging – OFDC Container | Enabled |
Logging – Network | Enabled |
Logging – AD Computer Group Process | Enabled |
Logging – Driver Interface | Enabled |
Citrix Profile Containers have been configured in accordance with the considerations in the following Citrix documentation for Citrix LTSR 2402. Citrix, starting with 2402, has added some features that look to improve logon performance with their profile container solution, and I will try and quantify what benefit this feature can give us. From working with a variety of customers, LTSR seems to be the preferred product so this blog is written for what the majority of people are using and I have not tried the current release (as of August 26, 2025)
Items | Description |
Path to user store | Lets you specify the path to the user store — the central location for Citrix user profiles. Enter an absolute UNC path or a path relative to the home directory. |
Enable Profile Container | Enabled |
Profile streaming | Enabled |
Enable Profile Management | Enabled |
Process Administrators with Citrix Profile Management | Enabled |
Sync what files or folders into the profile container | Set as an asterisks (“*”) to store all files and folders |
Items | Description |
Install Appx Packages | This setting will read the AppxPackages.xml manifest file from the user’s profile and install / re-register the list of applications |
Roam Group Policy State | Roams the users Group Policy state with their profile and allows it to be processed asynchronously |
The newest version of ControlUp’s Analyze Logon Duration now tracks Citrix Profile Container duration, but it does require additional logging to be enabled. Enable the additional log settings listed here so ControlUp can track Citrix Profile Container performance.
Items | Description |
Enable Logging | LoggingEnabled Reg_DWORD 0x1 |
Log Settings – Common Warnings | Enabled |
Log Settings – Common Information | Enabled |
Log Settings – File system notifications | Enabled |
Log Settings – File system actions | Enabled |
Log Settings – Registry actions | Enabled |
Log Settings – Registry differences at logoff | Enabled |
Log Settings – Active Directory Actions | Enabled |
Log Settings – Policy values at logon and logoff | Enabled |
Log Settings – Logon | Enabled |
Log Settings – Personalized user information | Enabled |
ControlUp has a FSLogix Log Parser that will attempt to parse the FSLogix log file specifically for that logon session. I’m happy to announce that Citrix Profile Management Log Analyzer has also been released which will scan Citrix Profile Logs for events related to the selected users logon session.
In the next article I’ll go over the technical machinations of each solution and how they operate.