Поставщик дополнительного компонента контроля перегрузки windows 10

vladi105/09.01.2016, 17:46 писал: Может сбросить настройки сети к дефолтным?!

Содержание

  1. Windows 10. Отключение интернета каждые
  2. Ecn capability как отключить в windows 10
  3. Что сделать в первую очередь
  4. Нужно ли отключить защитник Windows 10
  5. Какие службы нужно отключить в windows 10
  6. Нужно ли отключать обновления Windows 10
  7. Нужно ли отключать брандмауэр Windows 10

Windows 10. Отключение интернета каждые

foto 177973

vladi105/09.01.2016, 17:46 писал: Может сбросить настройки сети к дефолтным?!

Выполните сброс параметров сетевого адаптера, маршрутов, очистке DNS и Winsock.
Отключите сетевой кабель.
Нажмите Win+X, выберите Командная строка администратор, в командной строке выполните последовательно команды:
route f
ipconfig /flushdns
netsh int ip reset
netsh int ipv4 reset
netsh int tcp reset
netsh winsock reset
Перезагрузите компьютер и настройте параметры сетевой карты.
Подключите сетевой кабель.

foto 170937

В общем моя ОС Win 10 в очередной раз обновилась, ну как сказать, прилетело обновление обновление и я обновил 🙂 И опять начались танцы с Ethernet адаптером. Он просто выключается спустя некоторое время, как только я запускаю торрент и начинаю скачивать большие файлы и при этом одновременно ползать в инете. Пробовал откатить драйвер, не помогло, переустановка тоже не помогла (хотя в прошлый раз этот вариант спас).

ax SCvIl Go

foto 32865

no avatar

foto 62819

foto 330553

Проверим глобальные настройки TCP/IP
netsh int tcp show global

Состояние разгрузки TCP Chimney : enabled
(Chimney offload State)
Все сетевые соединения обрабатываются в сетевой карте.
netsh int tcp set global chimney=enabled (disable)

Поставщик надстройки контроля перегрузки : ctcp
(Add-On Congestion Control Provider)
CTCP увеличивает темп передачи с одновременным контролем размера окна и пропускной способности.
netsh int tcp set global congestionprovider=ctcp (none, ctcp, default)

Мощность ECN : enabled
(ECN Capability)
Просто говоря заминка на маршрутизаторе, снижаем передачу (пробки на дорогах).
netsh int tcp set global ecncapability=enabled (enabled, disabled, default)

Штампы времени RFC 1323 : enabled
(RFC 1323 Timestamps)
В паре с Auto-Tuning Level, включает Window Scale (динамическое изменение размера окна приема). Windows пытается сделать размер окна наиболее разумным, учитывая задержки, помехи.

Источник

Ecn capability как отключить в windows 10

CHto nuzhno otklyuchit v Windows 10

Все пользователи должны знать, что нужно отключить в windows 10, дабы работа стала еще проще и безопаснее. На самом деле человек, работающий с Виндовс, обязательно должен настроить ОС под себя. Давайте поподробнее разберемся с теми службами, которые нужно отключить для более комфортного использования компьютера.

На данный момент операционная система Windows считается наиболее популярной среди пользователей компьютеров. Последней версий ОС является Windows 10, она более практичная и адаптивная, нежели прошлая версия.

Что сделать в первую очередь

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

Обе программы разработаны официальными партнерами Microsoft!

Нужно ли отключить защитник Windows 10

В современном компьютерном мире существует множество разных вирусов. Они могут встречаться и в скачанных файлах и на потенциально опасных сайтах. На данный момент существуют программы «Антивирусы», которые способны предупреждать об опасных файлах и сайтах, а так же находить и удалять вирусы на компьютере.

zashhitnik Windows 10

Поэтому хорошенько подумайте, нужно ли отключить защитник windows 10? Ведь без участия антивируса, устройство быстро наполнится различными вирусными файлами, которые смогут вызвать сбой системы. Если все-таки решите отключить, то рекомендуем купить лицензионный антивирус стороннего производителя. Поэтому не рекомендуется отключать защищающие программы, а наоборот установить одну, и постоянно сканировать ПК на наличие вредоносных файлов.

Какие службы нужно отключить в windows 10

Для того чтоб выявить все действующие программы, нужно одновременно нажать кнопки «Win» и «R». Данная комбинация вызывает командную строку, в которую нужно будет вписать «services.msc».

sluzhby windows 10 1

Далее на экране должен появиться список всех служб, которые есть на устройстве. Остановка или отключение службы происходит двойным кликом мыши. После отключения служб, обязательно нажимаем «Применить», иначе изменения не сохранятся.

Давайте посмотрим, какие службы нужно отключить в windows 10:

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

Нужно ли отключать обновления Windows 10

Для любого устройства обновления очень важны. Они помогают усовершенствовать программы, делая их более продвинутыми и функциональными. Но часто бывает, особенно на более устаревших моделях компьютеров, что после обновлений устройство начинает выдавать малую производительность, постоянно зависать и потреблять больше трафика.

obnovleniya Windows 10

И тут у многих стает вопрос, нужно ли отключать обновления windows 10? Конечно же, этого не рекомендуется делать, ведь без обновлений компьютер быстро устареет и не сможет выполнять некоторые функции. Но для тех пользователей, которые сильно ограничены в трафике, могут отключить обновления.

Нужно ли отключать брандмауэр Windows 10

Брандмауэр – это современный метод защиты информационных данных на компьютере. Но если вы задаетесь вопросом, нужно ли отключать брандмауэр на windows 10? То этого категорически не рекомендуется делать во всех случаях.

brandmauer Windows 10

Только если у пользователя есть аналогичная замена способа защиты информационных данных, тогда можно провести отключение.

Для отключения достаточно зайти в «Панель Управления» на своем компьютере и выбрать соответствующий пункт. После отключения не забываем нажать кнопку «Применить», дабы сохранить все изменения.

Источник

Упала скорость интернета

после перехода на Windows 7

Упала скорость интернета

qqqq1

19:58, 20.12.2009 | #16

Нет аватара

Сообщений: 2

У меня вроде бы всё в порядке, но когда поставил W7 в Авто обновлениях увидел обновления для своей сетевой карты.
Ставить не стал.
Так как у меня всего 2 мбитс падение в скорости не заметил. Страницы загружаются с той же скоростью что и на ХР, файлы также качаются.
Вывод вспомните, обновляли ли вы драйвера или нет.

mitea

21:34, 20.12.2009 | #17

Нет аватара

Сообщений: 2

Ура.Сегодня ещё раз использовал метод Drinko
Code
netsh interface tcp set global autotuninglevel=disabled
netsh interface tcp set global rss=disabled
netsh interface tcp set global ecncapability=disable
и о чудо,скорость восстановилась до уровня перед устоновкой 7,даже кажется шустрее стали загружатся страницы :).Спасибо

Fabry

15:16, 21.12.2009 | #18

Нет аватара

Сообщений: 5

Мне тоже помог метод Drinko, но у меня вопрос … при перезагружение надо опять ето делат ?

Drinko

15:42, 21.12.2009 | #19

Аватар Drinko

DG Win&Soft

Администратор

Fabry, нет.

——-

Fabry

15:45, 21.12.2009 | #20

Нет аватара

Сообщений: 5

Спасибо !!!

Valeant

16:46, 26.12.2009 | #21

Нет аватара

Сообщений: 47

Напрасно вы так сделали.

Цитата

Так как при размерах окна autotuninglevel — одно из следующих значений:
disabled: фиксация значения окна приема по умолчанию.
highlyrestricted: разрешение на увеличение окна приема относительно значения по умолчанию, но очень незначительное.
restricted: разрешение на увеличение окна приема относительно значения по умолчанию, с ограничением увеличения при некоторых сценариях.
normal: разрешение на увеличение окна приема в соответствии с требованиями большинства сценариев.
experimental: разрешение на увеличение окна приема в соответствии с требованиями экстремальных сценариев.
и rss — одно из следующих значений:
disabled: отключение масштабирования на стороне приема.
enabled : включение масштабирования на стороне приема.
default : восстановление заданного по умолчанию состояния масштабирования на стороне приема.

