Настройка производительности сети Windows 7 для локальной сети


8

Я хочу настроить стек Windows 7 TCP на скорость в локальной сети.

Немного справочной информации: у меня установлен Citrix XenServer с Windows 2008R2, Windows 7 и Debian Lenny с ядром Citrix, на машинах Windows установлены инструменты, iperfсерверный процесс выполняется на другом хосте, в том числе Debian Lenny. В противном случае серверы простаивают, тесты повторялись несколько раз для подтверждения результатов.

Хотя тестирование с iperf2008R2 может достигать около 600-700 Мбит / с без какой-либо настройки, но я не могу найти руководство или набор параметров, которые позволят Windows 7 достичь чего-либо более 150 Мбит / с без изменения размера окна TCP с использованием -wпараметра to iperf.

Я попытался с помощью netsh autotuiningк disabled, experimental, normalи highlyrestricted- без изменений. Изменение congestionproviderничего не делает, так же как rssи chimney.

Установка всех доступных настроек на те же значения, что и на хосте Windows 2008R2, не помогает.

Обобщить:

  • Настройки Windows 2008R2 по умолчанию: 600-700 Мбит / с
  • Debian, настройки по умолчанию: 600 Мбит / с
  • Настройки Windows 7 по умолчанию: 120 Мбит / с
  • Windows 7 по умолчанию iperf -w 65536: 400-500 Мбит / с

Несмотря на пропускную способность 400 Мбит / с, я виню в этом дрянную сетевую карту Realtek на хосте XenServer (я могу сделать ~ 980 Мбит / с с моего ноутбука на сервер iperf), но это не объясняет, почему Windows 7 не может добиться хорошей производительности без ручной настройки размера окна в уровень приложения.

Итак, как настроить Windows 7?

Ответы:



2

Это может быть другой сетевой драйвер в Windows 2008R2 и Windows 7. Кроме того, всегда ли xenserver предоставляет один и тот же виртуальный ник для Windows 2008R2 и Windows 7? Потому что, если он отличается, будет загружен другой драйвер.

Там могут быть некоторые различия в производительности.

РЕДАКТИРОВАТЬ: Я только что вспомнил, что Windows 7 по умолчанию имеет очень маленькие буферы отправки / получения. В некоторых приложениях, которые я разрабатывал, я обнаружил, что под Windows 7 это было что-то жалкое, вроде 8 КБ. Под Ubuntu Linux это около 120 КБ. Вы можете прочитать где-нибудь, что ограничение составляет 64 КБ. Это на самом деле неправильно для более поздних версий Windows. Я обнаружил, что он может быть установлен даже до 1 МБ и выше. Хотя небольшое увеличение производительности будет заметно, когда оно будет таким большим.

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

http://www.psc.edu/networking/projects/tcptune/ http://www.psc.edu/networking/projects/tcptune/OStune/winxp/winxp_stepbystep.html

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


Тогда почему, если я устанавливаю большее окно TCP, скорость увеличивается? И нет, XenServer не меняет представленный сетевой адаптер.
Хьюберт Карио

Я только говорил, что это может быть причиной. Я - разработчик, и мне случается, что я разрабатываю приложение, которое загружает данные с почти гигабитной скоростью. Тем не менее, работая над виртуальной коробкой, я обнаружил различия в производительности с разными драйверами. Да, увеличение окна TCP увеличит пропускную способность, потому что будет меньше подтвержденных возвращаемых пакетов. Вы закрыли все остальные виртуальные машины в Xen, чтобы убедиться, что Windows использует только их?
Мэтт

Мое обычное использование сети на хосте Xen ниже 60-90 КБ / с. И проверил драйвер, он загружает тот же. Напомним, что Xen и Virtualbox - абсолютно разные гипервизоры: один тип 1, второй тип 2. Кроме того, у меня были одинаковые проблемы с производительностью при установке без установки. В основном я упоминал виртуализацию, чтобы исключить проблемы с оборудованием.
Хьюберт Карио

Я просто кое-что вспомнил. Подробности в основном ответе.
Мэтт


1

Автоматическая настройка TCP (которую вы уже исключили), MTU, к которому уже обращались, и MMCS (планирование классов мультимедиа), как правило, являются большими отличиями. Поскольку MMCS еще не решена, попытайтесь отключить ее.

Убедитесь, что автоматическое масштабирование окна tcp отключено, если вы находитесь на скорости локальной сети или около нее.

Инструкции доступны здесь: http://smallvoid.com/article/winnt-services-mmcss.html


Я не уверен, изменил ли я это (как это было больше 6 месяцев с тех пор), но это выглядит многообещающим, я попробую это завтра.
Юбер Карио

Не сильно помог, улучшил производительность примерно на 10-20%.
Хьюберт Карио

0

Вы не должны видеть драйвер Realtek внутри Windows как виртуальную машину на Citrix XenServer. Если вы это сделаете, это означает, что у вас не установлен XenTools. Сетевая карта Realtek, которую вы видите, является эмулированной, предоставляемой службой QEMU внутри Dom 0 (домен 0). После установки ОС Windows, прежде чем делать что-либо еще, особенно установку приложения, вам необходимо установить XenTools. Кроме того, скорость жестко задана после установки XenTools (как отмечено в Руководстве пользователя виртуальной машины), поскольку на виртуальном устройстве нет ограничений по скорости.


1
с первого вопроса: «Realtek NIC на хосте XenServer »
Хуберт Карио
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.