Throttle upload bandwidth in Windows (QoS)

I have digital cable service from Time Warner. It is not the great but still decent. Currently my upload speeds are limited by Time Warner at 1Mbps. The highest I can get in my area is 5Mbps but it is costly. My point is I have an upstream problem. If I want to share files of  any sort of size, it takes forever and slows everything else down as you need both up and down to do anything on the internet.

Recently I have found a solution and it has been in Windows since Vista. Also in Win7, Win8, Server 2008 and 2008R2. Windows ships with Bandwidth throttling specifically for uploads. The following is how to set it up.

Start off by opening up the group policy editor. To do this open the start menu, type “gpedit.msc” , and hit enter. The edit should open, just navigate to “Policy-based QoS” which is found in Computer Configurations -> Windows Settings. This can also be for the user configuration too.


Right Click on “Policy-based QoS” and select “Create New Policy…” This will start the wizard.

In the following windows you can setup how and what the policy will throttle. In step 1, the policy is named and this is where the maximum outbound (upload) speed is set.


In step 2, an specific application or url can be setup to be throttled.


In step 3 the source or destination IP can be set.


And lastly in step 4, the source and/or destination port can be setup to be throttled.


For me, I can typically set limits on an application or just the computer as a whole as I have such little bandwidth to go around. This has become really useful for applications like Google Drive Sync that does not have native support for throttling bandwidth.

A side note, more and more consumer routers are able to do QoS and bandwidth management but that is a different post altogether.

EDIT: In some cases, a registry key may need to be changed in order for this to work. More info can be found at the following link.


3 Responses to “Throttle upload bandwidth in Windows (QoS)”

  1. Robin Says:

    Thank you 🙂

  2. Rene Says:

    Hey Geek!

    This was quick and easy. My ISP cable provider also has me on a 5Mbps/1Mbps basis, and Google Drive completely hogged up connection, I would be unable to resolve hosts whilst uploading to Drive.

    Your solution worked efficiently in Windows 8, followed your steps carefully and restarted Google Drive. Now I can surf the web, watch youtube videos, all of this after setting “googledrivesync.exe” to about 30% of my upload speed (300kbps) with your method.

    For others trying to attempt the same there is an application called NetLimiter which has a freeware option for throttling specific services, I haven’t tried it, but I saw it on another webpage. I prefer not installing anything when we can do it from within Windows 8.

    It’s quite a shame not being able to throttle down, in-app, the upload bandwith. Others would say, change to Dropbox bla-bla… but it is nice having all of your Google Apps wound together with the same in-house online storage, specially after being gifted 2 years of 50gb+ (With a Moto G purchase).

    Thank You!

  3. Rene Says:

    Just some thoughts to make it work if it doesn’t “out-of-the-box”:

    0. Set your DSCP Value to 10 (instead of 0), this is recommended for GDrive. What this means is that it will give Drive a lower priority than say… Skype or other outbound communications.

    1. In the policy, the bandwith setting is in “KBps”, not “kbps”, so if you have 10mbps = 1 MBps, if you have 1mbps = 100KBps. So work around your desired limit for your app, for syncing GDrive I suggest 30% or less.

    2. If after restarting Drive and your Computer you still seem to have a slow internet speed while syncing, according to the proposed by GEEK, do the following:

    Open “regedit” in RUN or search for it in Windows 8, and execute. If you need to make DSCP values to take effect add the following registry on the system:

    Create key “QoS” if it does not exist. (Right Click, create new key), we should now be in:

    Then right click and “add new string” with the following parameters:

    Type: REG_SZ
    Name: Do not use NLA
    Value: 1

    After you create the above registry key, you need to reboot the computer.
    You should be done. Worked, and tested in Win8.

Leave a Reply