[cut noguest]будут ограничения по скорости работы сети, так как при размере окна приема

Цитата

RWIN is a multiple of MSS
Other RWIN values that might work well with your current MTU/MSS:
63360 (up to 2 Mbit lines, depending on latency. MSS * 44)
126720 (1-5 Mbit lines, depending on latency. MSS * 44 * 2)
253440 (2-14 Mbit lines, depending on latency. MSS * 44 * 2^2)
506880 (8-30 Mbit lines, depending on latency. MSS * 44 * 2^3)
1013760 (25-60 Mbit lines depending on latency. MSS * 44 * 2^4)

В XP и при параметре disable значения окна приема будет равно 65535 байт, и временем отклика ~200ms.
Начиная с Vista данный параметр изменен и может быть плавающим, т.е. система может сама определять его размер, в зависимости от скоростных возможностей, между сервером и клиентом, так как в данном случае подтверждается весь приемный буфер.
Но данный параметр autotuninglevel (RWIN) он работает в паре с параметром Microsoft Compound TCP (CTCP), который призван увеличить количество передаваемых за TCP-сессию данных. CTCP увеличивает темп передачи с одновременным контролем размера окна и пропускной способности. Сервер быстрее достигает максимального темпа передачи и также быстрее восстанавливается при потере пакетов.

Цитата

Поставщик надстройки контроля перегрузки : ctcp
congestionprovider — одно из следующих значений:
none: использование встроенного стандартного алгоритма контроля перегрузки.
ctcp: использование дополнительного алгоритма контроля перегрузки CTCP.
default: восстановление выбранного поставщика по умолчанию.

Так же есть еще один параметр
Поддержка Chimney-based разгрузки TCP/IP и поддержка netDMA. Chimney позволяет операционной системе переключать IP-стек на карты TOE (TCP Off-load Engine), которые аппаратным путем обрабатывают TCP/IP. Подобный подход позволяет значительно снизить нагрузку на процессор. Тоже самое касается случая масштабирования принимающей стороны, что позволит входящим пакетам распределяться по различным процессорам. NetDMA позволяет механизму DMA (Direct Memory Access), используемого в адаптере, выполнять операции копирования, снова освобождая от этой рутины центральный процессор.

Цитата

Состояние NetDMA : enabled
Прямой доступ к кэшу (DCA) : enabled

netdma — одно из следующих значений:
disabled: отключение использования NetDMA протоколом TCP/IP.
enabled : включение использования NetDMA протоколом TCP/IP.
default : восстановление состояния системы по умолчанию .

dca — одно из следующих значений:
disabled: отключение прямого доступа к кэшу при использовании NetDMA.
enabled : включение прямого доступа к кэшу при использовании NetDMA.
default : восстановление состояния системы по умолчанию.

Так что тут не все так просто, нужно найти компромисс в этих настройках.

И еще при использовании VPN вы дальше сервера VPN не попадете, т.е. это канал точка точка при котором после регистрации на сервере VPN клиент работает с интернетом только через VPN (т.е. все запросы/ответы идут через него).[/cut]

Chesi

Отредактировано Chesi03.01.2010, 08:49

08:31, 03.01.2010 | #22

Нет аватара

Сообщений: 4

Здравствуйте,нашел наконец то в инете тему на свою проблему
Установил W7 32бит Максимальная сборка 6.1.7600 , и начились проблемы.
Все способы описываемые тут не помогли=( да и случай у меня немного отличается.
Закачка с инета идет без проблем как на ХР также и сайты открываются как должны,
проблема заключается толька в онлайн играх и завышенным пингом с серваками ,
когда заходишь на какой нибудь сервак,допустим CS 1.6 с которым пинг на ХР был 15-20 , шас он 40-50 и скачет под 200причем вместе с ФПС , без потери пакетов и график в КС ведет себя странно , скрин предоставил ниже на нем вроди как пакеты передаются с задержкой?
Как уже сказал , все способы что тут указаны не помагли , сам пробывал копаца в Брендмаузере , не помогло и отрубил его , с вирусами проблем тоже нету , стоит KIS2010 который тоже не причем
Если кто знает причину проблемы , подскажите пожалуйста как ее исправить.

Вложения 
Доступны только зарегистрированным пользователям

Drinko

14:37, 03.01.2010 | #23

Аватар Drinko

DG Win&Soft

Администратор

Chesi, все вопросы по играм в этом разделе: https://pcportal.org/forum/31 wink

——-

skiper_nvp

Отредактировано skiper_nvp04.01.2010, 14:04

14:00, 04.01.2010 | #24

Нет аватара

Сообщений: 2

Drinko, Chesi писал в правильную тему. У меня аналогичная проблема инет у меня ADSL-1м/б.
На XP играю без проблем, а на 7 немогу из-за «нестабильного» пинга.
Страницы, видео и потоковое Mp3 идет без проблем а вот в играх это проявляется. В тех поддержке сказали проблема с виндой.

PS: Слышал что у Win7 ограничено число пакетов или портов.

zOn

22:01, 04.01.2010 | #25

Нет аватара

Сообщений: 46

Так и не пришли к единому мнению?
Что же надо вкл/выкл в 7ке для оптимальной скорости сети?

Valeant

Отредактировано Valeant05.01.2010, 21:28

21:27, 05.01.2010 | #26

Нет аватара

Сообщений: 47

skiper_nvp,
Для вас, чтоб ping был нормальный в интернете куча информации как раз от геймеров, поиск видите
TcpAckFrequency, TCPNoDelay

Цитата

Как это работает?
Значение TcpAckFrequency определяет частоту отправки TCP/IP подтверждающего сообщения. Если значение равно 2, TCP/IP будет отправлять подтверждение после 2 принятых сегментов или после принятия 1 сегмента и отсутствия второго сегмента на протяжении 200 миллисекунд.
Если значение равно 3, TCP/IP отправляет подтверждение после приема 3 сегментов, или после приема 1 или 2 сегментов и отсутствии последующих сегментов на протяжении 200 миллисекунд.
И так далее.
Если вам требуется сократить время ответа за счет удаления задержек отправки подтверждений TCP/IP, задайте это значение равным 1.
В таком случае TCP/IP будет немедленно отправлять подтверждение для каждого сегмента.
Если ваши соединения используются в основном для передачи крупных объемов данных и задержка в 200 миллисекунд несущественна,
имеет смысл увеличить это значение для снижения дополнительной нагрузки отправки подтверждений.
Ну а если мелкие, такие как наши пакетики ВоВ =)) то лучше поставить немедленное.
Параметр TCPNoDelay отключает алгоритм Nagl’e.
Из алгоритма следует, что в TCP соединении может присутствовать только один исходящий маленький сегмент, который еще не был подтвержден.
Следующие маленькие сегменты могут быть посланы только после того, как было получено подтверждение.
Вместо того чтобы отправляться последовательно, маленькие порции данных накапливаются и отправляются одним TCP сегментом, когда прибывает подтверждение на первый пакет.
Красота этого алгоритма заключается в том, что он сам настраивает временные характеристики:
чем быстрее придет подтверждение, тем быстрее будут отправлены данные.
В медленных глобальных сетях, где необходимо уменьшить количество маленьких пакетов, отправляется меньше сегментов.
Собственно отрубая данный алгоритм мы выигрываем в том что не тратим лишнее время на подтверждение целостности данных…
но и целостность наших данных, степень ошибок сразу встает вопросом…. глюки могут случаться чаще…
Так что используя данные настройки, мы уменьшаем реально нагрузку… увеличивая проходимость канала и следовательно «уменьшаем» задержку….
Однако при этом страдают такие вещи как скачивание фаилов, службы торрента, ДовнЛоадер вова тоже будет дольше качать патчи….
Потом мы можем терять данные (протокло TCP теряет свое основное преимущество над UDP)

skiper_nvp

19:01, 07.01.2010 | #27

Нет аватара

Сообщений: 2

Спасибо будем пробовать.

Chesi

09:54, 08.01.2010 | #28

Нет аватара

Сообщений: 4

Помогли кому нибудь эти монопуляции с риестром?

Valeant

18:19, 11.01.2010 | #29

Нет аватара

Сообщений: 47

Chesi,
Чтоб долго не ждать ответа наберите в любом поисковике

TcpAckFrequency
отключаем алгоритм Nagl’e.

alexkram

21:15, 07.05.2010 | #30

Нет аватара

Сообщений: 1

Как для Udp делать?

  • Страница 2 из 4
  • «
  • 1
  • 2
  • 3
  • 4
  • »
Windows 8.1
  • Вопросы и ответы по Windows 8.1
  • Установка Windows 8.1
  • Оформление Windows 8.1
  • Обои / Wallpapers
  • Курсоры / Cursors
Популярное
  • Цифровые лотереи и выигрыши в них
  • Где приобрести качественный силовой кабель
  • Где заказать наружную рекламу
  • Где заказать отчет SEO для вашего проекта
  • Ускоряет ли очистка компьютера от мусора или нет
  • Где заказать оборудование радиосвязи DMR
  • Где заказать проведение экспертизы смартфона или компьютера
  • Где скачать игру Counter Strike
  • PDF Converter — ваш помощник при работе с документами
  • Современный мир онлайн игр
  • Электронные компоненты в бытовой технике и их ремонт

Привет.

Сетевая подсистема в Windows NT прошла достаточно длительный путь – изначально являясь сетевой операционной системой, NT сразу ставила задачу предоставлять надежные, сбалансированные и эффективные сетевые решения.

Беда в том, что с точки зрения большинства админов под “настройкой сетевых параметров” понимаются видные глазом базовые минимальные пункты – как задание IP-адреса, маски и шлюза, а даже тот факт, что IP-адресов на интерфейсе может быть несколько, уже вызывает удивление.

Фактически же количество сетевых настроек в Windows NT достаточно велико, и, хорошо зная работу сетевой подсистемы, можно ощутимо улучшить работу ОС. И наоборот тоже. Поэтому данная статья обязательна к ознакомлению тем, кто хочет “покрутить параметры”.

Диспозиция

Я предполагаю, что Вы, товарищ читатель, знаете на приемлемом уровне протокол TCP, да и вообще протоколы сетевого и транспортного уровней. Чем лучше знаете – тем больше КПД будет от прочтения данной статьи.

Речь будет идти про настройку для ядра NT 6.1 (Windows 7 и Windows Server 2008 R2). Всякие исторические ссылки будут, но сами настройки и команды будут применимы к указанным ОС, если явно не указано иное.

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

Это – первая часть статьи. Потому что настроек достаточно много. В следующей части я расскажу про другие.

Содержание

  • Работаем с RSS
  • Работаем с CTCP
  • Работаем с NetDMA
  • Работаем с DCA
  • Работаем с ECN
  • Работаем с TCP Timestamps
  • Работаем с WSH
  • Работаем с MPP

Поехали.

Настраиваем RSS в Windows

Аббревиатура RSS обычно ассоциируется совсем с другим, нежели с настройкой TCP. Хотя, в общем, это у всех по-разному – кто-то PHP с ходу расшифровывает как Penultimate Hop Popping, а кто-то думает, что КВД – это НКВД без первой буквы. Все люди разные. Мы будем говорить про тот RSS, который Receive Side Scaling.

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

Суть-то простая, да вот в реализации столько тонкостей, что можно написать отдельную статью. Пока это не является целью, поэтому постараюсь описать оные тонкости сжато и компактно :)

Для начала необходимо, чтобы сетевая карта умела формировать вышеупомянутые очереди, и умела делать это хорошо. По сути, эта задача требует от сетевой карты функционала, отдалённо напоминающего CEF (который Cisco Express Forwarding) – коммутации 3го уровня с определением и разделением отдельных потоков пакетов. Давайте попробуем разобраться на примере, как и зачем это может работать.

Допустим, у Вас есть быстрый сетевой адаптер (например, 10Гбит), и по нему к Вам приходит много данных. И эти данные хорошо разделяются на много потоков (например, когда мы ведём вебинары, на каждого слушателя идёт почти по десятку TCP-сессий, а слушателей бывает и 40). По сути, все эти потоки данных выглядят потоками только на транспортном уровне, а на сетевом сливаются в общий поток. Это, в общем, и есть работа протоколов транспортного уровня – мультиплексировать потоки данных от различных приложений на различных хостах. Но от этого нашей принимающей стороне не легче – ведь ей надо из входящего потока сформировать:

  • Отдельные сессии TCP – т.е. для каждой поддерживать session state, буферы данных, состояние cwnd/rwnd, состояние sack’ов и ack’ов вообще
  • Отдельные буферы для каждого фрагментированного IP-пакета
  • Отдельные очереди (ведь трафик может обладать приоритетами)

И практически каждое событие во всей этой пачке сессий – это вызов прерывания и его обработка. Крайне затратно, особенно учитывая, допустим, негативный сценарий (10 гигабит поток, ip-пакеты по 1КБ). Можно даже сказать проще – ощутимое количество процентов мощности процессора (весьма дорогого, заметим) уйдёт на решение этих задач тех.обслуживания. Как с этим бороться? Да просто – пусть адаптер формирует отдельные очереди пакетов – тогда на каждую из них можно “привязать” свой процессор/ядро, и нагрузка в плане прерываний и прочего распределится. Но тут нас поджидает неочевидная проблема.

Дело в том, что просто так распределить не получится. Т.е. если мы придумаем очень простой критерий распределения (например, две очереди, четные пакеты – налево, нечетные – направо), то у нас может получиться следующая ситуация – у потоков данных часть пакетов попадёт в “четную” очередь, а часть – в “нечетную”. А в этом случае мы потеряем все возможные бонусы, возникающие при обработке непрерывного потока пакетов (обычно эти бонусы выглядят как “первый пакет обрабатываем по-полной, кэшируем все возможные результаты обработки, и все последующие пакеты обрабатываем по аналогии”). Т.е. нам надо всячески избегать ситуации, когда одному процессору придётся, обрабатывая, например, поток очень однотипных мультимедийных пакетов (какой-нибудь RTP например), пытаться “сбегать почитать” в соседнюю очередь. Скажем проще – никуда он вообще бегать тогда не будет, а придётся тогда нам выключать всяческие ускорения обработки TCP/UDP/IP-потоков, потому что работать они будут только в случае ситуации, когда весь поток однотипных пакетов обрабатывается одним ядром/процессором. А это приведёт к тому, что на процессоры придётся переводить вообще всю нагрузку по обработке сетевых данных, что с гарантией “убьёт” даже достаточно мощный CPU.

То есть, наша задача-максимум – это распределить входящие данные по нескольким отдельным очередям приёма, да так, чтобы потоки пакетов легли в очереди “целиком”, да и ещё желательно, чтобы заполнились эти очереди равномерно. Тогда мы и распределим нагрузку по процессорным ядрам, и не потеряем другие возможности по ускорению обработки потоков пакетов. Для решения этой задачи нам надо будет действовать сообща – и ОС, и оборудованию.

Хороший RSS начинается с сетевой карты. В сетевых картах, которые умеют RSS (а уже понятно, что это не карты минимального уровня), такой функционал есть – например в очень даже недорогой Intel 82576 (в моём случае – встроена в сервер) есть функционал и включения RSS сразу, и выбора количества очередей – 1, 2, 4 или 8.

Почему же количество очередей RSS будет выбираться из целочисленных степеней двойки? Тут начинается интересное, что будет роднить логику работы RSS и, допустим, логику балансировки у etherchannel.

Дело в том, что для того, чтобы определить “принадлежность” пакета к потоку, RSS использует следующую логику – берутся несколько ключевых полей пакета – SRC IP, DST IP, код протокола L4, SRC PORT, DST PORT – и от них вычисляется хэш, по последним битам которого (соответственно, для 2х очередей достаточно и одного бита, для 4х – двух, для 8 – трёх) и определяется принадлежность пакета к буферу. Соответственно, пакеты одного протокола, идущие с одного фиксированного порта и IP-адреса на другой адрес и порт, будут формировать поток и попадать в одну очередь. Такой подход достаточно быстр и прост с точки зрения балансировщика, но, как понятно, никак не решает ситуацию “Есть два стула две TCP-сессии – одна 1% канала занимает, другая 99%”. И даже не гарантирует, что обе эти сессии не попадут (с вероятностью 1/2) в одну и ту же очередь, что вообще превратит всю задачу в бессмыслицу.

