• Страница 1 из 1
  • 1
Модератор форума: disco, vital-kotov, Vlad98  
Оптимизация TCP, Win и возможная борьба с лагами
Дата: Четверг, 17.12.2015, 21:01 | Сообщение # 1
Сообщений:35
Клан:|Gum-Gang|
Награды:1
0
  • пуск – выполнить – regedit
  • ищем там HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet \Services\Tcpip\Parameters\Interfaces
  • ищем там интерфейс, по которому у вас работает интернет, если не в курсе, то делаем следующий шаг во всех строках папки Interfaces
  • правой кнопкой в поле справа, создать параметр DWORD (битность значения не имеет), называем его TcpAckFrequency, потом правой кнопкой на нем, изменить, ставим шестнадцатеричную галочку и пишем значение 1
  • идем в HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\MSMQ\Parameters
  • в месте указанном в пункте 5 ищем TCPNoDelay, если нету создаем DWORD параметр с таким названием и присваиваем значение 1
    Если ветка, указанная в пункте 5, отсутствует, то делается следующее:
    Открываем – Пуск – Панель управления – Программы и Компоненты – (слева) Включение и отключение компонентов Windows.
    Там находим пункт – Сервер очереди сообщений Майкрософт (MSMQ), и ставим галочку напротив него и все галочки внутри в выпадающем списке компонентов. Перегружаемся, идем в реестр и видим там нужную нам запись

    Есть вариант изменения ключа рееста

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT \CurrentVersion\Multimedia\SystemProfile
    Имя: NetworkThrottlingIndex (если нет - создаем)
    Параметр: DWORD

    Значение означает количество пакетов не мультимедиа трафика в 1 миллисекунду, по умолчанию 10. Можно попробовать увеличить число или просто поставить шестнадцатеричное FFFFFFFF, в последнем случае полностью отключится регулирование трафика.

    Дополнительные параметры:​Эти параметры так же способны оптимизировать сетевой обмен для нашего случая. При выборе их значений я руководствовался личным опытом, а не просто верил на слово различным советам. Я временно сижу на 3G интернете, где пинг сам по себе не очень, особенно в вечернее время, и мне ниже перечисленные настройки помогли. Однако, есть риск, что какой-нибудь параметр из них может и ухудшить ситуацию с пингом (хоть и не на много), поэтом я назвал их дополнительными и необязательными к выставлению.

    Раздел HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet \Services\Tcpip\Parameters
    • SackOpts
      Выборочная передача поврежденных данных. Отлично помогает в борьбе с лагами, если клиент не кривой. 
      Рекомендуемое значение: 1 (единица).
      Чтобы отключить: 0
    • EnablePMTUDiscovery
      Автоматически определять максимальный размер передаваемого блока данных.
      Рекомендуемое значение: 1 (единица).
      Чтобы отключить: 0
    • EnablePMTUBHDetect
      Включает алгоритм обнаружения маршрутизаторов типа "черная дыра". Видел советы по выставлению этого параметра в 0, однако, для себя я не заметил влияние этого параметра на пинг, а надежная связь нужна всем =)
      Рекомендуемое значение:1 (единица).
      Чтобы отключить: 0
    • DisableTaskOffload
      Позволяет разгрузить центральный процессор, освободив его от вычислений контрольных сумм для протокола TCP, переложив эту задачу на сетевой адаптер.
      Рекомендуемое значение: 0 (нуль).
      Чтобы отключить: 1
      Недостаток: Если возникли сбои в соединениях - отключите параметр.
    • DefaultTTL
      Определяет максимальное время нахождения пакета IP в сети, если он не может попасть на узел назначения. Это позволяет значительно ограничить количество маршрутизаторов, через которые может пройти пакет IP, прежде чем будет отброшен (вдруг пакет заблудился, зачем мы будем его ждать?).
      Рекомендуемое десятичное значение: 64
      Чтобы отключить: удалить параметр

    Раздел HKEY_LOCAL_MACHINE\SOFTWARE \Policies\Microsoft\Windows\Psched

    • NonBestEffortLimit
      Отключает резервирование пропускной способности канала для QoS.
      Рекомендуемое значение: 0 (нуль).

    Чтобы вручную не править эти дополнительные параметры в реестре, можно воспользоваться готовыми reg-файлами дляВключения и Отключения этих фитч.

    Сетевые твики:
    Начиная с этой версии ОС появились дополнительные сетевые параметры, которые могут нам пригодится. Данные твики представляют собой команды, в данном случае, сразу содержащие рекомендуемые настройки. Чтобы их применить, нужно запустить командную строку (cmd) от имени администратора. Чтобы посмотреть текущие настройки, можно воспользоваться командой netsh int tcp show global

    Итак, команды:
    • netsh int tcp set global rss=enabled
      Использование нескольких процессов для обработки входящего потока, без RSS TCP/IP работает всегда только на одном процессоре даже если ПК многопроцессорный.
      Возможные значения: enable / disable
    • netsh int tcp set global netdma=enable
      Обмен информацией между сетевой платой и памятью ОЗУ без участия CPU (NetDMA).
      Возможные значения: enable / disable
    • netsh int tcp set global dca=enable
      Прямой доступ к кэшу NetDMA 2.0 (Direct Cache Acess).
      Возможные значения: enable / disable
    • netsh interface tcp set heuristics wsh=enable
      Автоматический подбор размера окна TCP (WSH). По идее, сводит на нет настройку следующего параметра, но пусть будет чтобы потом можно было что-то безболезненно включать / отключать, не сильно отступаясь от цели.
      Возможные значения: enable / disable
    • netsh int tcp set global autotuninglevel=highlyrestricted
      Автонастройка размера приемного окна TCP, не сильно отступаясь от значения по умолчанию.
      Возможные значения: disable / higlyrestricted / restricted / normal / experimental
    • netsh int tcp set global timestamps=enable
      Штампы времени при установки с ключами как Auto-Tuning Level оптимальный выбор размера окна приема.
      Возможные значения: enable / disable
    • netsh int tcp set global ecncapability=enable
      ECN - это механизм взаимодействия маршрутизаторов о заторах в сети. Он предназначен для уменьшения ретрансляции пакетов. Это позволяет автоматически снижать скорость передачи данных для предотвращения потерь данных. Описание говорит само за себя, для надежности.
      Возможные значения: enable / disable
    • netsh int tcp set global congestionprovider=none
      CTCP увеличивает темп передачи с одновременным контролем размера окна и пропускной способности (Add-On Congestion Control Provider). Во всех гайдах в интернете, которые мне попадались, советовали установить этот параметр равным ctcp. Однако, на практике, всё оказалось куда более сложнее. В моем случае он вызвал только более продолжительные лаги, несмотря на то, что потери пакетов (и всё в этом роде) он, вроде как, и призван устранять. Поэтому я рекомендую всё же значение none, исходя из опыта. Возможно, в сетях с более надежной связью CTCP и даст профит.
      Возможные значения: none / ctcp / default


    Отключаем сетевой протокол Teredo (для тех кто не использует IPv6).
    Инновация, которая все время чекает соединение и пакеты на предмет принадлежности их к сети IPv6, нагружая сетевую карту и забивая наш канал данных. Отключение Teredo может ускорить работу сети и интернета, как это делается:
    Запускаем Командную строку (Пуск > Выполнить > cmd) и вводим команды по очереди.
    netsh
    interface
    teredo
    set state disabled

    Для возврата Teredo, команды вводятся такие же, кроме последней. Последняя должна быть set state default
    • Страница 1 из 1
    • 1
    Поиск: