Current and Future Clients/Partners are Welcome.
User Persona Management - Performance Weakness
All user persona management solutions have one single point of weakness.
- They have to store user data and settings somewhere!!!!
There are two primary parts of a user persona:
- User Authored Data (Desktop, My Docs, Downloads...) - Some times called "User Shell Folders"
- User Settings (App Data - INI Files, Cache, History... Registry Settings...)
Depending on your persona management solution this data could be in a SQL database, cloud blob storage or the most common method on a Windows (CIFS) file share.
Note About Me: I have spent most of my professional career tuning applications, databases, hypervisors, remote display protocols, and storage systems. I am not an Active Directory or user persona expert but I can see what the user login process and persona management systems are doing using Stratusphere UX. I have used the information below to fix many user persona management solutions.
In this discussion I'm only going to tackle User Authored Data with Folder Redirection because this is one of the top performance issues that I have found affecting clients. Think about Desktop, My Documents and other shell folders redirected to a Windows (CIFS) file share on the network.
This topic affects user login time, application launch times/lock-ups and in many cases user desktop performance and lock-ups.
First the Basics:
- Windows File Shares: (Drive Mapping)
- User Mapped Drives - Opens 1-5 files on average per user.
- This is easy for a Windows File Servers to look up, cache and lock with file handles.
- User Mapped Drives - Opens 1-5 files on average per user.
- Persona File Shares: (Folder Redirection)
- 100's or 1,000's of desktops redirected to a Windows Server File Share.
- These shares store 20,000, 50,000, or 1 Million+ files.
- Most of the time is not the underlying disk storage.
- The Windows NTFS File System is the limiting factor.
- CPU and Memory Cache is great but the underlying file system of NTFS is the bottleneck.
- Windows DFS can help with this by sharing the load across multiple file servers. But, the number of connections, large files counts and refresh rate on a single server is still an issue for NTFS.
Think about the difference of 100 users mapping a drive share and opening 1-5 files versus a 100 user desktops being redirected to a share. The desktop is refreshed every second and this causes a massive overhead on the server network and file system that is hosting the data.
As engineers we want to see proof of this using Windows Task Manager but the data is not there.
Windows Task Manager:
- Network Performance Stats:
- Shows "Throughput" - MB/Sec
- Does NOT Show Packet I/O Rate
- On a "Persona File Server" the network "throughput" is generally low in MB/Sec but the number of packets in I/O is extremely high.
- Disk Performance Stats:
- Shows Read and Write Performance and Latency
- Does NOT Show actual IO, Cache Hit Rate or NTFS performance stats
- On a "Persona File Server" NTFS performance is key. Looking up and refreshing the desktop and other folders puts a huge load on NTFS that cannot be seen in Task Manager.
Bottom Line: Windows Task Manager will show that the machine is in good health. Without digging into low level Perfmon stats you are missing a lot of critical data.
Microsoft Windows implementation of CIFS v3, and NTFS upgrades in Windows Server 2016/2019 has helped.
There are 2 ways to solve this:
- Break the folder redirections out to multiple Windows File Servers
- Desktop redirection for users A-M go to Server A.
- Desktop redirection for users N-Z go to Server B.
- Recommend keeping the file count under 75,000 per server.
- Move the shares to a "NAS"
- NAS - Network Attached Storage - Looks Like a Windows File Share.
- NAS solutions are designed to handle millions of files with fast access.
How to test and prove this out:
- Move one user or a group of users to a new(Clean) windows file server.
- Monitor/Test their login, desktop and apps.
Note: You can tune many options on Windows file servers and there are several good articles from Microsoft that can help. I have not found any articles that address this specific issue.
If you have tuning tricks for Windows Files Servers please post them here for all to benefit from.