Меню Рубрики

Windows server 2008 qos

Quality of Service (QoS) Policy

Applies to: Windows Server (Semi-Annual Channel), Windows Server 2016

You can use QoS Policy as a central point of network bandwidth management across your entire Active Directory infrastructure by creating QoS profiles, whose settings are distributed with Group Policy.

In addition to this topic, the following QoS Policy documentation is available.

QoS policies are applied to a user login session or a computer as part of a Group Policy object (GPO) that you have linked to an Active Directory container, such as a domain, site, or organizational unit (OU).

QoS traffic management occurs below the application layer, which means that your existing applications do not need to be modified to benefit from the advantages that are provided by QoS policies.

Operating Systems that Support QoS Policy

You can use QoS policy to manage bandwidth for computers or users with the following Microsoft operating systems.

  • Windows Server 2016
  • Windows 10
  • Windows Server 2012 R2
  • Windows 8.1
  • Windows Server 2012
  • Windows 8
  • Windows Server 2008 R2
  • Windows 7
  • Windows Server 2008
  • Windows Vista

Location of QoS Policy in Group Policy

In Windows Server 2016 Group Policy Management Editor, the path to QoS Policy for Computer Configuration is the following.

Default Domain Policy | Computer Configuration | Policies | Windows Settings | Policy-based QoS

This path is illustrated in the following image.

In Windows Server 2016 Group Policy Management Editor, the path to QoS Policy for User Configuration is the following.

Default Domain Policy | User Configuration | Policies | Windows Settings | Policy-based QoS

By default no QoS policies are configured.

Why Use QoS Policy?

As traffic increases on your network, it is increasingly important for you to balance network performance with the cost of service — but network traffic is not normally easy to prioritize and manage.

On your network, mission-critical and latency-sensitive applications must compete for network bandwidth against lower priority traffic. At the same time, some users and computers with specific network performance requirements might require differentiated service levels.

The challenges of providing cost-effective, predictable network performance levels often first appear over wide area network (WAN) connections or with latency-sensitive applications, like voice over IP (VoIP) and video streaming. However, the end-goal of providing predictable network service levels applies to any network environment (for example, an Enterprises’ local area network), and to more than VoIP applications, such as your company’s custom line-of-business applications.

Policy-based QoS is the network bandwidth management tool that provides you with network control — based on applications, users, and computers.

When you use QoS Policy, your applications do not need to be written for specific application programming interfaces (APIs). This gives you the ability to use QoS with existing applications. Additionally, Policy-based QoS takes advantage of your existing management infrastructure, because Policy-based QoS is built into Group Policy.

Define QoS Priority Through a Differentiated Services Code Point (DSCP)

You can create QoS policies that define network traffic priority with a Differentiated Services Code Point (DSCP) value that you assign to different types of network traffic.

The DSCP allows you to apply a value (0–63) within the Type of Service (TOS) field in an IPv4 packet’s header, and within the Traffic Class field in IPv6.

The DSCP value provides network traffic classification at the Internet Protocol (IP) level, which routers use to decide traffic queuing behavior.

For example, you can configure routers to place packets with specific DSCP values into one of three queues: high priority, best effort, or lower than best effort.

Mission-critical network traffic, which is in the high priority queue, has preference over other traffic.

Limit Network Bandwidth Use Per Application with Throttle Rate

You can also limit an application’s outbound network traffic by specifying a throttle rate in QoS Policy.

A QoS policy that defines throttling limits determines the rate of outbound network traffic. For example, to manage WAN costs, an IT department might implement a service level agreement that specifies that a file server can never provide downloads beyond a specific rate.

Use QoS Policy to Apply DSCP Values and Throttle Rates

You can also use QoS Policy to apply DSCP values and throttle rates for outbound network traffic to the following:

Sending application and directory path

Source and destination IPv4 or IPv6 addresses or address prefixes

Protocol — Transmission Control Protocol (TCP) and User Datagram Protocol (UDP)

Source and destination ports and port ranges (TCP or UDP)

