В Windows 7 тормозит сетка.

Обновлено 29.11.2023

В Windows 7 тормозит сеткаДобрый день! Уважаемые читатели и гости IT блога Pyatilistnik. В прошлой статье я вам постарался донести, какие есть плюсы Linux перед Windows и наоборот. Идем далее и сегодня я хочу описать ситуацию с которой столкнулся на работе. Обратился ко мне привилегированный пользователь с проблемой, что у него стал медленный интернет и скачивание файлов с сетевой шарой. Я стал в этом разбираться и вот, что мне удалось найти и собственно чем я и хотел бы поделиться.

Если у вас при работе с Windows 7 жутко тормозит сеть, особенно, когда сервером выступает Windows XP или Windows 2003, то можно воспользоваться следующим решением.

  • Проверка подключения к сети. Убедитесь, что сетевой кабель подключен к компьютеру и маршрутизатору/модему правильно, всегда нужно начинать именно с физического уровня OSI модели. Проверьте состояние светодиодных индикаторов на сетевой карте компьютера и маршрутизаторе/модеме. Если индикаторы не горят или мигают, возможно, проблема связана с физическим оборудованием. Попробуйте использовать другой сетевой кабель или порт на маршрутизаторе/модеме. Бывают ситуации, что после обновления ОС или драйверов могут быть сложности с оборудованием, например ошибки с кодом 43 или кодом 10.
  • Открываем командную строку от имени администратора и последовательно вводим такие команды.

netsh int tcp set global autotuning=disabled
netsh int tcp set global autotuninglevel=disabled
netsh int tcp set global rss=disabled chimney=disabled

Команда "netsh int tcp set global autotuning=disabled" используется для отключения автоматической настройки TCP (Transmission Control Protocol) в операционной системе Windows.

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

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

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

Команда "netsh int tcp set global autotuninglevel=disabled" используется для отключения функции автоматического настройки масштабирования TCP (TCP Auto-Tuning) в операционной системе Windows.

Масштабирование TCP - это функция, которая позволяет автоматически настраивать размеры TCP-окон (окон передачи данных), чтобы достичь оптимальной производительности сети. Она основана на оценке задержек и пропускной способности сети и автоматически регулирует размеры окон передачи данных.

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

Команда "netsh int tcp set global rss=disabled chimney=disabled" используется для отключения двух функций в TCP/IP стеке операционной системы Windows - RSS (Receive Side Scaling) и Chimney Offload.

RSS (Receive Side Scaling) - это технология, которая позволяет распределить нагрузку приема сетевых пакетов между несколькими процессорными ядрами. Она позволяет увеличить производительность сетевого соединения, особенно в случае использования многопроцессорных систем. Однако, отключение этой функции может быть полезным в некоторых ситуациях, например, если возникают проблемы сетевого соединения или совместимости с определенным оборудованием.

Chimney Offload - это технология, которая позволяет перенести некоторые задачи обработки сетевых пакетов с центрального процессора на сетевой адаптер. Это может уменьшить нагрузку на процессор и увеличить производительность сетевого соединения.

Проверял на Windows 7 SP1 64 bit и на Windows 2008 R2 server. Всё работает отлично.

  • То же самое можно выполнить и через PowerShell. Для этого в PowerShell можно выполнить эти команды с помощью следующих командлетов:

Set-NetTCPSetting -SettingName "Internet" -AutoTuningLevel Disabled

Set-NetOffloadGlobalSetting -Chimney Off
Set-NetOffloadGlobalSetting -RSS Disabled

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

# Шаг 1: Взять список имен серверов из файла и положить их в переменную
$servers = Get-Content -Path "C:\путь\к\файлу.txt"

# Шаг 2: На каждом из серверов выполнить команды
foreach ($server in $servers) {
# Подключение к удаленному серверу
$session = New-PSSession -ComputerName $server

# Выполнение команд на удаленном сервере
Invoke-Command -Session $session -ScriptBlock {
Set-NetTCPSetting -SettingName "Internet" -AutoTuningLevel Disabled

Set-NetOffloadGlobalSetting -Chimney Off
Set-NetOffloadGlobalSetting -RSS Disabled

# Шаг 3: Вывести имя компьютера, статус AutoTuningLevel, Chimney, RSS
$computerName = $env:COMPUTERNAME
$autoTuningLevel = (Get-NetTCPSetting -SettingName "Internet").AutoTuningLevel
$chimney = (Get-NetOffloadGlobalSetting).Chimney
$rss = (Get-NetOffloadGlobalSetting).RSS

Write-Host "Имя компьютера: $computerName"
Write-Host "Статус AutoTuningLevel: $autoTuningLevel"
Write-Host "Статус Chimney: $chimney"
Write-Host "Статус RSS: $rss"
}

# Закрытие сессии
Remove-PSSession -Session $session
}

Примечания:

  • Замените "C:\путь\к\файлу.txt" на путь к вашему файлу, содержащему список имен серверов.
  • Убедитесь, что у вас есть необходимые права доступа для выполнения команд на удаленных серверах.
  • Вывод информации будет отображаться в окне PowerShell.

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

Проверка наличия конфликтов IP-адресов:

  1. Откройте командную строку (нажмите Win + R, введите "cmd" и нажмите Enter).
  2. В командной строке введите "ipconfig" и нажмите Enter. Убедитесь, что IP-адрес и шлюз по умолчанию указаны правильно.
  3. Если вместо IP-адреса отображается "169.254.x.x", это означает, что компьютер не может получить IP-адрес от DHCP-сервера. Попробуйте перезагрузить маршрутизатор/модем и компьютер.

Проверка наличия вирусов и вредоносных программ:

  1. Запустите антивирусное программное обеспечение и выполните полное сканирование системы.
  2. Обновите базы данных антивирусной программы и повторно выполните сканирование.
  3. Если обнаружены вирусы или вредоносные программы, удалите их и перезагрузите компьютер.

Обновление драйверов сетевой карты:

  1. Откройте Диспетчер устройств (нажмите Win + R, введите "devmgmt.msc" и нажмите Enter).
  2. Разверните раздел "Сетевые адаптеры" и найдите установленную сетевую карту.
  3. Щелкните правой кнопкой мыши по сетевой карте и выберите "Обновить драйвер".
  4. Последуйте инструкциям мастера обновления драйвера.

Обновление операционной системы:

  1. Убедитесь, что у вас установлены все доступные обновления для Windows 7.
  2. Откройте "Центр обновления Windows" (нажмите Win + R, введите "wuapp" и нажмите Enter).
  3. Выполните проверку наличия обновлений и установите их, если они доступны.

Материал сайта Pyatilistnik.org

Автор - Сёмин Иван

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

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