Вопрос или проблема
Я проверяю реальную пропускную способность своей сети, используя iperf/jperf. Тест на speedtest.net показывает 25/10, но jperf показывает только 5. Поэтому я меняю в jperf размер TCP Window на 256K – и теперь jperf показывает 17Mbit – думаю, это вполне нормально, но как его установить постоянно? Если я перезапускаю jperf и не меняю размер TCP Window, это снова 5Mbit.
Итак, я поискал в интернете и нашел http://www.speedguide.net/articles/windows-2kxp-registry-tweaks-157 -> Я установил GlobalTCPWindows и многое другое. Затем перезапустил компьютер, и… ничего не изменилось. jperf все равно показывает 5, пока я не изменю параметр jperf на 256K….
Есть идеи?
Текущие настройки реестра:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"TcpWindowSize"=dword:0007d780
"GlobalMaxTcpWindowSize"=dword:0007d780
"Tcp1323Opts"=dword:00000001
"EnablePMTUDiscovery"=dword:00000001
"EnablePMTUBHDetect"=dword:00000000
"TcpMaxDupAcks"=dword:00000002
"SackOpts"=dword:00000001
"DefaultTTL"=dword:00000040
"DisableTaskOffload"=dword:00000000
"MaxUserPort"=dword:0000fffe
"TcpTimedWaitDelay"=dword:0000001e
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AFD\Parameters]
"FastSendDatagramThreshold"=dword:000005dc
"FastCopyReceiveThreshold"=dword:000005dc
"DefaultSendWindow"=dword:00002000
Я не знаю, изменил ли я больше настроек – спросите меня о текущем статусе любой настройки.
К сожалению, у меня недостаточно репутации, чтобы добавлять изображения, поэтому я разместил это на своем сайте:
Имейте в виду, что speedtest.net может аггрегировать несколько подключений для передачи данных, тогда как iperf использует одно подключение. Максимальная пропускная способность одного подключения зависит от:
- Пропускной способности
- Окна отправки (размер буфера)
- Окна приема (размер буфера)
- Задержки
- Загруженности сети
Похоже, вы говорите о производительности загрузки или отправки. В этом случае вам нужно увеличить размер окна отправки по умолчанию. Вы можете сделать это, отредактировав ключ реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AFD\Parameters\DefaultSendWindow
И установив его на 256k или другой подходящий для вашего произведения задержки пропускной способности.
Вот хорошая статья, обсуждающая настройку производительности для XP/2003 здесь.
Ответ или решение
Теория
В Windows XP, управление размером TCP окна — это важный аспект настройки сети, особенно когда необходимо оптимизировать производительность для приложений, использующих сетевой протокол TCP, таких как iperf/jperf. Размер TCP окна определяет, сколько данных может быть отправлено до получения подтверждения получения. Оптимизация этого параметра может повысить общую пропускную способность при высокой задержке сети. Изменение размера TCP окна в тестовом инструменте, таком как jperf, при проверке конкретного соединения может временно увеличить производительность, но для постоянного улучшения необходимо внести изменения напрямую в реестр Windows XP.
Пример
При использовании jperf вы смогли увеличить пропускную способность, изменив размер TCP окна до 256Кб. Однако данное изменение действует лишь на текущий сеанс программы и не сохраняется после её перезапуска. Для постоянной настройки необходимо произвести изменения в реестре Windows XP.
Применение
-
Изменение настроек реестра:
Чтобы установить постоянный размер TCP окна, вам необходимо изменить несколько ключевых параметров в реестре:-
Откройте редактор реестра (нажмите
Win + R
, введитеregedit
и нажмитеEnter
). -
Перейдите по пути:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
-
Найдите и отредактируйте следующие значения:
"TcpWindowSize"
и"GlobalMaxTcpWindowSize"
: Значения этих параметров установите вdword:00040000
, что соответствует 256Кб (при использовании шестнадцатеричного формата).
-
Далее перейдите по пути:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AFD\Parameters
-
Найдите
"DefaultSendWindow"
и установите его значение также вdword:00040000
, что соответствует 256Кб.
-
-
Перезагрузка системы:
После изменения параметров реестра перезагрузите компьютер, чтобы изменения вступили в силу. После этого, проверяя параметры с помощью jperf без дополнительных изменений в программе, вы должны увидеть улучшение пропускной способности. -
Учет факторов сети:
Необходимо также учитывать другие факторы, влияющие на производительность сети, как, например, задержка и состояние сети. Изменения в реестре лишь управляют локальными параметрами TCP и могут не всегда полностью решать проблемы с пропускной способностью, если они вызваны внешними факторами.
Подходя к вопросу с точки зрения IT-специалиста, этот процесс требует внимательности при работе с реестром и понимания, что такие настройки могут отличаться на разных системах и не всегда могут привести к ожидаемым результатам из-за ограничений самой ОС и текущей конфигурации сети.