Specific groups of users or computers through deployment in Group Policy

By using these controls, you can specify a QoS policy with a DSCP value of 46 for a VoIP application, enabling routers to place VoIP packets in a low-latency queue, or you can use a QoS policy to throttle a set of servers’ outbound traffic to 512 kilobytes per second (KBps) when sending from TCP port 443.

You can also apply QoS policy to a particular application that has special bandwidth requirements. For more information, see QoS Policy Scenarios.

Advantages of QoS Policy

With QoS Policy, you can configure and enforce QoS policies that cannot be configured on routers and switches. QoS Policy provides the following advantages.

Level of detail: It is difficult to create user-level QoS policies on routers or switches, especially if the user’s computer is either configured by using dynamic IP address assignment or if the computer is not connected to fixed switch or router ports, as is frequently the case with portable computers. In contrast, QoS Policy makes it easier to configure a user-level QoS policy on a domain controller and propagate the policy to the user’s computer.

Flexibility. Regardless of where or how a computer connects to the network, QoS policy is applied — the computer can connect using WiFi or Ethernet from any location. For user-level QoS policies, the QoS policy is applied on any compatible device at any location where the user logs on.

Security: If your IT department encrypts users’ traffic from end to end by using Internet Protocol security (IPsec), you cannot classify the traffic on routers based on any information above the IP layer in the packet (for example, a TCP port). However, by using QoS Policy, you can classify packets at the end device to indicate the priority of the packets in the IP header before the IP payloads are encrypted and the packets are sent.

Performance: Some QoS functions, such as throttling, are better performed when they are closer to the source. QoS Policy moves such QoS functions closest to the source.

Manageability: QoS Policy enhances network manageability in two ways:

a. Because it is based on Group Policy, you can use QoS Policy to configure and manage a set of user/computer QoS policies whenever necessary, and on one central domain-controller computer.

b. QoS Policy facilitates user/computer configuration by providing a mechanism to specify policies by Uniform Resource Locator (URL) instead of specifying policies based on the IP addresses of each of the servers where QoS policies need to be applied. For example, assume your network has a cluster of servers that share a common URL. By using QoS Policy, you can create one policy based on the common URL, instead of creating one policy for each server in the cluster, with each policy based on the IP address of each server.

For the next topic in this guide, see Getting Started with QoS Policy.

Источник

Способы ограничения скорости копирования по сети в Windows

В этой статье мы рассмотрим способы ограничения скорости передачи данных по сети с/на Windows Server 2016 и Windows 10 с помощью встроенных и сторонних средств. Как известно, что по умолчанию, приложения Windows используют сетевой интерфейс по максимуму. Это может вызвать проблемы, когда определенная задача (чаще всего это общие сетевые папки) используют всю доступную пропускную способность сетевой карты. В это случае вы можете ограничить максимальную скорость копирования файлов из сетевой папки, и предоставить пользователям других приложения гарантированные ресурсы сетевой карты.

Настройка групповой политики QoS в Windows

Вы можете управлять приоритетами трафика в Windows с помощью настроек групповой политики QoS. В этом сценарии я ограничу скорость передачи данных для всех исходящих соединений (политика будет применяться, в том числе, когда пользователи копируют файлы с вашего сервера). На основе данного примера вы сможете ограничить скорость для любого приложения, порта или сайта.

Групповые политики QoS поддерживается в:

  • Windows Server 2008 и выше
  • Windows Vista и выше

В первую очередь настройки параметры сетевой карты и убедитесь, что у вас включена опция Qos Packet Scheduler.

  1. Запустите оснастку локального редактора GPO (gpedit.msc) и перейдите в раздел Computer Configuration ->Windows Settings ->Policy-based QoS и нажмите Create new policy;
  2. Укажите имя политики, включите опцию Specify Outbound Throttle Rate и задайте ограничение скорости Throttle Rate. Это скорость в MBps/KBps (мегабайтах/килобайтах) до которой вы хотите ограничить исходящий трафик.

