Windows server ftp скорость

Низкая скорость записи на FTP-сервер при выполнении скрипта, запущенного с помощью Планировщика

Низкая скорость записи
Сильно упала скорость записи, может кто то уже имел дело с подобным? Похожей темы с ответом не.

Низкая скорость записи
Купил вчера SSD: Kingston UV400 240Gb. Сегодня поставил систему и обнаружил, что у диска скорость.

Низкая скорость записи SSD
Вопрос по сабжу, помогите советом. Имеется SILICON POWER Velox V60 SP120GBSS3V60S25, 120Гб, SATA.

Низкая скорость записи/чтения
Здравствуйте, ноутбук Lenovo G510, во владении 4 года. Последнее время жд стал «тупить» при чтении.

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Низкая скорость записи на SSD
Здравствуйте. Приобрёл сегодня SSD накопитель A-DATA Ultimate SU700 ASU700SS-120GT-C, виндовс.

Низкая скорость записи на WD7500BPVT
Купил себе в качестве медиацентра IdeaCentre Q180. Внутри данного зверька сидит жесткий диск.

Низкая скорость записи на SSD
Я решил создать отдельную тему, чтобы понятно было в чем дело. Недавно я поставил в ноутбук.

Низкая скорость записи/чтения
Приветствую всех, после форматирования флэшки приходится постоянно ждать передачи файлов большое.

Windows — ограничиваем скорость копирования по сети

Как-то раз мне понадобилось по самбе с одного сервера на другой скопировать большой объём данных. Сервер просел по дискам и всё закончилось гневными криками и копирование пришлось отменить. Как же быть? Ограничиваем скорость копирования по сети встроенными средствами Windows. Для ограничения трафика используем QoS.

QoS — quality of service (качество обслуживания). Это технология предоставления различным классам трафика различных приоритетов в обслуживании.

Шейпинг (shaping traffic) — ограничение пропускной способности канала для отдельного узла сети ниже технических возможностей канала. Шейпинг обычно используется как средство ограничения максимального потребления трафика со стороны узла сети.

Первым делом заходим в свойства сетевой карты, которую будем ограничивать. Устанавливаем галку на Qos Packet Scheduler.

Далее открываем консоль Local Group Policy Editor (Редактор локальной групповой политики) или выполняем:

Заходим в Local Computer Policy > Computer Configuration > Windows Settings > Policy-based QoS.

Создаём новую политику, правой кнопкой — Create new policy. Открывается окошко создания политики.

Policy name — указываем любое.

Specify Throttle Rate — вот здесь и будем ограничивать скорость, попробуем 1024 Кб в секунду.

Переключаемся на вкладку Application Name.

Применяем политику для всех приложений — All applications. Переключаемся на вкладку IP Addresses.

Источник я не буду ограничивать — Any source IP Address. А вот получателя буду, в поле Only for the following destination IP address or prefix указываю IP адрес, на который буду закачивать данные. Переключаемся на вкладку Protocol and Ports.

Я собираюсь резать только трафик на самбу. поэтому указываю протокол TCP, и номер порта 445. OK

Собственно, всё готово. Проверяю скорость. Запускаю на копирование массив данных.

Вижу 881 KB/sec на отправителе.

Меняю в политике скорость, указываю 2048 Кб в секунду.

Нажимаю ОК и проверяю скорость.

1,14 MB/sec — скорость подросла. На получателе наблюдаю такую картину нагрузки на сеть в момент изменения политики.

Видно, что нагрузка резко выросла примерно в два раза и составляем 16,5 Мегабит в секунду. Если перевести в Мегабайты, получится 2014 Кб в секунду, почти то, что указали в политике.

Проверим ещё раз как работает изменение скорости копирования налету. Меняю в политике скорость, указываю 4096 Кб в секунду.

Нажимаю ОК и проверяю скорость.

Читайте также:  Как сделать все редакции windows

1,54 MB/sec — скорость ещё подросла. На получателе наблюдаю такую картину.

Всё работает как часы, небольшой провал не в счёт. Настройка заняла минимальное время, несколько кликов мышкой и скорость загрузки по самбе ограничена указанными вами значениями.

Как повысить скорость FTP в Windows?

Имеется Windows 7.
Файл размером 28 мб грузится на удаленный FTP-сервер стандартными средствами Windows — 2 мин. 10 сек.
Этот же файл через Total Commander (пассивный режим работы с FTP) грузится около 9 секунд.

В чем разница? Как сделать так, чтобы штатно Windows тоже грузила файл побыстрей?
Брендмаур и антивирус отключен. Windows свежая. В Total Commander внесена правка в настройки, выставлен параметр
UploadBlockSize=99999999999 Который, как я понимаю, так значительно ускоряет загрузку.

  • Вопрос задан более трёх лет назад
  • 1832 просмотра

Наводящие вопросы:
1. что есть «стандартные средства»?
2. исключено ли влияние кеша и/или наличие уже залитого файла на измерение скорости? FTP поддерживает пропуск уже существующих файлов, например. И возможно TC просто не выкачивает файл, а сверяет его размер. Потому так быстро.
3. желательно использовать бинарный режим загрузки, если файл таки бинарный. Если ответ на вопрос №1 == «ftp.exe», то перед началом выгрузки файла нужно будет выставить тот режим командой binary. Если делать это в пакетном режиме, то придется лепить небольшой скрипт, который потом скармливать ftp.exe через ключ -s. Для проверки можно это сделать и руками. Подключиться к серверу, написать binary, а потом уже put с именем файла. И замерить. У того же ftp.exe есть ключ -w, который выставляет размер окна для обмена данными с сервером. Но не уверен, что именно он влияет.

Если нужно автоматизирование, то могу порекомендовать использовать что-то из более олдскульных тулзовин типа того же wput. У него и режимы переключаются из командной строки, и фреймы, и логгирование.

Способы ограничения скорости копирования по сети в 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 раз, при скачивании используется ограничение по скорости в разные часы. Если соседний ПК будет качать такой же файл, то ему его отдаст ПК находящийся в этом офисе.

Читайте также:  Расположение автозагрузки windows 10
Оцените статью