OneDrive for Business Test Sequences
The One Drive test sequences open One Drive, add or delete files to the local cache and allow it to sync to the cloud. Then we refresh the OneDrive for Business web portal to observe / confirm sync. We log metrics and performance counter data, and when the primary test sequences complete, we exit the application and stop logging. Test sequences are compiled executables that are stored on RD Session Host servers and launch from the primary and secondary workforce.
Launching Secondary User Sessions
The secondary users for the OneDrive test runs are launched automatically from a controller server (control-01) using a PowerShell script. In order for the sequences to execute successfully, IE has to be open and logged into the user’s OneDrive portal, and Explorer has to be open to the user’s OneDrive cache.
These secondary users run a continuous workload and while these workloads are running we initiate and capture the primary session. Upon completion of the test we launch a logoff script that properly logs off all secondary users.
OneDrive for Business Test Run Uber-Exes
All test sequences are combined into one long test run executable (uber-exe). In each test run, the uber-exe launches the test sequences in the primary user session and also in the secondary sessions. The way the test sequences run in the primary and secondary sessions differ in that:
- Primary user session sequences run in a predefined order, each sequence running one time and then the test ends.
- Secondary user session sequences are a combination of the primary sequences – they copy and then delete items from the local cache in order to generate background work.
The diagram below shows how the OneDrive primary and secondary uber-exes run different sequences.
Figure 1 – OneDrive test run primary and secondary workloads
Click here for descriptions of each primary and secondary test sequence used for this project.
About the OneDrive Test Runs
In order to capture any effect of “noisy neighbors” (other users working on the RD Session Host server at the same time as the primary user) we conducted multiple test runs (in Azure and on-premises):
- Baseline – no noisy neighbors
- Primary user plus 5 noisy neighbors
- Primary user plus 10 noisy neighbors
OneDrive Test Run Methodology
All users started with about 5GB of data in their OneDrive storage. In order to remove the syncing process from our tests we pre-synced all users’ OneDrive (otherwise all test run results would really be skewed by users’ performing the initial sync).
The screen capture of the primary user session shows latency at the client and multi-media performance. A frame grabber records the client screen without impacting the overall performance of a test sequence.
The primary user screen was setup as the screenshot below shows: OneDrive for Business web portal on the left, the explorer view of the local cache in the middle, a stopwatch below that, Task Manager to the right, and a PowerShell CLI on the bottom right.
Figure 2 – Primary user screen setup for the OneDrive for Business test runs
Collecting Test Data
The screen capture of the primary user session shows latency at the client as well as multimedia performance. A frame grabber records the client screen without impacting the overall performance of a test sequence. We measure logon and reconnect times by recording videos of the primary user sessions, while 0, 5, 10 and 20 secondary users are logged in at the same time.
We use the individual raw videos as the input material to create pre-defined REX Analyzer configurations in a 4-up split screen arrangement. Four different video sequences play at the same time for visual comparison. Two screen recordings showing the same sequences in two different test runs in the two upper quadrants and associated Performance Monitor counter videos in the two lower quadrants.