Настройка QoS политики в Windows завершена. Перезагружаться не надо, сразу после применения изменений скорость передачи по сети начнёт шейпиться. Обратите внимание, что Throttle Rate отображается редакторе политик в КилоБайтах, даже если вы выбрали значение 3 МБ.

Так как я выбрал все приложения и все порты, данная политика будет ограничивать максимальную скорость передачи файлов по сети до 3 Мб (в том числе при копировании файлов через File Explorer — explorer.exe).

Еще существуют Advanced QoS политики, которые доступны только в разделе конфигурации политик компьютера. Вы можете ограничить входящий TCP трафик на вкладке Inbound TCP Traffic. (Вкладка DSCP Marking Override относится к настройкам DSCP, её рассматривать мы не будем)

Как вы видите, имеются 4 уровня ограничения трафика. В следующей таблице указаны уровни и их скорости.

Inbound TCP throughput level Максимальная скорость передачи
0 64 Кб
1 256 Кб
2 1 Мб
3 16 Мб

Управление политиками QoS Windows средствами PowerShell

Для создания и управления политиками QoS можно использовать PowerShell. Например, чтобы создать политику QoS, ограничивающую пропускную способность для SMB (файлового) трафика, используйте команду:

New-NetQosPolicy -Name «SMBRestrictFileCopySpeed» -SMB -ThrottleRateActionBitsPerSecond 10MB

Чтобы вывести список примененных политик QoS на компьютере, выполните команду:
Get-NetQosPolicy

Чтобы изменить, или удалить политику QoS, используются соответственно командлеты Set-NetQosPolicy и Remove-NetQosPolicy .

Remove-NetQosPolicy -Name SMBRestrictFileCopySpeed

Set-SmbBandwidthLimit: управление пропускной способностью для SMB трафика из PowerShell

Командлет Set-SmbBandwidthLimit позволяет ограничить скорость передачи данных по SMB протоколу. Сначала нужно установить компонент Windows Server SMB Bandwidth Limit с помощью PowerShell:

Add-WindowsFeature -Name FS-SMBBW

Или можно установить его из графического Server Manager (Add Windows Feature -> SMB Bandwidth Limit).

Обычно данный модуль применяется для ограничения скорости для Hyper-V Live Migration. Например, следующая команда ограничить скорость миграции виртуальных машин до 100 Мбайт/сек.

Set-SmbBandwidthLimit -Category LiveMigration -BytesPerSecond 100MB

Вы также можете указать -Category Default для ограничения обычного трафика для передачи файлов по протоколу SMB.

Set-SmbBandwidthLimit -Category Default -BytesPerSecond 10MB

Ограничение скорости передачи файлов в Robocopy – ключ /IPG

При использовании robocopy вы также можете использовать специальный ключ, позволяющий ограничения скорости копирования/перемещения файлов по сети. Для этого используется ключ /ipg (Inter packet Gap). Этот ключ выставляет интервал между пакетами в миллисекундах и используется для снижения нагрузки на сеть при копировании по низкоскоростным каналам. Robocopy передает данные по сети блоками по 64 КБ, и таким образом, зная пропускную способность вашего канала, можно рассчитать нужное значение для /ipg , исходя из требований к ограничению скорости передачи.

Если вы не хотите углубляться в формулы, то можете использовать уже готовый калькулятор Robocopy IPG Calclator: http://www.zeda.nl/index.php/en/robocopyipgcalculator-en-2

Управление шейпингом трафика с помощью сторонних утилит

Из платных вариантов самым популярным решением для ограничения пропускной способности в Windows в зависимости от порта, приложения, назначения является программы NetLimiter, а из бесплатных TMeter Free.

Также можно отменить:

  • Glasswire – также включается в себя файервол и сетевой мониторинг;
  • NetBalancer – сетевой мониторинг и возможность настраивать правила для трафика;
  • cFosSpeed – может задать приоритет трафика для определенных приложений;
  • Net Peeker – как и Glasswire имеет функцию файервола и возможность задавать приоритеты для трафика.