Поэтому, в общем-то, остановимся на следующем факте – если у сетевой карты есть поддержка RSS, то её надо как минимум включить, чтобы первичное разделение входящего трафика на несколько очередей, притом с сохранением потоков, происходило без участия CPU.

Ну а вот дальше – уже задача операционной системы – что есть не один, а несколько потоков, и на каждый надо выделить свой процессор или ядро. Это как раз и будет тот самый RSS, который мы будем включать. Он уже будет создавать в драйвере NDIS отдельные очереди и выделять на каждую из них по процессору/ядру.

Нововведением в Windows Server 2008 R2 является то, что этим можно управлять – правда, только через реестр. В частности, управлению будут поддаваться 2 параметра – стартовое количество процессорных ядер, выделяемое для всех RSS-очередей на адаптере, и максимальное количество ядер для данной задачи. Параметры эти будут находиться по адресу HKLMSYSTEMCurrentControlSetControlClassгуид сетевого адаптераномер сетевого адаптера и называться, соответственно, *RssBaseProcNumber и *MaxRSSProcessors.

Пример использования данных параметров – допустим, у Вас есть сервер с 16 ядрами (2 процессора по 8 ядер или 4 по 4 – не суть). Есть три сетевых адаптера – один используется для управления системой, два других – для привязки к ним виртуальных машин. Вы можете выставить указанные параметры только у двух интерфейсов, на которых будет подразумеваться высокая нагрузка, притом следующим образом – поставить RssBaseProcNumber равным 2, а MaxRSSProcessors – например, 12. Тогда тот интерфейс, который будет активнее принимать трафик, сможет “отъесть” до 12 ядер системы на обработку очередей, при этом не надо будет жестко задавать этот параметр вручную (это удобно, если нагрузка переместится на другой интерфейс). Безусловно, в этом примере надо, чтобы сетевые адаптеры тоже поддерживали RSS, и, желательно, хотя бы очередей 8.

Подводя итоги – RSS – это достаточно практичная и нужная технология, требующая поддержку и со стороны оборудования, и со стороны операционной системы. И становящаяся всё более актуальной, так как на данный момент скорости сетевых интерфейсов растут, равно как и количество процессорных ядер, а, следовательно, старый подход, когда одно ядро “разгребает” единую входящую очередь, становится всё менее эффективным.

Как включить RSS в Windows

netsh interface tcp set global rss=enabled

Настраиваем логику алгоритма контроля перегрузки (CTCP) в Windows

Compound TCP – это Microsoft’овский протокол управления “окном перегрузки” (congestion window). Адресно предназначен для форсированного изменения окна при работе в сетевых средах с относительно большой задержкой (например, по WiMax или спутниковым каналам). Соответственно, не сильно полезен в сценарии широкополосного доступа в Интернет или работе по локальной сети.

По сути, всё, что он делает, это форсирует быстрое увеличение окна со стороны отправителя в случае, если обнаруживается, что сеть имеет малое время отклика, и быстро уменьшает окно в случае задержек на канале.

Как включить CTCP в Windows

netsh interface tcp set global congestionprovider=ctcp

Настраиваем использование NetDMA в Windows

NetDMA – достаточно интересная функция. Смысл её применения есть тогда, когда у Вас не поддерживается Chimney Offload и Вы хотите ускорить обработку сетевых подключений. NetDMA позволяет копировать без участия CPU данные (в общем, как и любой DMA-доступ) из приемных буферов сетевого стека сразу в буферы приложений, чем снимает с CPU данную задачу по тупому выполнению чего-то типа rep movsd.

Говоря проще, если Ваша сетевая плата не может “вытащить” на себя полную обработку TCP-соединений, то NetDMA хотя бы разгрузит процессор от самой унылой части задачи по обслуживанию сетевых соединений – копированию данных между сетевой подсистемой и использующими её приложениями.

Что нужно для включения NetDMA в Windows

Нужно оборудование, которое поддерживает NetDMA – в случае Windows это процессор с поддержкой технологий семейства Intel® I/O Acceleration Technology (I/OAT), которые, в свою очередь, входят в Intel Virtual Technology for Connectivity (VT-c). Включение NetDMA на оборудовании AMD эффекта, увы, не принесёт – не поверив, проверил на домашнем феноме 1055T – действительно, NetDMA не включается.

Как включить NetDMA в Windows

Локально:

netsh interface tcp set global netdma=enabled

Через Group Policy:

Откройте ключ HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters, создайте в нём параметр EnableTCPA вида 32bit DWORD и поставьте его в единицу

Секретный уровень

Если Вы дочитали до этого места, то дальше не читайте – опасно. Но вообще, в том же ключе – HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters – есть параметр MinPacketSizeToDma, тоже типа 32bit DWORD, который, что и логично, исходя из его названия, указывает минимальный размер пакета, для которого имеет смысл инициировать DMA-передачу. Параметр данный выставляется автоматически и его тюнинг имеет слабый практический смысл – т.е. в принципе можно представить ситуацию, когда система поставит слишком малый параметр, и будет слишком часто переключаться на DMA, а Вы это поправите вручную, но очень слабо могу представить себе КПД этой операции – выяснять сие путём достаточно кропотливых синтетических тестов, чтобы выиграть призрачные доли процента на единственной операции в единственной подсистеме, притом доли эти будут укладываться в погрешность измерений, весьма уныло.

Настраиваем использование DCA (прямого доступа к кэшу NetDMA) в Windows

По сути, Direct Cache Access – это дополнение к NetDMA, которое появляется только в NetDMA 2.0 и является опциональным (т.е. факт наличия NetDMA не говорит о том, что DCA будет работать). Задачи, которые решает DCA, просты – он “привязывает” конкретную сетевую сессию к определённому ядру процессора, и позволяет копировать данные не по трассе “сетевой интерфейс”->”оперативная память”->”кэш процессора”, а напрямую с сетевого интерфейса в кэш процессора. В ряде сценариев (быстрая сеть и много сессий и ядер CPU) выигрыш может быть ощутимым – судя по исследованиям IEEE за 2009й год, в случае загруженной на ~80% 10Gbit сети плюс 12ти ядер нагрузка CPU падает примерно на треть.

Технология работоспособна для гигабитных и более быстрых сетевых адаптеров. И, как понятно, имеет смысл только в случае, когда сетевой адаптер не умеет Chimney Offload (что, в общем-то, уже достаточно сложно – в случае наличия нагрузки, при которой DCA эффективен, обычно используются сетевые адаптеры, которые на аппаратном уровне умеют обрабатывать TCP).

Кстати, интересный момент – DCA есть в Windows Server 2008, но не работает в Vista. В NT 6.1 работает везде, включая Windows 7.

Как включить DCA в Windows

Предварительно – обязательно включить NetDMA.

Локально:

netsh interface tcp set global dca=enabled

Через Group Policy:

Откройте ключ HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters, создайте в нём параметр EnableDCA вида 32bit DWORD и поставьте его в единицу

Настраиваем уведомления о перегрузке (ECN’ы) в Windows

Технология ECN в явном виде относится и к IP, а не только к TCP, но все равно про неё стоит тут написать.

Протокол IP изначально не особо любил технологии класса Quality of Service – QOS, поэтому в заголовке IPv4 выделен байт с целью “использовать для целей управления качеством”. Притом этот байт может содержать данные в разных форматах, и то, как его интерпретировать, решает конкретный хост. Используется два возможных формата данного байта – DSCP (он же DiffServ) и IP Precedence. По умолчанию этот байт (называющийся ToS – Type of Service) обрабатывается как IP Precedence и представляет собой копию данных канального уровня (в него копируются три бита от CoS – Class of Service, которые передаются в 802.3 кадре в составе 802.1p компонента заголовка 802.1Q).

