An Independent Remote End-User Experience Performance Benchmark
Based on this Microsoft knowledge base article, “the OneDrive for Business sync app isn’t supported for client sessions that are hosted on Windows 2008 Terminal Services or Windows 2012 Remote Desktop Services (RDS).“ This is also true for RDS running on Windows Server 2016. In order to gain access to OneDrive for Business files, Remote Desktop users have to utilize a web browser.
FSLogix Office 365 Containers however, does support roaming OneDrive for Business cache. So RDS Gurus decided to test the user experience of remote desktop users working with OneDrive for Business in an RDS environment configured to use FSLogix Office 365 Containers. Like our past Outlook testing, we did this by collecting performance metrics as well as video footage of a series of RDS user sessions designed to simulate users working in OneDrive for Business.
We used the same environment and lab for these test runs as we did for our previous Outlook testing, so refer to that article for the benchmarking setup. Our test steps were also the same, except that we created test sequences and Uber-exes that ran OneDrive for Business workloads. Click here for more details about our compiled executables and how they work.
In July 2017, we conducted OneDrive test runs. For each test run we gathered and analyzed the screen videos from the primary client and the Performance Monitor data.
FSLogix Office 365 Container Works!
As Microsoft currently has no comparable supported solution for ODfB in a multi-user environment that can utilize a local cache, there is no competition here. The conclusion of our test runs is simple: FSLogix Office 365 Container works well for OneDrive for Business. The data stored in One Drive for Business’s local cache syncs to the cloud. Most importantly, because the local cache is stored in the FSLogix container, it follows the user as the user roams. Even under heavy user load, when CPU and RAM were scarce, the product works. Syncing will take longer with more concurrent user sessions all working in OneDrive, but the syncs do happen.
Internet Explorer Uses Considerable CPU
Internet Explorer (IE) was our browser of choice in our test runs. In each user session, we opened Internet Explorer. In the primary user session, we refreshed the browser so that we could see that the data sync from the client to the cloud storage occurred. IE in the secondary user sessions was not being refreshed. In the following video, we have 10 noisy neighbors. You can see IE take considerable CPU time in waves. The following video shows the on-premises 10 Noisy Neighbor run, with IE taking up resources.
We suspect that if we would have refreshed all of the secondary user sessions as well, we would see huge amounts of IE activity.
Note: Other browsers were not used in our test runs so there is no browser comparison to be made; this is only an observation about IE activity we noticed while watching Task Manager on the RDSH server while the tests were running.
OneDrive for Business is Touchy
This has nothing to do with FSLogix as far as we know, but in a handful of secondary user sessions throughout the test runs, OneDrive would stop syncing. To fix this we would have to reset OneDrive by running the following command:
We do not know why this happened, and resetting worked, but it also means that in a multi-user environment user experience will be degraded when this happens and help desk will get calls for repair.
Azure Runs Show Noticeable Windows Defender Resource Consumption
We noticed that in test runs conducted in our Azure lab, Windows Defender was doing more work and consuming more resources than in the on-premises lab. We cannot comment on why this is – we suspect that the Azure template image for Windows Server 2016 Datacenter may have some special tweaks to it, and Windows Defender “defends” more by default. To show this, we took a video of Task Manager in the 10 Noisy Neighbor Azure test run:
We compared some of the performance counters we captured for OneDrive for Business on-premises tests versus Azure test runs. We found that:
- Azure seems to send and receive more bytes over the network adapter than the on-premises runs. We don’t know why. On-screen it did not make a difference that we saw in user experience.
- Azure seemed to use a bit more CPU in each run, but again, user experience does not seem to be affected
- On-Premises runs seemed to use a bit more RAM; user experience does not seem to be affected
Use the links in the following table to see the counter comparisons.
|OneDrive for Business Test Run Performance Counter Comparisons|
|OneDrive for Business – Primary User Only – Performance Counter Comparison|
|OneDrive for Business – 5 Noisy Neighbors – Performance Counter Comparison|
|OneDrive for Business – 10 Noisy Neighbors – Performance Counter Comparison|