Skip to content

Making OneDrive home network friendly

February 21, 2016

I use Microsoft Office 365 Home for the applications and storage features. 1TB is plenty of storage to back up everything from my computers except for the source video footage. I shoot about 20-25GB of video per episode, so I archive those files on an external hard drive. This created a problem as OneDrive consumes ALL of the available network bandwidth when backing up files, to the point that it interferes with anything else on the home network, especially streaming services.

While OneDrive does not have a built-in bandwidth limiter, Windows does support outbound QoS policies that will do the trick. They aren’t well documented, so I decided to write this blog post to let you know how to use them. I did this with Windows 10, but the instructions should work all the way back to Windows XP.

Creating the QoS Policy

To create the policy, use the Windows search function to find and open the Group Policy Editor. This appears to be inside the Administrative Tools, but I couldn’t figure out how to open it that way.

Local Group Policy Editor

We want this policy to apply to the whole computer, not just the current user, so expand Computer Configuration→Windows Settings, right-click on Policy-based QoS select Create New Policy … Give the policy a name (I used OneDrive, but it doesn’t really matter), deselect Specify DSCP Value, select Specify Outbound Throttle Rate, and enter a starting value. I ended up using 224 KBps (1.8Mbps) but I will show you how to find the right value a little later. For now anything around 200 KBps will work.

Edit Policy - 1

Click Next > to go to the next screen. We only want to throttle the OneDrive application, so select Only applications with this executable name: and enter OneDrive.exe

Edit Policy - 2

All of the other defaults are correct, so keep clicking Next > and then click Finish. Now that the policy has been created, it needs to be enabled. I struggled with this next step for a while, which is one of the reasons I wrote this post.

Note: This next step requires the use of the Registry Editor, and there seems to be some unwritten rule about warning people how dangerous this is. According to Microsoft

“Using Registry Editor incorrectly can cause serious, system-wide problems that may require you to re-install Windows to correct them. Microsoft cannot guarantee that any problems resulting from the use of Registry Editor can be solved. Use this tool at your own risk.”

Now that you’ve been warned, here is what you need to do. Open the Registry editor by searching for regedit and then running it. This looks just like the File Explorer, with Computer at the root and several entries starting with HKEY. Expand HKEY_LOCAL _MACHINE, then SYSTEM, then CurrentControlSet, then Services, and finally Tcpip

Under Tcpip there needs to be an entry for QoS. Don’t be surprised if it isn’t there, for some reason it is left out by default. If it isn’t there, right-click on Tcpip and select New→Key and call the key QoS (capitalization is important for this). Select the QoS key and on the right you will see the individual key values. If you just created it then the only entry will be default. We need a Do not use NLA entry with a value of 1

Edit Policy - 3

If Do not use NLA  doesn’t exist, right-click in the right window and select New→String Value. Enter Do not use NLA for the name, then double-click it and enter 1 for the value date. If it does exist but the value is 0, double click it and enter 1 for the value data.

Restart the computer and the policy will be enabled automatically.

Fine tuning the policy

The policy that we created limits the amount of bandwidth that OneDrive can use when uploading files. Here is a quick way to fine-tune the policy to maximize the OneDrive upload speed without interfering with with streaming services.

Start by opening the group policy editor and editing the OneDrive policy that you just created. Set the Outbound Throttle Rate to 1024 KBps and click OK. This is over 8Mbps, and unless you have incredibly fast service this is like not having any throttling policy. OneDrive needs to be uploading data for this test to work so if everything is currently synchronized you can temporarily make some copies of a bunch of large files for it to upload.

Try streaming video on whatever device you use and see if the performance is bad (slow startup / low quality). If the quality is bad, cut the rate in half (from 1024 to 512, for example) and try again. The policy change takes effect almost immediately.  If the quality is still bad, cut the rate in half again (from 512 to 256, for example). Keep doing this, cutting the rate in half each time until the quality becomes good.

There should be a sudden jump from poor quality to normal at some point. At this point the problem has been solved, but if you want to do more fine tuning you can probably get better OneDrive performance with a little more tuning.

Once the streaming services are working well, not the current rate and the previous rate you tested. In my case 128 KBps worked well but 256 KBps didn’t. For the next test, put the value half way between the two (in this case that would be 192 KBps) and try it again.

Keep track of all the values in order, and whether or not they worked. If streaming worked well, increase the value by half of the difference to the next higher value, if it doesn’t reduce it by half the difference to the next lower value.You can quit at any point that the streaming services work well.

In my case I tried the following values:

  • 1024 KBps (poor streaming)
  • 512 KBps (poor streaming)
  • 256 KBps (poor streaming)
  • 128 KBps (good streaming)
  • 192 KBps (half-way between 128 and 256, good streaming)
  • 224 KBps (half way between 192 and 256, good streaming)
  • 240 KBps (half way between 224 and 256, poor streaming)

At this point I could have tried 232 KBps, but I decided that 224 was good enough and left it at that.

I hope this is of some help.

 

 

From → Computer

Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: