我尝试使用 Win10 x64 测试 QoS 带宽限制。首先,我编写了一些代码,将大型 http 数据包发布到本地主机,并通过其进程名称限制此应用程序的带宽。限制不起作用,因为发布仍然以很快的速度进行,并且使用资源监视器我检查到上传速率非常高。我无法通过进程名称或 url 掩码来限制带宽。所以我认为也许所有这些都由于发送到本地主机而不起作用。所以我只是尝试通过其名称将 chrome.exe 进程的带宽限制为 1 kbit/s,chrome 仍然运行正常。
问题是,为什么带宽限制对自定义应用程序和 chrome.exe 都不起作用?至于自定义应用程序 - 如果我向本地主机发送数据包,它真的能起作用吗?我需要一种方法来仅使用一台物理机器来检查 QoS 策略是否有效。
gpedit.msc)我的 QoS 策略采用 tcp/udp、1 kbit/s 带宽限制、任意端口和 DCSP 值为 10:
(资源监视器)chrome.exe 处理高于 1 kbit/s(=128 字节/秒)的上传速率:
答案1
你尝试过这个吗?:https://support.microsoft.com/en-us/help/2733528/policy-based-qos-not-working-in-windows-7-clients
解决方案如果您需要让 DSCP 值在没有域访问权限的适配器上生效,则需要在系统上添加以下注册表:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\QoS
类型:REG_SZ
名称:请勿使用 NLA
值: 1
如果不存在,则创建键“QoS”。
创建上述注册表项后,您需要重新启动计算机。
我认为它曾经帮助我获得过这些注册限制,而且每次补丁更新后它都会被重置!
另外我不使用 DSCP 值,但我在 udp tcp 上都有一个特定的 .exe 目标