С задачей ограничения скорости передачи данных по сети отлично справляются QoS политики Windows, поэтому если перед вами стоит такая задача, то политики QoS должны быть рассмотрены в первую очередь. К тому же как и любые политики, они могут быть настроены на уровне всего домена через консоль gpmc.msc.

Стороннее ПО более функционально и имеет графический интерфейс, но в большинстве случаев это платные программы.

Здрасьте !
Тема интересная, но приведите пожалуйста рабочий пример, как ограничить скорость по smb на клиентских машинах. Что-то у меня не прокатывает, указываю скорость порт, применяю политику и что скачивание что закачка идут на максималках.

И как я понял, Пош управляет только политиками созданными с помощью него же?!

Добрый день. Вы применяете политики к объектам компьютера или пользователя?
В статье есть рабочий пример.

Сразу отвечая на Ваш второй вопрос про PowerShell: тот командлет ограничивает скорость передачи по SMB, но в основном он применяется для ограничений лайв миграции Hyper-V

Вроде разобрался. Получается что через политику только исходящий трафик можно настроить ? Входящий только в адвансед по пунктам и то для всего трафика. Или ставить на сервер SMB Bandwith Limit.

Да, совершенно верно. Через QoS политики ограничивается исходящий трафик. А через advanced можно частично ограничить входящий.

Спасибо ! вроде понятно все.
К примеру мне нужно ограничить скачивание с сервера по smb на определенные подсети. Я создаю политику QoS, где указываю порт назначения 445 и подсети назначения (кстати можно ли их через запятую ? нада попробовать), скорость на какую резать. И применяю эту политику ну там по WMI фильру к серверам. Так правильно будет или можно и так <> ??

Да, всё верно. Думаю это вполне рабочий и правильный подход. На счёт можно ли через запятую — не уверен, под рукой документации нет.
Если сходу не получится, то поэкспериментируйте с параметрами политики, всё должно заработать.

Реализовывал сие еще года два назад.
Шейпил CIFS на канале между локациями.
Потом убрали и реализовали на cisco.

Есть в подчинении большая, распределенная сеть часто бывает необходимо распространить файлы на ПК, чаще всего дистрибутивы.
Использую PS-скрипт в котором провожу копирование c SMB ресурса с ограничением по скорости через Bits.
function CopyBitsCheck <
param ($path_From, $path_To, $FileNameFrom, $FileNameTo)
[bool]$inNeedCopy = $true
[bool]$bInError = $false
if ( [string]::IsNullOrEmpty($FileNameTo) )

$infullNetPath = $(Join-Path $path_From $FileNameFrom)
$infullLocalPath = $(Join-Path $path_To $FileNameTo)

if (-not $(Test-Path $path_To)) <
New-Item -Path $path_To -type directory -Force | Out-Null
>
if (Test-Path $infullNetPath) <
# доступен сетевой файл
if (Test-Path $infullLocalPath ) <
# есть локальный файл
If ( (Get-Item -Path $infullNetPath).lastWriteTime -ne (Get-Item -Path $infullLocalPath).lastWriteTime ) <
# сверяем по дате локальный и сетевой, если не совпадают
Write-Log «File $infullLocalPath exist. Date/time not compare. Need copy.» $Log
>
else <
$inNeedCopy = $false
Write-Log «File $infullLocalPath exist. Date/time compare.» $Log
>
>
if ( $inNeedCopy ) <
# Задаем политику Bits
if (! (Test-Path $RegBitsRootKey) ) <
New-Item –Path $RegBitsRootKey | Out-Null
>
New-ItemProperty -Path $RegBitsRootKey -Name ‘EnableBITSMaxBandwidth’ -PropertyType DWord -Value ‘00000001’ -Force| Out-Null
New-ItemProperty -Path $RegBitsRootKey -Name ‘MaxTransferRateOnSchedule’ -PropertyType DWord -Value $BitsSpeedWorkHours -Force| Out-Null
New-ItemProperty -Path $RegBitsRootKey -Name ‘MaxBandwidthValidFrom’ -PropertyType DWord -Value ‘8’ -Force| Out-Null
New-ItemProperty -Path $RegBitsRootKey -Name ‘MaxBandwidthValidTo’ -PropertyType DWord -Value ’22’ -Force| Out-Null # Скорость
New-ItemProperty -Path $RegBitsRootKey -Name ‘UseSystemMaximum’ -PropertyType DWord -Value ‘1’ -Force| Out-Null
New-ItemProperty -Path $RegBitsRootKey -Name ‘MaxTransferRateOffSchedule’ -PropertyType DWord -Value ‘0’ -Force| Out-Null
Restart-Service bits

