1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.

Настройки протокола TCP

Тема в разделе "Инструкции от администрации", создана пользователем Randok, 9 сен 2020.

Статус темы:
Закрыта.
  1. Randok

    Randok Innova Group

    Регистрация:
    24.05.10
    Сообщения:
    8.024
    Симпатии:
    780
    В операционной системе windows есть много умных алгоритмов работы с протоколом связи TCP. Но не всегда эти умные вещи работают как надо и могут возникать проблемы, к примеру, медленная работа приложений, отправляющих и получающих данные по сети – браузеры, игры, торренты, и подобное. То есть могут медленно открываться сайты или скачиваться файлы, хотя тариф провайдера позволяет работать на большой скорости. Или медленная передача файлов по домашней сети. Также могут быть прерывания или задержки связи в приложениях, которые сильно зависят от качества работы сети (например, онлайн игры).

    Внимание! Не следует применять все настройки сразу. Оптимальный вариант это применять по одной опции за раз и проверять, есть ли улучшения в скорости скачивания/отдачи например через https://www.speedtest.net/ (предварительно сделав замер без изменения настроек) и проверять есть ли улучшения в игре, например улучшилась ли отзывчивость персонажа. Если основная задача это улучшить игровой процесс, то скорость можно не проверять и сосредоточиться только на проверке как ведет себя игра. Если какая-то из настроек (кроме первой, она всегда положительно влияет) ухудшает ситуацию, настройку следует вернуть в ее состояние по умолчанию. Настройки имеет смысл пробовать, если есть какие-то проблемы во время игрового процесса.

    1. TcpAckFrequency - определяет частоту отправки подтверждающего сообщения. Протокол TCP работает следующим образом – отправляет пакет данных и затем ждет подтверждения о доставке. В зависимости от настройки алгоритм ведет себя по-разному. Если требуется сократить время ответа за счет удаления задержек отправки подтверждений, нужно задать это значение равным 1. В этом случае TCP будет немедленно отправлять подтверждение для каждого сегмента.
    TCPNoDelay – реализация алгоритма Нейгла. По умолчанию в системе алгоритм включен. Для отключения нужно прописать настройку со значением 1.

    Чтобы прописать в реестре эти две настройки, можно скачать утилиту https://ru.4gamesupport.com/downloads/files/4game-supp и нажать кнопку “TcpTune”, затем перезагрузить систему (если потребуется, утилита об этом напишет).

    2. TCP autotuning - автоматическая настройка окна приема TCP, по умолчанию включена в системе. Окно приема TCP используется для ограничения потока данных и для обеспечения возможности контроля потока на принимающей стороне. Окно TCP представляет собой объем данных, который получатель разрешает отправлять за один прием. При включенном автотюнинге передача данных по сети должна стать более эффективной. Но не всегда это так происходит. Например, приложение не успевает извлекать данные, текущее окно приема заполняется, и принимающая сторона начинает уменьшать его размер. При заполнении максимального окна приема размер окна уменьшается до 0 байт, после чего передача данных прекратится. Проблемы также могут быть, если где-то на маршруте стоит старое оборудование, которое не умеет работать с динамическим размером окна TCP.
    Открываем системную консоль, нужно нажать кнопку поиска, ввести cmd – система найдет приложение «Командная строка», далее нужно нажать правой кнопкой мыши по приложению «Командная строка» и выбрать «Запуск от администратора»:
    [​IMG]
    В командную строку скопировать и вставить команду:
    Код:
    netsh interface tcp show global
    и нажать Enter. По умолчанию эта настройка должна выглядеть так:
    [​IMG]
    Чтобы отключить этот алгоритм нужно скопировать и вставить команду:
    Код:
    netsh interface tcp set global autotuninglevel=disabled
    и нажать Enter. Проверить, что он отключен, снова введя:
    Код:
    netsh interface tcp show global
    Настройка должна теперь стоять в disabled. Теперь нужно сделать перезагрузку системы, чтобы настройка применилась.
    Чтобы вернуть как было по умолчанию, нужно ввести команду:
    Код:
    netsh interface tcp set global autotuninglevel=normal
    и нажать Enter. Затем перезагрузить систему.

    3. Разгрузка контрольной суммы - перекладывание части работы с процессора на сетевую карту. На транспортном уровне сетевой трафик обрабатывается центральным процессором. Разгрузка по идее вещь хорошая, так как освобождает процессор от части работы по обработке сетевого трафика. Но бывают случаи, когда под большой нагрузкой слабые сетевые адаптеры не справляются. Также запускаем командную строку от Администратора.
    [​IMG]
    Скопировать и вставить команду:
    Код:
    netsh interface ip show offload
    и нажать Enter. Картина будет примерно такая:
    [​IMG]
    Чтобы отключить все разгрузки, скопировать и вставить команду:
    Код:
    netsh interface ip set global taskoffload=disabled
    и нажать Enter. После этой настройки также требуется перезагрузка системы. Чтобы проверить, что после перезагрузки все отключилось, можно снова ввести netsh int ip show offload – список должен быть пуст.
    Чтобы включить разгрузку обратно, нужно выполнить команду:
    Код:
    netsh interface ip set global taskoffload=enabled
    и нажать Enter, затем перезагрузить систему.

    4. Receive Side Scaling - входящий поток данных разбивается на несколько очередей, обработка каждой из которых производится выделенными мощностями (как правило отдельными ядрами процессора). Для этого необходимо, чтобы сетевая карта умела формировать такие очереди, и делала это хорошо. Не всегда так бывает по понятным причинам. Чтобы отключить, запускаем командную строку от Администратора.
    [​IMG]
    Скопировать и вставить команду:
    Код:
    netsh interface tcp set global rss=disabled
    и нажать Enter. Также требуется перезагрузка системы. Чтобы включить эту опцию обратно, нужно выполнить команду:
    Код:
    netsh interface tcp set global rss=enabled
    и затем перезагрузить систему.
     
    wellzar нравится это.
Статус темы:
Закрыта.