Но нас будет интересовать ситуация, когда в заголовке IP-пакета – в поле ToS, разумеется – данные интерпретируются в формате DSCP. В этом случае на номер класса трафика отдаётся 6 бит (что даёт возможность сделать в организации 2^6 = 64 класса трафика и удобно управлять приоритетами), а оставшиеся 2 бита отдаются как раз на сигнализацию о “заторах”.

Говоря проще, если у промежуточного устройства буфер пакетов близок к перегрузке, то оно сигнализирует Вам, отправляя служебный пакет на IP отправителя, что “пакеты скоро будет некуда девать и придётся их выбрасывать, притормози”. Отправляет их, выставляя как раз специфические биты в поле ToS. Соответственно, включая поддержку данной технологии, Вы будете включать и возможность генерации подобных пакетов, и возможность анализа оных.

Простейший пример ситуации, в которой это поможет – на пути Вашего трафика стоит маршрутизатор, который в Вашу сторону смотрит интерфейсом со скоростью 1 Gbit, а дальше – интерфейсом со скоростью 100 Mbit. Если Вы будете отдавать ему трафик с максимально возможной скоростью, то его очередь пакетов, пытающихся “выйти” через интерфейс со скорость 100 Mbit, очень быстро переполнится, и если он не сможет Вам об этом сказать (ну или если Вы не включите со своей стороны возможность услышать эти сообщения от него), то ему придётся просто в определённый момент перестать принимать пакеты, сбрасывая их. А это приведёт к тому, что начнётся потеря данных, которые надо будет восстанавливать – а служебный трафик при восстановлении данных достаточно значителен. Т.е. гораздо проще передать чуть медленнее, чем потерять много пакетов и выяснить это на уровне TCP-подключения, после чего запрашивать их повторно, теряя время и тратя трафик.

Кстати, проверить поддержку ECN ближайшим маршрутизатором можно бесплатной утилитой Internet Connectivity Evaluation Tool.

Как включить ECN в Windows

netsh interface tcp set global ecn=enabled

Настраиваем TCP Timestamps (по RFC 1323) в Windows

TCP Timestamps – базовая низкоуровневая технология, которая позволяет стеку TCP измерять два важных параметра для соединения: RTTM (задержку канала) и PAWS (защита от дублирующихся TCP-сегментов). В случае, если TCP Timestamps не включены хотя бы с одной стороны подключения, оба механизма вычисления этих параметров отключены и система не может высчитать данные значения. Это приводит к тому, что становится невозможным быстро и эффективно менять размер окна TCP (без знания времени задержки на канале-то). Поэтому включать TCP Timestamps в случае работы с большими объёмами данных (например, обращение к быстрому серверу в локальной сети – типовой сценарий корпоративной LAN) необходимо – ведь иначе протокол TCP не сможет быстро “раскачать” окно передачи.

Как включить TCP Timestamps в Windows

netsh interface tcp set global timestamps=enabled

Побочные эффекты включения TCP Timestamps в Windows

Практически не наблюдаются. Рост локальной загрузки CPU отсутствует, т.к. алгоритм достаточно прост, рост объёмов служебного трафика – так же (RTTM высчитывается, исходя из “времени оборота” обычных сегментов TCP, а не каких-то специальных дополнительных).

Настраиваем автоматический подбор размера окна TCP (WSH) в Windows

Данный параметр достаточно прост. Эта настройка – Window Scale Heuristic – говорит о том, будете ли Вы сами выбирать логику поведения протокола TCP для выбора размеров окна, либо отдадите это на усмотрение операционной системе.

То есть при включенном алгоритме WSH вышеупомянутый тюнинг окна TCP – выбор между disabled/highlyrestricted/restricted/normal/experiemental – будет делаться автоматически и Ваша настройка параметра autotuninglevel будет просто игнорироваться. При просмотре будет появляться служебное окно с текстом "The above autotuninglevel setting is the result of Windows Scaling heuristics overriding any local/policy configuration on at least one profile".

Как включить Window Scaling Heuristic в Windows

netsh interface tcp set heuristics wsh=enabled

Настраиваем базовую безопасность TCP (параметр Memory Pressure Protection) в Windows

Данная функция предназначена для защиты от достаточно известной атаки – локального отказа в обслуживании, вызванного тем, что удалённый атакующий инициирует множество TCP-сессий к нашей системе, система выделяет под каждую сессию буферы и оперативная память, возможно, заканчивается (ну или просто забивается до степени, когда начинается свопинг и производительность ощутимо падает.

Параметр включен по умолчанию в Windows Server 2008 R2, поэтому обычно нет смысла его настраивать, но если что – Вы можете его включить вручную. Более того, Вы можете выбрать, на каких портах эту защиту включать, а на каких – нет. Это имеет смысл, если доступны снаружи лишь некоторые порты, а не все.

Как включить Memory Pressure Protection в Windows

netsh interface tcp set security mpp=enabled

Включение MPP для отдельного порта (например, у нас наружу опубликован веб-сервер)

netsh int tcp set security startport=80 numberofports=1 mpp=enabled

Выключение MPP для всех портов, кроме указанного (например, кроме LDAP)

netsh int tcp set security startport=1 numberofports=65535 mpp=disabled
netsh int tcp set security startport=389 numberofports=1 mpp=enabled
netsh int tcp set security startport=636 numberofports=1 mpp=enabled

Дополнительно

На самом деле, можно включать или выключать MPP для протоколов IP разных версий отдельно, а не глобально для всех. Для этого будут два ключа реестра с предсказуемыми названиями:

  • HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersEnableMPP
  • HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpip6ParametersEnableMPP

Параметр EnableMPP в каждом из случаев имеет тип 32bit DWORD и ставится либо в единицу, либо в нуль.

Вместо заключения

Данный краткий обзор части возможностей настроек сетевой подсистемы Windows имеет собой цель не побудить к немедленной правке всего вышеупомянутого, а показать то, что в данной ОС присутствует достаточно много инструментов тюнинга, хорошее знание которых может очень позитивно повлиять на работу системы. Только надо учитывать, что хорошее знание – это не “какая утилитка какие ключики правит”, а в первую очередь – отличное знание базовых сетевых технологий, которое, увы, сейчас в сообществе специалистов по Windows встречается крайне редко. Но я верю, что у Вас, при надлежащем системном подходе, всё будет хорошо.

UPDATE

Написал вторую часть статьи.

Hi All!!

I have a Exchange 2013 CU13 Russian.

SCOM show me what the NetworkNetworkAdapterRssMonitor is in Unhealthy state.

RunspaceId              : 2fe298c0-d62a-4fa4-a5ad-1f20c1515ba
Server                  : mailserver
CurrentHealthSetState   : NotApplicable
Name                    : NetworkAdapterRssMonitor
TargetResource          :
HealthSetName           : Network
HealthGroupName         : KeyDependencies
AlertValue              : Unhealthy
FirstAlertObservedTime  : 06.07.2016 0:51:52
Description             :
IsHaImpacting           : False
RecurranceInterval      : 600
DefinitionCreatedTime   : 06.07.2016 11:55:20
HealthSetDescription    :
ServerComponentName     : None
LastTransitionTime      : 06.07.2016 0:51:52
LastExecutionTime       : 12.07.2016 11:38:50
LastExecutionResult     : Succeeded
ResultId                : 105322716
WorkItemId              : 329
IsStale                 : False
Error                   :
Exception               :
IsNotified              : False
LastFailedProbeId       : 82
LastFailedProbeResultId : 57282586
ServicePriority         : 2
Identity                : NetworkNetworkAdapterRssMonitor
IsValid                 : True
ObjectState             : New

Every 4 hours in EventsLog appears this error:

HealthSet Network 
Subject Состояние масштабирования сетевого адаптера на стороне приема не задано как "Включено" на сервере: MAILSERVER.

Message <b>Состояние масштабирования сетевого адаптера на стороне приема должно быть задано как "Включено". Включение RSS не устранило проблему. Сервер необходимо перезагрузить.</b> <hr /> <b>См.
 последнее сообщение об ошибке зонда:</b> {Последовательность не содержит элементов} <hr /> <b>Общее количество ошибок зонда сетевого адаптера за последние 20 минут:</b>{0} <hr />

Monitor NetworkAdapterRssMonitor 

This message tell me what the Receive Side Scaling is mast be Enable. But it is Enable already.

mailserver      NotApplicable       ActiveSync          Healthy
mailserver      NotApplicable       Compliance          Healthy
mailserver      NotApplicable       AMScanTimeout       Healthy
mailserver      NotApplicable       Autodiscover        Healthy
mailserver      NotApplicable       Autodiscover.Pro... Healthy
mailserver      NotApplicable       ActiveSync.Protocol Healthy
mailserver      NotApplicable       AMScanError         Healthy
mailserver      NotApplicable       AMMessagesDeferred  Healthy
mailserver      NotApplicable       AMADError           Healthy
mailserver      NotApplicable       AMTenantConfigError Healthy
mailserver      NotApplicable       AMService           Healthy
mailserver      Online              Autodiscover.Proxy  Healthy
mailserver      Online              ActiveSync.Proxy    Healthy
mailserver      NotApplicable       DLExpansion         Healthy
mailserver      Online              ECP.Proxy           Healthy
mailserver      NotApplicable       ECP                 Healthy
mailserver      NotApplicable       EDS                 Healthy
mailserver      NotApplicable       AD                  Healthy
mailserver      Online              EWS.Proxy           Healthy
mailserver      Online              OutlookMapiHttp.... Healthy
mailserver      Online              OAB.Proxy           Healthy
mailserver      Online              OWA.Proxy           Healthy
mailserver      Online              RPS.Proxy           Healthy
mailserver      Online              RWS.Proxy           Healthy
mailserver      Online              Outlook.Proxy       Healthy
mailserver      NotApplicable       EventAssistants     Healthy
mailserver      NotApplicable       AMScanners          Healthy
mailserver      NotApplicable       EWS.Protocol        Healthy
mailserver      Online              FrontendTransport   Healthy
mailserver      Online              HubTransport        Healthy
mailserver      NotApplicable       EWS                 Healthy
mailserver      NotApplicable       MailboxTransport    Healthy
mailserver      NotApplicable       AMEUS               Healthy
mailserver      NotApplicable       AMScannerCrash      Healthy
mailserver      NotApplicable       Monitoring          Healthy
mailserver      NotApplicable       DataProtection      Healthy
mailserver      NotApplicable       AMFMSService        Healthy
mailserver      NotApplicable       Clustering          Healthy
mailserver      NotApplicable       Search              Healthy
mailserver      Online              UM.CallRouter       Healthy
mailserver      NotApplicable       UM.Protocol         Healthy
mailserver      NotApplicable       OAB                 Healthy
mailserver      NotApplicable       EAS                 Healthy
mailserver      NotApplicable       Antimalware         Healthy
mailserver      NotApplicable       FreeBusy            Healthy
mailserver      NotApplicable       BitlockerDeployment Healthy
mailserver      NotApplicable       ClientAccess.Proxy  Healthy
mailserver      Online              Transport           Healthy
mailserver      NotApplicable       EmailManagement     Healthy
mailserver      NotApplicable       ExtendedReportWeb   Healthy
mailserver      NotApplicable       FEP                 Healthy
mailserver      NotApplicable       FfoRws              Healthy
mailserver      NotApplicable       Places              Healthy
mailserver      NotApplicable       FIPS                Healthy
mailserver      NotApplicable       RemoteMonitoring    Healthy
mailserver      NotApplicable       FfoCentralAdmin     Healthy
mailserver      NotApplicable       Inference           Healthy
mailserver      NotApplicable       OWA                 Healthy
mailserver      NotApplicable       FfoMonitoring       Healthy
mailserver      NotApplicable       OWA.Protocol.Dep    Healthy
mailserver      NotApplicable       JournalArchive      Healthy
mailserver      NotApplicable       MailboxSpace        Healthy
mailserver      NotApplicable       MailboxMigration    Healthy
mailserver      NotApplicable       Network             Unhealthy
mailserver      NotApplicable       OWA.Protocol        Healthy
mailserver      NotApplicable       Security            Healthy
mailserver      NotApplicable       UnifiedMailbox      Healthy
mailserver      NotApplicable       UnifiedGroups       Healthy
mailserver      NotApplicable       OWA.Attachments     Healthy
mailserver      NotApplicable       ProcessIsolation    Healthy
mailserver      NotApplicable       PeopleConnect       Healthy
mailserver      NotApplicable       OWA.WebServices     Healthy
mailserver      NotApplicable       HDPhoto             Healthy
mailserver      NotApplicable       HxService.Calendar  Healthy
mailserver      NotApplicable       HxService.Mail      Healthy
mailserver      NotApplicable       PublicFolders       Healthy
mailserver      NotApplicable       OWA.SuiteServices   Healthy
mailserver      NotApplicable       RemoteStore         Healthy
mailserver      NotApplicable       RPS                 Healthy
mailserver      NotApplicable       OutlookMapiHttp     Healthy
mailserver      NotApplicable       OutlookMapiHttp.... Healthy
mailserver      NotApplicable       Outlook.Protocol    Healthy
mailserver      NotApplicable       Outlook             Healthy
mailserver      NotApplicable       AntiSpam            Healthy
mailserver      NotApplicable       IMAP.Protocol       Healthy
mailserver      NotApplicable       CentralAdmin        Healthy
mailserver      NotApplicable       Datamining          Healthy
mailserver      NotApplicable       Store               Healthy
mailserver      NotApplicable       SiteMailbox         Healthy
mailserver      NotApplicable       Provisioning        Healthy
mailserver      NotApplicable       POP.Protocol        Healthy
mailserver      Online              SharedCache         Healthy
mailserver      NotApplicable       UserThrottling      Healthy
mailserver      NotApplicable       DAL                 Healthy
mailserver      NotApplicable       FfoUcc              Healthy
mailserver      NotApplicable       E4E                 Healthy
mailserver      NotApplicable       Calendaring         Healthy
mailserver      NotApplicable       Psws                Healthy
mailserver      NotApplicable       PushNotification... Healthy
mailserver      NotApplicable       MessageTracing      Healthy
mailserver      NotApplicable       MRS                 Healthy
mailserver      NotApplicable       OfficeGraph         Healthy
mailserver      NotApplicable       IMAP                Healthy
mailserver      NotApplicable       POP                 Healthy
mailserver      NotApplicable       PushNotifications   Healthy
mailserver      NotApplicable       StreamingOptics     Healthy
mailserver      NotApplicable       TimeBasedAssistants Healthy
mailserver      NotApplicable       TransportSync       Healthy
mailserver      NotApplicable       UnifiedPolicy       Healthy
mailserver      NotApplicable       FfoWebService       Healthy
mailserver      NotApplicable       FfoWebstore         Healthy
mailserver      Online              IMAP.Proxy          Healthy
mailserver      Online              POP.Proxy           Healthy
Get-ServerHealth mailserver | ?{$_.HealthSetName -eq "Network"} | ft Name, TargetResource, HealthSetName, AlertValue

DnsHostRecordMonitor                 Network             Healthy
NetworkAdapterMonitor                Network             Healthy
NetworkAdapterRssMonitor             Network             Unhealthy
MaintenanceFailureMonitor....        Network             Healthy
MaintenanceTimeoutMonitor....        Network             Healthy

Invoke-MonitoringProbe NetworkNetworkAdapterRssProbe -server mailserver | fl
ПРЕДУПРЕЖДЕНИЕ: PopulateDefinition is not implemented for WorkItem 'Microsoft.Exchange.Monitoring.ActiveMonitoring.Local.Components.Network.Probes.NetworkAdapterRssProbe'

In EventLog I found this error:

ResultId 57327801 
 
   ServiceName Network 
 
   IsNotified 0 
 
   ResultName NetworkAdapterRssProbe 
 
   WorkItemId 82 
 
   DeploymentId 0 
 
   MachineName MAILSERVER
 
   Error Последовательность не содержит элементов 
 
   Exception System.InvalidOperationException: Последовательность не содержит элементов в System.Linq.Enumerable.First[TSource](IEnumerable`1 source) в Microsoft.Exchange.Monitoring.ActiveMonitoring.Local.Components.Network.Probes.NetworkAdapterRssProbe.DoWork(CancellationToken
 cancellationToken) в Microsoft.Office.Datacenter.WorkerTaskFramework.WorkItem.Execute(CancellationToken joinedToken) в Microsoft.Office.Datacenter.WorkerTaskFramework.WorkItem.<>c__DisplayClass2.<StartExecuting>b__0() в System.Threading.Tasks.Task.Execute()

 
   RetryCount 0 
 
   StateAttribute1 TCP Global Parameters could be obtained successfully. Запрос активного состояния... <br /> <br /> Глобальные параметры TCP <br /> ---------------------------------------------- <br /> Состояние масштабирования
 на стороне приема: enabled <br /> Состояние разгрузки Chimney: disabled <br /> Состояние NetDMA: disabled <br /> Прямой доступ к кэшу (DCA): disabled <br /> Уровень автонастройки окна получения: normal <br /> Поставщик
 дополнительного компонента контроля перегрузки: none <br /> Мощность ECN: enabled <br /> Метки времени RFC 1323: disabled <br /> Начальное RTO: 3000 <br /> Состояние объединения сегментов приема: enabled <br
 /> Устойчивость RTT без SACK: disabled <br /> Максимум повторных передач SYN: 2 <br /> <br /> <br /> 

 
   StateAttribute2 [null] 
 
   StateAttribute3 [null] 
 
   StateAttribute4 [null] 
 
   StateAttribute5 [null] 
 
   StateAttribute6 0 
 
   StateAttribute7 0 
 
   StateAttribute8 0 
 
   StateAttribute9 0 
 
   StateAttribute10 0 
 
   StateAttribute11 [null] 
 
   StateAttribute12 [null] 
 
   StateAttribute13 [null] 
 
   StateAttribute14 [null] 
 
   StateAttribute15 [null] 
 
   StateAttribute16 0 
 
   StateAttribute17 0 
 
   StateAttribute18 0 
 
   StateAttribute19 0 
 
   StateAttribute20 0 
 
   StateAttribute21 [null] 
 
   StateAttribute22 [null] 
 
   StateAttribute23 [null] 
 
   StateAttribute24 [null] 
 
   StateAttribute25 [null] 
 
   ResultType 4 
 
   ExecutionId 30609216 
 
   ExecutionStartTime 2016-07-12T09:08:54.4738454Z 
 
   ExecutionEndTime 2016-07-12T09:08:54.5207054Z 
 
   PoisonedCount 0 
 
   ExtensionXml [null] 
 
   SampleValue 0 
 
   ExecutionContext [null] 
 
   FailureContext [null] 
 
   FailureCategory -1 
 
   ScopeName [null] 
 
   ScopeType [null] 
 
   HealthSetName [null] 
 
   Data [null] 
 
   Version 65536 

Error: Sequence contains no elements

StateAttribute1 is a output of netsh command:

netsh interface tcp show global
Querying active state…

TCP Global Parameters
———————————————-
Receive-Side Scaling State          : enabled
Chimney Offload State               : disabled
NetDMA State                        : disabled
Direct Cache Access (DCA)           : disabled
Receive Window Auto-Tuning Level    : normal
Add-On Congestion Control Provider  : none
ECN Capability                      : enabled
RFC 1323 Timestamps                 : disabled
Initial RTO                         : 3000
Receive Segment Coalescing State    : enabled
Non Sack Rtt Resiliency             : disabled
Max SYN Retransmissions             : 2

  • Edited by

    Wednesday, July 13, 2016 6:58 AM

You can optimize TCP/IP settings in Windows 10 either manually or using a third-party app. Optimizing it can potentially improve your internet connection speed. If you’re wondering whether it’s necessary, what settings you need to change, and how, we’ll walk you through the process. But before that, let’s get some basics out of the way.

What Is TCP/IP?

TCP/IP, short for Transmission Control Protocol/Internet Protocol, is a group of communication protocols that allow network devices to communicate when they’re connected. TCP/IP is a set of rules and procedures that dictate the way data is transmitted and received over the internet.

Your computer system interacts with countless other systems on a network, but at any given point in time, only two systems can communicate with each other. For this communication to work effectively, computers need protocols.

A protocol is a set of rules that computers use for interacting with each other. TCP/IP is a standard communication protocol that allows all computers to interact, regardless of the vendor. IP (Internet Protocol) is like an address where the data is to be sent, while TCP is the method of delivering the data to that address.

TCP and IP are different things, but they’re mostly used together because they rely on each other. Think of a text message for example. An IP address is similar to your phone number; it helps determine where the data is sent. TCP is the technology that transmits the message, plays the notification tone, and allows you to read the text message.

Do You Need to Optimize TCP/IP Settings on Windows 10?

In most cases, there’s no need to optimize TCP/IP settings unless you know a setting that you want to change for a specific purpose. 

However, Windows Vista introduced a new feature called Receive Window Auto-Tuning, which monitors several parameters of the TCP including bandwidth and network delay in real-time. It determines the optimal receive window size by measuring products that delay application retrieve rates and bandwidth. Next, it tries to capitalize on the surplus bandwidth by adjusting the receive window size.

This is how the feature scales the TCP receive window to maximize network performance and throughput. Essentially, Windows added a feature to optimize TCP such that it maximizes your network speed. 

That said, there are still a few cases where manual optimization may be warranted. For instance, if you’re using Windows XP or an older version of Windows, an old router or modem that doesn’t support the Auto-Tuning feature, or you want to change a specific TCP/IP setting, you’ll need to optimize TCP/IP settings manually.

How to Disable the Auto-Tuning Feature in Windows?

If you have an older version of Windows than Windows Vista or have a router that doesn’t support Auto Tuning, you can easily disable it.

Most third-party TCP optimization tools allow disabling Auto-Tuning from within their interface. However, if yours doesn’t, you can run a few commands to disable Auto-Tuning.

Start by launching the Command Prompt, and run the following commands:

  1. Check if Auto-Tuning is enabled:

netsh interface tcp show global

If Receive Window Auto-Tuning Level appears as normal, Auto-Tuning is enabled.

  1. Disable Auto-Tuning:

netsh int tcp set global autotuninglevel=disabled

At this point, you’ll have disabled Auto-Tuning. If you want to re-enable it, run the following command:

netsh int tcp set global autotuninglevel=normal

You can also disable Auto-Tuning from the Registry Editor. Press Win + R, type regedit, and press Enter. Paste the following address in the navigation bar:

HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionInternet SettingsWinHttp

You’ll need to create a new value in the WinHttp subkey. Right-click in the whitespace and select New > DWORD (32-bit) Value

Name the value TcpAutotuning. Double-click on the DWORD, insert 1 in the Value data field and select OK.

To re-enable, delete the value or set Value data to 0.

The Auto-Tuning feature and TCP/IP settings are pre-configured on Windows 10, which means they’re the same for everyone who uses Microsoft Windows unless they have changed them manually. But even people with the same operating systems can, of course, have different types of internet connections or old routers.

Internet connections may be broadband or fiber, offer different bandwidths, or have different latency. You can tweak your TCP/IP settings such that they work best for the specific characteristics of your internet connection.

If you’re tech-savvy, you can optimize TCP/IP on Windows 10 by changing Windows registry settings, or by running a combination of commands in the Command Prompt. But the process is much simpler with a third-party tool because you’ll be able to do everything using an interface and from one place.

Download TCP Optimizer

Before you can start optimizing your TCP/IP settings, you’ll need to download a third-party tool like TCP Optimizer. 

Download it, right-click on the downloaded file, and select Run as administrator.

You’ll see the interface on your screen now. 

Optimize TCP/IP 

To start, you’ll need to only insert your internet speed into the TCP Optimizer and it will optimize all settings accordingly. Set the speed to the maximum speed that your internet connection offers. This is the maximum bandwidth available, not your LAN speed. For instance, if your bandwidth is 50Mbps connection, set the speed to 50 Mbps.

Then, select Optimal from the Choose settings section at the bottom and select Apply changes.

On the window that pops up, check both boxes next to Backup and Create Log at the bottom right, and select OK.

You’ll be prompted for a reboot, click Yes. Click No if you want to reboot later. Changes are applied only after the reboot, though.

That’s it, you’re done. 

If something goes wrong, you can always revert to the default settings because TCP Optimizer automatically creates a backup of your settings before applying any changes.

If you know your way around networking and you want to change individual settings, start by selecting Custom in the Choose settings section at the bottom. Once you do this, you’ll see that all settings that were grayed out before can now be tweaked. 

Before you change any settings, make sure that you’ve selected the correct network adapter in the Network Adapter selection section.

You can then change the MTU, Congestion Control Provider, and even advanced TCP/IP parameters like QoS. But these are typically helpful when you have an exact problem you’re trying to solve and know how to solve it using these settings.

For instance, if you’re a gamer trying to optimize your internet speed, you can switch over to the Advanced Settings tab and disable the Network Throttling Index and Nagle’s algorithm. 

TCP Optimizer comes with a lot of advanced functionality, but it’s best not to tinker with those unless you know what you’re doing. Plus, applying the optimal settings using TCP Optimizer, in most cases, is more than enough to optimize your TCP/IP settings on Windows 10.

If you do mess something up, you can always apply the default Windows settings and reset TCP/IP and WINSOCK from the File menu at the top.

TCP Settings, Optimized

Optimizing TCP can be very helpful when you want to ensure high performance from your network connections. If the current settings aren’t allowing you to leverage your internet plan’s full potential, you may try optimizing TCP settings. 

Of course, it’s best to ensure that optimization is in fact warranted. For instance, it’s possible that all you need to do is improve your WiFi signal to get better internet speeds. Note that there are several other ways of improving your upload and download speeds too.

You can optimize TCP/IP settings in Windows 10 either manually or using a third-party app. Optimizing it can potentially improve your internet connection speed. If you’re wondering whether it’s necessary, what settings you need to change, and how, we’ll walk you through the process. But before that, let’s get some basics out of the way.

What Is TCP/IP?

TCP/IP, short for Transmission Control Protocol/Internet Protocol, is a group of communication protocols that allow network devices to communicate when they’re connected. TCP/IP is a set of rules and procedures that dictate the way data is transmitted and received over the internet.

Your computer system interacts with countless other systems on a network, but at any given point in time, only two systems can communicate with each other. For this communication to work effectively, computers need protocols.

A protocol is a set of rules that computers use for interacting with each other. TCP/IP is a standard communication protocol that allows all computers to interact, regardless of the vendor. IP (Internet Protocol) is like an address where the data is to be sent, while TCP is the method of delivering the data to that address.

TCP and IP are different things, but they’re mostly used together because they rely on each other. Think of a text message for example. An IP address is similar to your phone number; it helps determine where the data is sent. TCP is the technology that transmits the message, plays the notification tone, and allows you to read the text message.

Do You Need to Optimize TCP/IP Settings on Windows 10?

In most cases, there’s no need to optimize TCP/IP settings unless you know a setting that you want to change for a specific purpose. 

However, Windows Vista introduced a new feature called Receive Window Auto-Tuning, which monitors several parameters of the TCP including bandwidth and network delay in real-time. It determines the optimal receive window size by measuring products that delay application retrieve rates and bandwidth. Next, it tries to capitalize on the surplus bandwidth by adjusting the receive window size.

This is how the feature scales the TCP receive window to maximize network performance and throughput. Essentially, Windows added a feature to optimize TCP such that it maximizes your network speed. 

That said, there are still a few cases where manual optimization may be warranted. For instance, if you’re using Windows XP or an older version of Windows, an old router or modem that doesn’t support the Auto-Tuning feature, or you want to change a specific TCP/IP setting, you’ll need to optimize TCP/IP settings manually.

How to Disable the Auto-Tuning Feature in Windows?

If you have an older version of Windows than Windows Vista or have a router that doesn’t support Auto Tuning, you can easily disable it.

Most third-party TCP optimization tools allow disabling Auto-Tuning from within their interface. However, if yours doesn’t, you can run a few commands to disable Auto-Tuning.

Start by launching the Command Prompt, and run the following commands:

  1. Check if Auto-Tuning is enabled:

netsh interface tcp show global

If Receive Window Auto-Tuning Level appears as normal, Auto-Tuning is enabled.

  1. Disable Auto-Tuning:

netsh int tcp set global autotuninglevel=disabled

At this point, you’ll have disabled Auto-Tuning. If you want to re-enable it, run the following command:

netsh int tcp set global autotuninglevel=normal

You can also disable Auto-Tuning from the Registry Editor. Press Win + R, type regedit, and press Enter. Paste the following address in the navigation bar:

HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionInternet SettingsWinHttp

You’ll need to create a new value in the WinHttp subkey. Right-click in the whitespace and select New > DWORD (32-bit) Value

Name the value TcpAutotuning. Double-click on the DWORD, insert 1 in the Value data field and select OK.

To re-enable, delete the value or set Value data to 0.

The Auto-Tuning feature and TCP/IP settings are pre-configured on Windows 10, which means they’re the same for everyone who uses Microsoft Windows unless they have changed them manually. But even people with the same operating systems can, of course, have different types of internet connections or old routers.

Internet connections may be broadband or fiber, offer different bandwidths, or have different latency. You can tweak your TCP/IP settings such that they work best for the specific characteristics of your internet connection.

If you’re tech-savvy, you can optimize TCP/IP on Windows 10 by changing Windows registry settings, or by running a combination of commands in the Command Prompt. But the process is much simpler with a third-party tool because you’ll be able to do everything using an interface and from one place.

Download TCP Optimizer

Before you can start optimizing your TCP/IP settings, you’ll need to download a third-party tool like TCP Optimizer. 

Download it, right-click on the downloaded file, and select Run as administrator.

You’ll see the interface on your screen now. 

Optimize TCP/IP 

To start, you’ll need to only insert your internet speed into the TCP Optimizer and it will optimize all settings accordingly. Set the speed to the maximum speed that your internet connection offers. This is the maximum bandwidth available, not your LAN speed. For instance, if your bandwidth is 50Mbps connection, set the speed to 50 Mbps.

Then, select Optimal from the Choose settings section at the bottom and select Apply changes.

On the window that pops up, check both boxes next to Backup and Create Log at the bottom right, and select OK.

You’ll be prompted for a reboot, click Yes. Click No if you want to reboot later. Changes are applied only after the reboot, though.

That’s it, you’re done. 

If something goes wrong, you can always revert to the default settings because TCP Optimizer automatically creates a backup of your settings before applying any changes.

If you know your way around networking and you want to change individual settings, start by selecting Custom in the Choose settings section at the bottom. Once you do this, you’ll see that all settings that were grayed out before can now be tweaked. 

Before you change any settings, make sure that you’ve selected the correct network adapter in the Network Adapter selection section.

You can then change the MTU, Congestion Control Provider, and even advanced TCP/IP parameters like QoS. But these are typically helpful when you have an exact problem you’re trying to solve and know how to solve it using these settings.

For instance, if you’re a gamer trying to optimize your internet speed, you can switch over to the Advanced Settings tab and disable the Network Throttling Index and Nagle’s algorithm. 

TCP Optimizer comes with a lot of advanced functionality, but it’s best not to tinker with those unless you know what you’re doing. Plus, applying the optimal settings using TCP Optimizer, in most cases, is more than enough to optimize your TCP/IP settings on Windows 10.

If you do mess something up, you can always apply the default Windows settings and reset TCP/IP and WINSOCK from the File menu at the top.

TCP Settings, Optimized

Optimizing TCP can be very helpful when you want to ensure high performance from your network connections. If the current settings aren’t allowing you to leverage your internet plan’s full potential, you may try optimizing TCP settings. 

Of course, it’s best to ensure that optimization is in fact warranted. For instance, it’s possible that all you need to do is improve your WiFi signal to get better internet speeds. Note that there are several other ways of improving your upload and download speeds too.

Понравилась статья? Поделить с друзьями:
  • Поставщик внешней поддержки не распознан windows 10
  • Поставляются следующими операционными системами android ios windows
  • Поставить телеграм на компьютер windows 7 бесплатно
  • Поставить таймер на выключение компьютера на windows 10 через командную строку
  • Поставить стандартный просмотрщик фото в windows 10