Write-Log «Start copy from $infullNetPath to $infullLocalPath.» $Log
# Проверяем, есть ли задания Bits запущенное при прошлом запуске скрипта
$JobTransfer = Get-BitsTransfer |Where-Object <$PSItem.DisplayName -eq $FileNameFrom>
if ( [string]::IsNullOrEmpty($JobTransfer) ) <
# Нет задания. Запускаем асинхронно (с дозакачкой) с нормальным приоритетом с именем = имени файла.
$JobTransfer = Start-BitsTransfer -Source $infullNetPath -Destination $path_To -Priority Normal -Asynchronous -DisplayName $FileNameFrom
>
while ( $JobTransfer.jobstate.tostring() -ne ‘Transferred’ ) <
$Percent = «<0:N1>«-f ( ($JobTransfer.bytesTransferred/$JobTransfer.bytesTotal)*100 )
$NewBytesTransferred = $JobTransfer.bytesTransferred
if (![string]::IsNullOrEmpty($OldBytesTransferred) ) <
$Speed = «<0:N2>» -f $( ($NewBytesTransferred-$OldBytesTransferred)*8/1024/300) # Высчитываем сколько скачали за 5 минут байт, переводим в биты, килобиты, и делим на 300 сек, чтобы получить Kb/s
> else <
$Speed = «None»
>
Write-Log «Transfer $($FileNameFrom): status — $($JobTransfer.jobstate.tostring()), $Percent % complete, speed — $Speed Kb/s.» $Log
$OldBytesTransferred = $NewBytesTransferred
Start-Sleep 300
>
Complete-BitsTransfer -BitsJob $JobTransfer

If (-not ( Test-Path $infullLocalPath )) <
$bInError = $true
$ErrorMessage = «Bits-Transfer error»
>
>
> else <
$bInError = $true
$ErrorMessage = $error[0].Exception.Message
>

if ( $bInError ) <
Write-Log «Copy not complete. Error: $($ErrorMessage) Exit.» $Log
>

Remove-ItemProperty –Path $RegBitsRootKey -name ‘EnableBITSMaxBandwidth’
Remove-ItemProperty –Path $RegBitsRootKey -name ‘MaxTransferRateOnSchedule’
Remove-ItemProperty –Path $RegBitsRootKey -name ‘MaxBandwidthValidFrom’
Remove-ItemProperty –Path $RegBitsRootKey -name ‘MaxBandwidthValidTo’
Remove-ItemProperty –Path $RegBitsRootKey -name ‘UseSystemMaximum’
Remove-ItemProperty –Path $RegBitsRootKey -name ‘MaxTransferRateOffSchedule’

На ПК задана политика для включения бранчкеша в режиме распределенного кеша. Т.к. ПК W10 Pro, то бренчкеш работает только для файлов полученным через http (WSUS + PS-скрипты). Поэтому в планах сделать ресурс с дистрибутивами доступным через IIS с включенным бранкешем.
В итоге будет в идеальном случае: файл в удаленный офис где находятся несколько ПК скачивается 1 раз, при скачивании используется ограничение по скорости в разные часы. Если соседний ПК будет качать такой же файл, то ему его отдаст ПК находящийся в этом офисе.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Windows server 2008 enterprise x64 ключ
  • Windows server 2008 dropbox
  • Windows server 2008 dhcp server vlan
  • Windows server 2008 dhcp server dns
  • Windows server 2008 bcdedit