Узкие места при работе с сетью в Windows Vista
Несмотря на то, что в Windows Vista разработчики Microsoft реализовали множество нововведений в работе с сетью, многие пользователи жалуются, что ОС в некоторых сценариях по сетевой производительности уступает Windows XP.
По сути это не является проблемой - это следствие нового сетевого стека Vista, пыл которого, кстати говоря, можно умерить. Однако недавно пользователи одного форума сообщили о проблеме в работе Remote Desktop Protocol, используемого для соединения компьютера с установленной Vista Enterprise с сервером на базе Windows 2003. Пользователь даже решил, что проблемы кроются в самом сервере.
Однако, как оказалось, опасания по поводу производительности сервера были безосновательны - во всем был виноват стек Vista. Новый TCP/IP-стек Vista поддерживает так называемую автонастройку приемного окна - Receive Window Auto-Tuning. Данная функция не выполняет никаких действий с RDP, а скорее с буфером TCP, который используют клиенты TCP/IP для гарантирования гладкой передачи.
По существу, окно приёма TCP является порцией данных, посланных за один раз до получения подтверждения от компьютера-получателя. Это одна из самых хитрых вещей по оптимизации TCP/IP, так как вы должны ее балансировать с надёжностью полосы пропускания – если вы за раз передадите слишком много данных, если в потоке данных есть ошибка, то всю партию придётся посылать снова. Windows XP изначально была настроена для телефонных соединений (очень много ошибок, отсылались очень маленькие цепочки данных), но это вызывало проблемы с производительностью в широкополосных сетях. В XP SP2 Microsoft изменила значение окна приёма для лучшей производительности в широкополосных сетях, но оно всё ещё не оптимально для многих ситуаций.
Vista призвана улучшить данную ситуацию к лучшему: в Vista есть новая функция, получившая название Receive Window Auto-Tuning, которая постоянно контролирует пропускную способность и латентность сети, на лету корректируя окно TCP под конкретную ситуацию. Она также позволяет масштабирование окна TCP: по умолчанию окно приёма равно 65 535 байтам, но масштабирование окна позволяет клиенту сообщить, что он способен принимать большее окно, чем это – такая возможность предусмотрена для того, чтобы предотвратить узкие места в окне TCP в сети с высокой пропускной способностью. Максимальное окно приёма TCP, о котором может сообщить Vista – 16 Мб.
Поэтому в данной ситуации Vista будет получать гораздо больше сетевых данных, чем Windows XP, что может привести к образованию скачков в сети. По сути это не проблема, просто она увеличивает важность фактического использования TCP/IP QoS, который по умолчанию установлен и активирован в Vista.
В теории все эти автоматические настройки сети в Vista звучат великолепно, но проблема в том, что некоторые клиенты не поддерживают масштабирование окна TCP или поддерживают, но не разрешают его. Кроме того, некоторые брандмауэры его также не поддерживают. В любом случае, результатом будут пропавшие пакеты, что страшно негативно будет влиять на скорость работы в сети – ваш трафик будет буквально улетать в чёрную дыру и никогда не возвращаться снова.
Итак, если вы сталкиваетесь с чрезмерными задержками в сети в Vista, особенно по сравнению с другой ОС, то, возможно, стоит запретить автонастройку. Вы можете сделать это, запустив администраторскую командную консоль, набрав в ней:
netsh interface tcp set global autotuninglevel=disabled
Вам также, возможно, придётся набрать:
netsh interface tcp set global rss=disabled
Изменения вступают в силу немедленно, без необходимости перезагрузки. Примите во внимание, что это глобальное изменение, так что сначала вам может быть имеет смысл сесть и подумать над настройками QoS в вашей сети, для того, чтобы всё отлично заработало без отключения автонастройки.
Источник:
Перевод: Zloy Kak Pё$
По теме
- Windows Vista официально "мертва"
- Завтра прекращается поддержка Windows Vista
- Остался последний месяц поддержки Windows Vista
- 11 апреля Microsoft прекратит поддержку Windows Vista
- Через год прекращается поддержка Windows Vista
- Microsoft открыла исходный код Open XML SDK
- Баллмер: Longhorn/Vista - моя самая серьезная ошибка
- Сегодня заканчивается бесплатная фаза поддержки Windows Vista и Office 2007
- Microsoft продлила срок поддержки Windows Vista и Windows 7
- Практики обеспечения безопасности Microsoft - лучшие в мире