Как ускорить работу удаленного рабочего стола windows 10

Хочу поделиться несколькими советами по настройке удаленного подключения к рабочим местам по RDP. Расскажу как проапгрейдить древний RPC-HTTP до UDP, похвалю и...

Хочу поделиться несколькими советами по настройке удаленного подключения к рабочим местам по RDP. Расскажу как проапгрейдить древний RPC-HTTP до UDP, похвалю и поругаю Windows 10 и AVC, разберу решение нескольких типичных проблем.

Считаем, что для подключения используется Remote Desktop Gateway (RDGW), а в качестве серверов выступают рабочие станции. Использовать RDGW очень удобно, потому что шлюз становится общей точкой входа для всех клиентов. Это дает возможность лучше контролировать доступ, вести учет подключений и их продолжительность. Даже если VPN позволяет подключиться к рабочим машинам напрямую — это не лучший вариант.

RDGW настраивается быстро, просто, а Let’s Encrypt и win-acme легко решают проблему с доверенным сертификатом.

Есть три транспортных протокола по которым клиент может подключиться с серверу:

RPC-HTTP (

плохо)
HTTP (лучше)
HTTP+UDP (отлично)

Под сервером будем понимать рабочую машину, под клиентом — домашнюю.
Первое, с чего стоит начать, это «плохо» превратить в «отлично».

Апгрейд RPC-HTTP до HTTP

Подключение в сессию с использованием RPC-HTTP легко определить по внешнему виду полоски подключения.

Здесь нет значка качества подключения (о нем ниже), а значит мы используем старый RPC, обернутый в TLS — это очень медленно. Дело, конечно, не только в обертке — сам протокол меняется с каждым релизом ОС, меняются кодеки, алгоритмы упаковки изображения. Чем свежее протокол, тем лучше.

Что делать?

Windows XP или Vista

В XP можно поднять протокол с 5.1 до 7. Хотфикс windowsxp-kb969084-x86.exe

В Vista — c 6 до 7. Хотфикс имеет тот же номер, файлы windows6.0-kb969084-x64.msu или Windows6.0-KB969084-x86.msu

Но RDP 7 не работает по HTTP и UDP. Поможет только апгрейд клиента и сервера до Windows 7 и новее.

Windows 7

Сначала надо обновить протокол до RDP 8.1, а затем включить его. Поддержка добавляется обновлениями, которые сгруппированы в один загрузочный пакет:

www.microsoft.com/en-US/download/details.aspx?id=40986
Windows6.1-KB2574819-v2-x64.msu
windows6.1-kb2592687-x64.msu
Windows6.1-KB2830477-x64.msu
Windows6.1-KB2857650-x64.msu

Windows6.1-KB2913751-x64.msu

(заменен kb2923545)

windows6.1-kb2923545-x64.msu

Так вы получите и свежий клиент mstsc.exe, и поддержку RDP 8.1 серверной части ОС.
Было:

Стало:

После этого протокол надо включить ключом реестра (для этого можно использовать adm шаблон в комплекте с Windows 7).

[HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindows NTTerminal Services]
"fServerEnableRDP8"=dword:00000001
 
[HKEY_LOCAL_MACHINESOFTWAREWow6432NodePoliciesMicrosoftWindows NTTerminal Services]
"fServerEnableRDP8"=dword:00000001

Включите поддержку транспорта UDP в групповой политике.

Перезагружаем сервер с Windows 7. Тот самый случай, когда может потребоваться перезагрузиться дважды — значение в реестре должно быть установлено до того, как включился RDP, а групповая политика применяется позже.

Если все получилось, то при подключении к серверу в полоске сессии появится иконка качества подключения (как в телефоне для мобильной сети):

Windows 8 и новее

Протокол работает «из коробки».

Апгрейд HTTP до HTTP+UDP

Если ваша сеть не склонна к потере пакетов, UDP существенно (для CAD — радикально) повышает отзывчивость сервера за счет использования FEC для сокращения ретрансмиссии, а также перехода подтверждения доставки пакетов с уровня системного стека TCP/IP на уровень протокола RDP-UDP.

От каждого клиента подключается одна основная управляющая сессия по HTTP (в этом канале также передается клавиатура/мышь), плюс одна или несколько сессий UDP для передачи картинки или других виртуальных каналов.

Мы коснемся только верхушки айсберга. Есть 3 различных версии протокола RDP-UDP. Кроме того, сам UDP может работать в двух режимах UDP-R (reliable) и UDP-L (lossy). С Microsoft ничего просто не бывает. Но поскольку от нас здесь ничего не зависит, просто имейте в виду — чем новее операционная система, теме более современный протокол используется.

Снаружи RDP-UDP оборачивается в Datagram Transport Layer Security (DTLS) RFC4347, в чем вы можете убедиться открыв Wireshark.

Подробнее в документах:
[MS-RDPEMT]: Remote Desktop Protocol: Multitransport Extension
[MS-RDPEUDP]: Remote Desktop Protocol: UDP Transport Extension
[MS-RDPEUDP2]: Remote Desktop Protocol: UDP Transport Extension Version 2
Где не прав — поправьте, пожалуйста.

Что же нужно для включения UDP?

RDP-UDP поддерживается начиная с RDP 8.

На клиенте должен быть открыт порт udp/3389. Если вы его закрыли локальным firewall, ACL на свитче или внешнем файрволле — порт надо открыть.

Для сервера Remote Desktop Gateway к порту tcp/443 надо открыть udp/3391.

Порт можно поменять, вот как он настраивается:

Для Windows 7 обязательно должен быть включен NLA (Network Level Authentication).

Можно включить в групповой политике

или через реестр

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp]
"SecurityLayer"=dword:00000001

В чем связь непонятно. Но без NLA на 7-ке не работает, на более свежих релизах NLA для работы UDP не обязателен.

После установления сессии по HTTP, клиент и сервер пробуют согласовать подключение по UDP. Если есть выпадение пакетов или задержки, то сессия UDP не запустится. Точный алгоритм отказа согласования UDP до конца не понятен.

Если все настроено, то после подключения нажмите на кнопку качества связи. В окошке будет указано, что согласован UDP.

На шлюзе это выглядит так:

Windows 10

Если у вас Windows 10 и на сервере, и на клиенте, то это самый быстрый и беспроблемный вариант. В Microsoft активно дорабатывают RDP, и в свежих релизах 10 вы можете рассчитывать на неплохую скорость работы. Коллеги не смогли обнаружить разницу между Citrix и Windows 10 RDP по скорости работы в AutoCAD.

Про эволюцию кодеков RDP на базе AVC в Windows 10 есть хорошая статья
Remote Desktop Protocol (RDP) 10 AVC/H.264 improvements in Windows 10 and Windows Server 2016 Technical Preview

Согласование AVC с аппаратным кодированием можно увидеть в журнале событий (подробнее в статье выше):

Замечу только, что проблема искажений все же есть даже с h.264 4:4:4. Она сразу бросается в глаза если работать в PowerShell ISE — текст ошибок выводится с неприятным искажением. Причем на скриншоте и на фотографии все отлично. Волшебство.

Также косвенным признаком работы AVC являются время от времени появляющиеся зеленые квадраты по углам.

AVC и аппаратное кодирование в свежих билдах должно работать из коробки, но групповая политика никогда не бывает лишней:

С учетом того, что AVC кодируется аппаратно видеокартой, то обновить драйверы видео — хорошая идея.

О проблемах

XP и Vista

Если проблема возникает на Windows XP или Vista, попробуйте сначала обновить протокол до 7 версии (писал в начале статьи). Обязательно включите поддержку CredSSP. На сайте Microsoft статьи уже удалены, но Интернет помнит.

Если не помогло — «доктор говорит в морг, значит в морг». Что испытала на себе операционная система за последние 15 лет — лучше об этом даже и не думать.

NLA

Иногда помогает отключение NLA на сервере. Выяснить причину не получилось, домашние машины все разные.

NTLM

Некоторые клиенты пытаются авторизоваться с использованием NTLMv1. Причины разные, но исправить на клиенте можно так:

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa]
"LmCompatibilityLevel"=dword:00000003

Перезагрузка обязательна.

Если вы

молоды и дерзки

ничего не боитесь, то есть более радикальное решение — отключение Channel Binding на Remote Desktop Gateway

HKLMSoftwareMicrosoftWindows NTCurrentVersionTerminalServerGatewayConfigCore
Type: REG_DWORD
Name: EnforceChannelBinding
Value: 0 (Decimal)

Делать так не надо. Но мы делали. :-) Для клиента, который настаивал (нет не так, НАСТАИВАЛ) что NTLMv1 на рабочих станциях ему необходим. Не знаю, может там серверы на NT4 без SP еще в работе.

Отключение RDP 8+ в Windows 10

Если ничего не помогает, а идеи кончились, можно воспользоваться недокументированным ключом для даунгрейда протокола RDP до 7 версии.

[HKEY_CURRENT_USERSoftwareMicrosoftTerminal Server Client]
"RDGClientTransport"=dword:00000001

Сам не делал, и вам не советую. Но кому-то, пишут, что помогает.

DrWeb

Компонент Dr.Web SpIDerGate может запретить подключение. В этом случае возвращается ошибка:

В статистике Dr.Web будет запись:

В комментариях к этой статье со мной связался сотрудник Dr.Web и наша проблема решилась в ближайшем обновлении антивирусных баз.
Если у вас такая же ошибка, лучше обратиться в поддержку.
Как временное решение, можно внести URL вашего RDGW в исключения:

И только если не помогло отключить компонент SpIDer Gate полностью.

Системный прокси

Встретился списанный компьютер из какой-то компании, где в качестве системного прокси был прописан местный TMG, и подключение к RDGW не работало. Это можно исправить так:

netsh winhttp show proxy && netsh winhttp reset proxy

Переключение раскладок клавиатуры

Иногда приезжают лишние раскладки. Можно отключить проброс раскладки с клиента

[HKLMSystemCurrentControlSetControlKeyboard Layout]
"IgnoreRemoteKeyboardLayout"=dword:00000001

Проблемы с DPI

Масштабирование приходит с клиентской машины, и если на домашнем ноутбуке стоит 125%, то и на рабочей машине будет так же. На серверах это можно отключить, а на рабочих станциях не нашел как. Но в магазине приложений Windows 10 есть «современный» клиент.

В нем можно настроить DPI:

Как мониторить шлюз с RDGW

Есть счетчик производительности «Шлюз служб терминаловТекущие подключения», который немного глючит, если нет подключений или сервер долго не перезагружался. Он показывает именно число подключений, но как мы помним, для HTTP+UDP их как минимум два, а может быть и больше. Поэтому это не совсем объективный показатель числа подключений сотрудников.

Есть класс WMI Win32_TSGatewayConnection. Его содержимое соответствует тому, что вы видите в разделе «Наблюдение» шлюза удаленных рабочих столов.

С ним число подключений можно посчитать поточнее:

Get-WmiObject -class "Win32_TSGatewayConnection" -namespace "rootcimv2TerminalServices" 
|?{$_.transportprotocol -ne 2}|select username,connectedresource|sort username|Get-Unique -AsString| measure|select -ExpandProperty count

Just for fun есть утилита Remote Display Analyzer. Бесплатная версия мне ничего полезного не показала, но вдруг кому-то пригодится.

А как же тонкий тюнинг, настройка нескольких десятков параметров сессии?

Здесь уместен принцип Парето: 20% усилий дают 80% результата. Если вы готовы инвестировать ваше время в оставшиеся 20% результата — отлично. Только имейте в виду, что когда вы читаете статью о настройке протокола в Windows 7, то не знаете про какой протокол писал автор — 7, 8 или 8.1. Когда читаете про Windows 10 без указания релиза — проблемы те же. Например, пишут что в свежих билдах Windows 10 кодек AVC/h.264 изменился на RDPGFX_CODECID_AVC444V2, а в Windows Server 2016 остался RDPGFX_CODECID_AVC444.

Из всех таких советов мы используем только две настройки:

  1. 16 bit цвет, об этом можно почитать в статье MS RDP Performance / Bandwidth Usage
  2. Отключение сглаживания шрифтов font smoothing:i:0 по статье выше или Performance Tuning Remote Desktop Session Hosts

Сомневаюсь, что они дают какой-то ощутимый результат.

Вот мы и подошли к концу статьи. Хотел покороче, а получилось как всегда. Рад, если кому-то эти советы помогут сэкономить время или улучшить настройку своей инфраструктуры.

Ускорить RDP. Ограничиваем размер окна TCP.

Думаю, не ошибусь, если предположу, что с тормозами при работе с удаленным рабочим столом (RDP) сталкивались все, кто с RPD работал. Симптомов тормозов может много: медленно передает файлы через буфер обмена, долго печатает, медленно отрисовывается экран при прокрутке, особенно если просматривать тяжелые сайты, нагруженные графикой, pdf, состоящих из сканов и т.п. Соответственно, и решения как ускорить RDP тоже бывают разные (см. также «Что такое RDP»). Ниже опишу одно из решений проблемы отрисовки экрана, когда при работе с удаленным RDP, через интернет, а не в пределах локальной сети, прокрутка документов, перемещение объектов рабочего стола, масштабирование в документах вызывает существенный дискомфорт — все дергается, нет плавности движений.

Есть такой параметр — размер окна tcp соединения. В базовом варианте размер окна величина динамическая. В зависимости от пропускной способности сети, задержек при доставке пакетов и других факторов операционные системы опытным путем подбирают размер окна tcp, при котором максимально эффективно используется полоса пропускания, что положительно сказывается на копировании файлов, потоковой передаче мультимедиа, короче всего того, чем живет сейчас интернет. Т.е. передатчик и приемник согласовывают такой размер окна tcp, при котором максимальное количество данных можно передать без лишних подтверждений о получении, запросе текущего состояния буфера примника и т.д. Это снижает накладные расходы на сеть и позволяет передавать больше полезной информации. Передатчик накапливает в своем кеше данные, приемник радостно ждет потока данных, а у пользователя это выливается в то, что он прокрутил документ, а плавности нет, одни рывки.

Когда вы работаете с удаленным RDP может быть намного важнее, чтобы при перемещениях мыши, при скролле графики (т.е. когда быстро и не потоком меняются передаваемые данные, кеширование тут не сильно поможет) клиент получал бы данные от сервера чаще, пусть и с меньшей максимальной средней скоростью. Так как обе стороны соединения (сервер и клиент) согласовывают в процессе работы допустимый размер окна для данных, если этот размер сильно ограничить (а то и вовсе запретить его изменение), то обе стороны быстро поймут, что размер окна маленький, данные накапливать нет смысла, и будут чаще обмениваться данными, засоряя эфир лишними техническими пакетами, но для пользователя это может привести к «ускорению» работы с интерфейсом — увеличению плавности и отзывчивости интерфейса.

На Windows сервере RDP:

1. проверьте, что сейчас настроено:

> netsh interface tcp show global

Запрос активного состояния.

Глобальные параметры TCP
——————————————————
Состояние масштабирования на стороне приема : enabled
Состояние разгрузки канала : automatic
Состояние NetDMA : enabled
Прямой доступ к кэшу (DCA) : disabled
Уровень автонастройки окна получения : normal
Поставщик надстройки контроля перегрузки : none
Мощность ECN : disabled
Отметки времени RFC 1323 : disabled
** Параметр autotuninglevel выше — это результат переопределения всех локальных
конфигураций и конфигураций политик по крайней мере на одном профиле эвристикой масштабирования окон.

Нас интересует «Уровень автонастройки окна получения» (autotuninglevel, см. чуть ниже). По-умолчанию, normal, т.е. грубо — «автонастройка».

Возможные варианты параметра autotuninglevel :

  • disabled: фиксация значения окна приема по умолчанию.
  • highlyrestricted: разрешение на увеличение окна приема относительно значения по умолчанию, но очень незначительное.
  • restricted: разрешение на увеличение окна приема относительно значения по умолчанию, с ограничением увеличения при некоторых сценариях.
  • normal: разрешение на увеличение окна приема в соответствии с требованиями большинства сценариев.
  • experimental: разрешение на увеличение окна приема в соответствии с требованиями экстремальных сценариев.

В нашем случае можно проверить эффект от вариантов disabled и highlyrestricted.

> netsh interface tcp set global autotuninglevel=highlyrestricted

и перезагружаем сервер. После перезагрузки вы можете увидеть улучшения. Если нет — возможно надо попробовать:

> netsh interface tcp set global autotuninglevel=disabled

или у вас есть иные причины проблем с RDP.

В моем случае изменения вносились на двух серверах Windows 2012R2, а не на клиенте, т.к. проблемы были сразу у всех клиентов. Вполне возможно, что кому-то правильнее делать эти изменения на клиенте, чтобы не затрагивать остальную работу сервера ограничением окна tcp.

Также проверял эффект в локальной сети — на Windows 7 в локалке эффект привел к незначительному увеличению рывков, ускорять уже было мало что, но плавность стала хуже. Чуть-чуть. Возможно, это из-за того, что при удаленной работе через интернет RDP уже и так зарезано и мы его лишь тюнигуем, а в локальной сети проблем нет и я просто зарезал часть возможностей. Удачи в экспериментах, оставляйте отзывы о результатах или свои мнения.

Авторизуйтесь для добавления комментариев!

Почтовый сервер Шифрование Squid 3proxy VPN Mikrotik Настройка сервера Виртуальные машины kvm Защита почты Резервное копирование Групповые политики SELinux WDS IPFW OpenVPN firewalld systemd Mobile libvirt Samba WiFi Iptables NAT Lightsquid Remote desktop Postfix Dovecot Удаление данных Софт Безопасность Настройка прокси Winbox User agent Хостинг Передача данных Онлайн сервисы Privacy LetsEncrypt VPN сервер RRDTool sendmail Rsync Linux SSH Система Windows Синхронизация Облако fail2ban FreeBSD

Производительность RDP в Windows Server и способы ее повышения

Эта статья актуальна для Windows Server 2019 в качестве сервера и Windows 10 в качестве клиента RDP. В статье мы рассмотрим шаги, которые следует предпринять для достижения максимальной производительности терминальных сессий RDP в Windows Server.

1. Коротко об основном

В Windows 10 вместе с стандартным клиентом удаленного стола (MSTSC), появился новый клиент для осуществления удаленных подключений Remote Desktop (MSRDC) client, проинсталлировать который можно из магазина Microsoft Windows 10.

Отметим, что изначально MSRDC поддерживал удаленные подключения с Windows Virtual Desktop (VDI). На данный момент существуют клиенты для Windows Desktop, Android, iOS, macOS.

Можно сравнить два типа клиентов для удаленных подключений – MSTSC и MSRDC.

Тестирование проводилось на виртуальных машинах с Windows Server 2019 и Windows 10.

В качестве теста копировался файл с клиента на сервер. По итогу тестирования имеем такие результаты – копирование с помощью MSTSC:

Для сравнения – скриншоты процесса копирования файла с помощью MSRDC:

Как видим, файл копируется быстрее с помощью mstsc, но при этом mstsc создает значительно более высокую нагрузку на сеть и ЦП, занимая практически все доступные ресурсы. При этом использование нового клиента MSRDC выглядит более предпочтительным, т.к. при большом количестве одновременных подключений будет создавать более пологий график нагрузки на системные ресурсы, чем MSTSC.

С другой стороны, хочется отметить «сырость» нового клиента для удаленных подключений. К примеру, копирование файлов с сервера на клиент попросту не работает. При этом оба клиента используют протокол TCP для подключения к серверу.

2. Сжатие передачи данных при подключении к серверу

Для клиентов RDP можно настроить сжатие передачи данных при подключении к серверу.

Для этого на сервере необходимо открыть объект локально групповой политики и изменить значение:

Конфигурация компьютера Административные шаблоны компоненты Windows Службы удаленных рабочих столов Удаленный рабочий стол узле сеансов Среда удаленного сеанса Настроить сжатие для данных RemoteFX.

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

Для эксперимента попробуем оптимизировать работу за счет оптимизации работы пропускной способности сети.

Меняем параметр и перезагружаем сервер:

Смотрим, что получилось для MSTSC:

Как видим – ничего не поменялось. Это потому, что данный механизм будет заметен только на большом количестве подключений. Тогда-то мы и увидим уменьшение потребления пропускной способности сети.

3. Отключение перенаправленных устройств

Настройка с помощью GPO находится в:

Конфигурация компьютера → Административные шаблоны → Компоненты Windows → Службы удаленных рабочих столов → Удаленный узел сеансов рабочего стола → Перенаправление устройств и ресурсов.

Здесь можно включить или отключить параметры перенаправления для клиентских устройств. В том числе – видеозахват, воспроизведение и запись звука, буфер обмена, перенаправление com портов, перенаправление LPT-портов, локальных дисков, самонастраивающихся устройств, устройств чтения смарт карт и перенаправления часового пояса.

Чем больше перенаправленных устройств используется, тем больше пропускной способности сети сервера они поглощают.

Перенаправленные принтеры и устройства Plug & Play потребляют ресурсы процессора также при входе в сеанс RDP.

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

4. Параметры интерфейса клиента

  • Отключить фоновый рисунок, это значительно снизит потребление пропускной способности сети.
  • Кеш точечных рисунков необходимо всегда включать, т.к. в этом случае создается клиентский кэш растровых изображений, отображаемых в сеансе, что значительно снижает использование пропускной способности.
  • Имеет смысл выключать отображение содержимого окон при перетаскивании, т.к. это снижает нагрузку на сеть за счет отображения только рамки окна вместо всего содержимого.
  • Точно так же стоит отключать анимацию меню и окон, поскольку она увеличивает нагрузку на сетевую подсистему
  • ClearType нужно включать для систем более ранних, чем Windows 7 и Windows 2008 R2
  • Стили оформления – параметр, актуальный для систем Windows 7 и более ранних. Если параметр отключен, пропускная способность снижается за счет упрощения чертежей, использующих классическую тему.
  • Серьезно влияет на загрузку ЦП и пропускной способности сети и разрешение экрана, с которым клиент подключается к серверу.
  • Корпорация Microsoft рекомендует оставлять параметры подключения клиента в автоматическом режиме, но есть смысл попробовать выставить параметры вручную.

Например, если вы выставите на клиенте настройку «Подключаться со скоростью модем 56 Кбит/с – это отключит множество визуальных эффектов и значительно ускорит работу сервера в контексте подключения большого числа клиентов RDP.

5. Параметры конфигурации сервера RDP

  1. Файл подкачки на сервере должен иметь достаточный размер. При нехватке виртуальной памяти в работе сервера могут возникать сбои.
  2. Антивирус может значительно замедлить работу системы. Особенно серьёзно он может влиять на загрузку ЦП. Есть рекомендация исключать папки с временными файлами, особенно те, которые создаются системой.
  3. Планировщик заданий может содержать большое количество заданий, ненужных на сервере RDS. Их есть смысл отключать.
  4. На сервере RDS рекомендуется отключать все уведомления рабочего стола, поскольку они могут потреблять значительное количество системных ресурсов.

Поделиться: facebooktwitterlinkedinvk

analitik_samara

Как вы уже знаете, у меня есть данная свыше особенность встречать проблемы там, где у других они не возникают. Классика жанра – установить очередную широко известную, а часто и дорого продаваемую программу и, только начав её освоение, тут же обнаружить косяки разработчиков, о которых они и не догадывались. А поскольку косяки эти мешают пользованию, приходится сообщать о них авторам с просьбой устранить или хотя бы помочь разобраться в причинах возникновения. Примеров мог бы привести огромное количество, но на это нет ни времени, ни желания, да и вряд ли кому-то будет интересно с ними знакомиться – просто поверьте на слово.

Так получилось и на этот раз. После замены вышедшей из строя материнской платы на сервере установил на него с нуля Windows Server 2012 R2, настроил подключение к нему пользователей в режиме удалённого рабочего стола, перенёс нагрузку с временного сервера (мастерство за три года работы админом отточил до такой степени, что замену сервера выполнил через удалённый доступ к сети предприятия, не выходя из дома), и только приготовился почивать на лаврах, принимая благодарности от пользователей за то, что наконец-то снова всё стало летать, как до прехода на временный сервер на базе обычного офисного компа, как вдруг.

Вместо благодарностей на меня обрушился шквал негодования тем, что на новом (отремонтированном старом) сервере всё жутко тормозит. Стал разбираться с пристрастием — и действительно, творится что-то мистическое. Загрузка памяти 50%, загрузка процессора, пропускной способности дисков и сети — процентов по 10%, однако интерфейс операционной системы (и особенно 1С Предприятия 7.7, ради которого всё и затевалось) через удалённый доступ отрисовывается настолько медленно, что аж подбешивает.

Привлёк для решения проблемы ведущего специалиста из компании SysElegance — разработчика альтернативного Майкрософтовскому сервера терминалов. Тот сначала, конечно же, грешил на антивирус, TeamViewer и прочие резидентные программы, в изобилии запускающиеся при входе на сервер каждого пользователя, но вскоре (при моём активном аргументировании, что на временном сервере установлено точно такое же ПО, но он не тормозит) пришёл к выводу, что проблема всё же в сетевом оборудовании. Посоветовал перезагрузить коммутатор, поменять кабели, подключить сервер к сети через другую сетевую карту, через промежуточный хаб другого производителя, соединить, наконец, клиента с сервером напрямую. Я всё это сделал – результат нулевой, отрисовка интерфейса по-прежнему медленная, в то время как архивы с сервера копируются по сети на гигабитной скорости без каких-либо претензий. Удалил с сервера на всякий случай пару программ, которые теоретически могли бы замедлять работу сети — эффекта, как и ожидал, не получил.

От безвыходности начали опускаться руки, но тут я вспомнил про чудодейственную программу TCPOptimizer, которая неоднократно на разных компьютерах помогала мне восстановить работоспособность без видимых причин глючно работающего интернета. Оптимизировал ею настройки сетевого интерфейса сервера — и вуаля, удалённые рабочие столы стали работать с надлежащей скоростью, а именно лишь чуть менее быстро, чем при работе с консоли!

Должен заметить, что с описанной проблемой я периодически бодался на протяжении двух с половиной лет (на одних серверах она возникала, на других нет), но до сих пор не мог найти решения ни самостоятельно, ни в интернете. Крутые сисадмины на форумах, надуваясь от собственной важности, лишь давали бестолковые советы вроде «проверьте систему на вирусы», «установите обновления операционной системы» или учили жить («неуправляемыми коммутаторами пользуются только ламеры»), но никто не раскрыл истинную причину и не подсказал решение.

Эта статья актуальна для Windows Server 2019 в качестве сервера и Windows 10 в качестве клиента RDP. В статье мы рассмотрим шаги, которые следует предпринять для достижения максимальной производительности терминальных сессий RDP в Windows Server.

1. Коротко об основном

В Windows 10 вместе с стандартным клиентом удаленного стола (MSTSC), появился новый клиент для осуществления удаленных подключений Remote Desktop (MSRDC) client, проинсталлировать который можно из магазина Microsoft Windows 10.

Отметим, что изначально MSRDC поддерживал удаленные подключения с Windows Virtual Desktop (VDI). На данный момент существуют клиенты для Windows Desktop, Android, iOS, macOS.

Можно сравнить два типа клиентов для удаленных подключений – MSTSC и MSRDC.

Тестирование проводилось на виртуальных машинах с Windows Server 2019 и Windows 10.

В качестве теста копировался файл с клиента на сервер. По итогу тестирования имеем такие результаты – копирование с помощью MSTSC:

Повышение производительности

Повышение производительности

Для сравнения – скриншоты процесса копирования файла с помощью MSRDC:

Повышение производительности

Повышение производительности

Как видим, файл копируется быстрее с помощью mstsc, но при этом mstsc создает значительно более высокую нагрузку на сеть и ЦП, занимая практически все доступные ресурсы. При этом использование нового клиента MSRDC выглядит более предпочтительным, т.к. при большом количестве одновременных подключений будет создавать более пологий график нагрузки на системные ресурсы, чем MSTSC.

С другой стороны, хочется отметить «сырость» нового клиента для удаленных подключений. К примеру, копирование файлов с сервера на клиент попросту не работает. При этом оба клиента используют протокол TCP для подключения к серверу.

2. Сжатие передачи данных при подключении к серверу

Для клиентов RDP можно настроить сжатие передачи данных при подключении к серверу.

Для этого на сервере необходимо открыть объект локально групповой политики и изменить значение:

Конфигурация компьютера → Административные шаблоны → компоненты Windows→ Службы удаленных рабочих столов → Удаленный рабочий стол узле сеансов → Среда удаленного сеанса → Настроить сжатие для данных RemoteFX.

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

Для эксперимента попробуем оптимизировать работу за счет оптимизации работы пропускной способности сети.

Меняем параметр и перезагружаем сервер:

Повышение производительности

Смотрим, что получилось для MSTSC:

Повышение производительности

Как видим – ничего не поменялось. Это потому, что данный механизм будет заметен только на большом количестве подключений. Тогда-то мы и увидим уменьшение потребления пропускной способности сети.

3. Отключение перенаправленных устройств

Настройка с помощью GPO находится в:

Конфигурация компьютера → Административные шаблоны → Компоненты Windows → Службы удаленных рабочих столов → Удаленный узел сеансов рабочего стола → Перенаправление устройств и ресурсов.

Здесь можно включить или отключить параметры перенаправления для клиентских устройств. В том числе – видеозахват, воспроизведение и запись звука, буфер обмена, перенаправление com портов, перенаправление LPT-портов, локальных дисков, самонастраивающихся устройств, устройств чтения смарт карт и перенаправления часового пояса.

Чем больше перенаправленных устройств используется, тем больше пропускной способности сети сервера они поглощают.

Перенаправленные принтеры и устройства Plug & Play потребляют ресурсы процессора также при входе в сеанс RDP.

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

4. Параметры интерфейса клиента

  • Отключить фоновый рисунок, это значительно снизит потребление пропускной способности сети.
  • Кеш точечных рисунков необходимо всегда включать, т.к. в этом случае создается клиентский кэш растровых изображений, отображаемых в сеансе, что значительно снижает использование пропускной способности.
  • Имеет смысл выключать отображение содержимого окон при перетаскивании, т.к. это снижает нагрузку на сеть за счет отображения только рамки окна вместо всего содержимого.
  • Точно так же стоит отключать анимацию меню и окон, поскольку она увеличивает нагрузку на сетевую подсистему
  • ClearType нужно включать для систем более ранних, чем Windows 7 и Windows 2008 R2
  • Стили оформления – параметр, актуальный для систем Windows 7 и более ранних. Если параметр отключен, пропускная способность снижается за счет упрощения чертежей, использующих классическую тему.
  • Серьезно влияет на загрузку ЦП и пропускной способности сети и разрешение экрана, с которым клиент подключается к серверу.
  • Корпорация Microsoft рекомендует оставлять параметры подключения клиента в автоматическом режиме, но есть смысл попробовать выставить параметры вручную.

Например, если вы выставите на клиенте настройку «Подключаться со скоростью модем 56 Кбит/с – это отключит множество визуальных эффектов и значительно ускорит работу сервера в контексте подключения большого числа клиентов RDP.

5. Параметры конфигурации сервера RDP

  • Файл подкачки на сервере должен иметь достаточный размер. При нехватке виртуальной памяти в работе сервера могут возникать сбои.
  • Антивирус может значительно замедлить работу системы. Особенно серьёзно он может влиять на загрузку ЦП. Есть рекомендация исключать папки с временными файлами, особенно те, которые создаются системой.
  • Планировщик заданий может содержать большое количество заданий, ненужных на сервере RDS. Их есть смысл отключать.
  • На сервере RDS рекомендуется отключать все уведомления рабочего стола, поскольку они могут потреблять значительное количество системных ресурсов.

Также читайте

Previous

Next

Если подключение к удаленному рабочему столу работает очень медленно на компьютерах с Windows 11 или Windows 10, попробуйте эти советы и рекомендации по устранению неполадок, чтобы исправить это. Может быть несколько причин, по которым вы можете столкнуться с этой проблемой на своем компьютере. Тем не менее, в этой статье объясняется большинство распространенных причин наряду с решениями.

Подключение к удаленному рабочему столу очень медленное

Если подключение к удаленному рабочему столу в Windows 11/10 очень медленное, выполните следующие действия:

  1. Отключить VPN
  2. Изменить интернет-соединение
  3. Изменить настройки дисплея
  4. Включить параметр групповой политики
  5. Проверьте значения реестра
  6. Используйте сторонние приложения для удаленного рабочего стола

Чтобы узнать больше об этих решениях, продолжайте читать.

1]Отключить VPN

Это первое, что вам нужно сделать, если подключение к удаленному рабочему столу на вашем компьютере очень медленное. Если вы используете VPN с некоторыми проблемами с сервером, ваше интернет-соединение будет прервано. Вот почему вы можете получить низкую скорость при использовании подключения к удаленному рабочему столу. Имея это в виду, вам нужно отключить VPN, чтобы решить эту проблему.

2]Изменить интернет-соединение

Даже если вы не используете VPN или прокси, вы можете попробовать изменить интернет-источник вашего компьютера. Поскольку для подключения к удаленному рабочему столу требуется действующее подключение к Интернету, вам необходимо предоставить его на свой компьютер. Если у вашего интернет-соединения есть потеря ping или какие-либо другие проблемы, это может быть причиной проблемы с медленным подключением к удаленному рабочему столу. Вот почему настоятельно рекомендуется как можно скорее переключиться на другой интернет-источник.

3]Настройка параметров дисплея

Очень медленное подключение к удаленному рабочему столу в Windows 11/10

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

  • Найдите подключение к удаленному рабочему столу в поле поиска на панели задач.
  • Нажмите на отдельный результат поиска.
  • Нажмите кнопку Показать параметры.
  • Переключитесь на кнопку «Дисплей».
  • Переместите панель конфигурации дисплея вправо.
  • Разверните раскрывающееся меню «Цвета».
  • Выберите параметр «Наивысшее качество».
  • Нажмите кнопку Подключить.

Теперь вы больше не должны сталкиваться с той же проблемой.

4]Включить параметр групповой политики

Очень медленное подключение к удаленному рабочему столу в Windows 11/10

Существует параметр групповой политики с именем Отключить автоматическое обновление корневых сертификатов, который может быть причиной этой ошибки. Если этот параметр отключен в редакторе локальной групповой политики, ваше соединение может быть медленным. Другими словами, то же самое может быть отражено в подключении к удаленному рабочему столу. Вот почему выполните следующие действия, чтобы включить параметр групповой политики:

  • Нажмите Win + R> введите gpedit.msc> нажмите кнопку ОК.
  • Перейдите к: Конфигурация компьютера > Административные шаблоны > Система > Управление интернет-связью > Настройки интернет-связи
  • Дважды щелкните параметр «Отключить автоматическое обновление корневых сертификатов».
  • Выберите параметр «Включено».
  • Нажмите кнопку ОК.

Далее необходимо перезапустить панель подключения к удаленному рабочему столу.

5]Проверьте значения реестра

Очень медленное подключение к удаленному рабочему столу в Windows 11/10

Один и тот же параметр групповой политики можно включить или отключить с помощью редактора реестра. Если вам удобно работать с реестром Windows, выполните следующие действия:

  • Нажмите Win+R > введите regedit > нажмите кнопку Enter.
  • Нажмите кнопку «Да» в приглашении UAC.
  • Перейдите по этому пути: HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftSystemCertificatesAuthRoot
  • Щелкните правой кнопкой мыши AuthRoot> Создать> Значение DWORD (32-разрядное).
  • Задайте имя DisableRootAutoUpdate.
  • Дважды щелкните по нему, чтобы установить значение данных равным 1.
  • Нажмите кнопку ОК.
  • Перезагрузите компьютер.

После этого проверьте, была ли проблема решена или нет.

6]Используйте сторонние приложения для удаленного рабочего стола.

Если ни одно из вышеупомянутых решений вам не помогло, вы можете использовать сторонние приложения для удаленного рабочего стола. Например, TeamViewer — одно из лучших приложений для удаленного рабочего стола для Windows.

Читайте: Включите удаленный рабочий стол с помощью командной строки или PowerShell.

Почему мое подключение к удаленному рабочему столу такое медленное?

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

Как ускорить удаленный рабочий стол в Windows 11/10?

Чтобы сделать удаленный рабочий стол быстрее в Windows 11/10, вам сначала необходимо иметь высокоскоростное подключение к Интернету. Затем вы можете избавиться от VPN или сторонних приложений брандмауэра. Затем вы можете следовать решениям, упомянутым ранее, чтобы ускорить работу удаленного рабочего стола за считанные минуты.

Я надеюсь, что эти решения сработали для вас.

Прочтите: ваши учетные данные не работали в удаленном рабочем столе.

Лучший ответ Сообщение было отмечено v1le как решение

Решение

v1le, речь идет об RDP-подключении в локальной сети, или через интернет?

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

Оптимизация скорости RDP

Оптимизация скорости RDP – достаточно обширная тема, поэтому я разделю её на части. В этой будут те способы, которые будут уменьшать нагрузку на протокол до сжатия и до оптимизации сетевого уровня.
Цветность (битовая глубина)

В RDP 7.0 и выше доступны варианты 32,16 и 8 бит. Если речь идёт о работе, то для неё будет достаточно 16 бит. Это ощутимо снизит нагрузку на канал, притом иногда больше, чем в 2 раза, что удивительно, но факт. 8 бит, конечно, тоже можно, но уж больно страшно оно будет выглядеть. 16 бит же вполне приемлемы.
Примечание: В Windows Server 2008 R2 подключения с 8 битами уже не доступны.
Включите на сервере параметр Limit Maximum Color Depth, либо сделайте аналогичное действие в настройках RDP client.
Отключите ClearType

Когда у Вас выключен ClearType, протокол RDP передаёт не картинку, а команды по отрисовке символов. Когда включен – рендерит картинку со стороны сервера, сжимает и пересылает клиенту. Это с гарантией в разы менее эффективно, поэтому отключение ClearType значительно ускорит процесс работы и уменьшит время отклика. Сами удивитесь, насколько.
Это можно сделать как на уровне настроек клиента, так и на стороне сервера (параметр Do not allow font smoothing в разделе Remote Session Enviroment в Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host).
Уберите wallpaper

Параметр Enforce removal of RD Wallpaper в разделе Remote Session Enviroment в Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host резко улучшит ситуацию с перерисовкой экрана терминальной сессии. Пользователи без котиков на десктопе выживают нормально, проверено.
Включаем и настраиваем кэширование изображений

Если на клиенте есть достаточно оперативной памяти, то имеет смысл включить и настроить кэширование битмапов. Это позволит выиграть до 20-50% полосы пропускания. Для установки надо будет зайти в ключ
HKEY_CURRENT_USERSOFTWAREMicrosoftTerminal Server Client
и создать там параметры BitmapPersistCacheSize и BitmapCacheSize, оба типа DWORD 32.
Параметр BitmapPersistCacheSize обозначает размер в килобайтах дискового кэша. Значение по умолчанию – 10. Имеет смысл увеличить этот параметр хотя бы до 1000.
Параметр BitmapCacheSize обозначает размер в килобайтах кэша в RAM. Значение по умолчанию – 1500. Имеет смысл увеличить этот параметр хотя бы до 5000. Это будет всего 5 мегабайт на клиентскую сессию, при современных масштабах оперативной памяти это несущественно, и даже если приведёт к выигрышу 10% производительности, уже себя окупит. Кстати, этот же параметр можно поправить и в .rdp-файле; если сохранить своё RDP-подключение, а после открыть файл блокнотом, то среди параметров можно добавить что-то вида bitmapcachesize:i:5000, где 5000 – это 5МБ кэша.
Отключаем Desktop Composition

Desktop Composition привносит всякие “красивости” типа Aero и его друзей и ощутимо кушает полосу пропускания. Для работы это не нужно и вредно. Параметр Allow desktop composition for RDP Sessions в разделе Remote Session Enviroment в Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host необходимо выставить в параметр Disabled.
Оптимизируем параметры Desktop Window Manager

Параметры, находящиеся в разделе Remote Session Enviroment в Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Desktop Window Manager, будут управлять “красивым” отображением плавно выезжающих меню и подобного. Их три – Do not allow window animations, Do not allow desktop compositions и Do not allow Flip3D invocation. Все их надо переключить в режим Enabled, т.е. по сути – отключить все эти функции.
Отключаем редирект неиспользуемых устройств

Если у Вас не планируется подключение определённых классов устройств (например, COM и LPT-портов), или аудио, имеет смысл отключить возможность их перенаправления со стороны сервера. Чтобы клиенты с дефолтными настройками RDP Client не тратили время подключения на согласование неиспользуемого функционала. Это делается там же, где и остальные настройки сервера, в Properties у RDP-Tcp, вкладка Client Settings (там же, где мы делали настройки с глубиной цвета), раздел Redirection.
Настраиваем общую логику оптимизации визуальных данных RDP

Параметр, называющийся Optimize visual experience for RDP sessions, находящийся в разделе Remote Session Enviroment в Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Remote Session Enviroment, будет управлять тем, как RDP будет воспринимает визуальные данные – как мультимедийные или как текстовые. Это, грубо говоря, “подсказка” алгоритму сжатия, как грамотнее себя вести. Соответственно, для работы надо будет выставить этот параметр в Text, а если хочется много красивых flash-баннеров, HTML5 и просматривать видеоклипы – лучше вариант Rich Multimedia.

Оптимизация сжатия RDP

Сжатие в RDP прошло долгий путь развития. По RDP 5.2 включительно была подсистема сжатия (“компрессор”), имеющий внутреннее название “Version 1” – самый простой и лёгкий вариант с точки зрения загрузки процессора клиента, но самый плохой с точки зрения нагрузки сети трафиком. В RDP 6.0 сделали “Version 2”, который был незначительно, но улучшен по параметру эффективности сжатия. Нам интересен “Version 3”, который работает только при подключении к серверам Windows Server 2008 и старше. Он сжимает лучше всех, а затраты процессорного времени с учётом мощностей современных компьютеров несуществены.
Выигрыш при включении V3 может, судя по тестам, достигать 60% и, в общем-то, и без тестов ощутимо заметен на глаз.
Как включить оптимальное сжатие в RDP

Это – клиентская настройка. Откройте в нужном объекте групповой политики Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Remote Session Enviroment, выберите там параметр Set compression algoritm for RDP data, включите его и выберите значение Optimize to use less network bandwidth.
Примечание: У многих возникает вопрос, зачем в списке есть параметр “отключить сжатие”. Это нужно в случае, когда Ваши RDP-сессии сжимает внешнее устройство, оптимизирующее WAN-подключения, что-то вида Cisco WAAS. В других случаях, конечно, отключать сжатие смысла нет.
Настройка сжатия звукового потока

RDP 7.0 приносит отличную возможность регулировать качество сжатия входящего звукового потока (т.е. звука, который идёт с сервера на клиента). Это достаточно полезно – например, если идёт работа на терминальном сервере, то кроме всяких служебных звуков вида “пришло сообщение в ICQ” другие особо как не планируются. Нет смысла передавать с сервера несжатый звук CD-качества, если для работы это не нужно. Соответственно, нужно настроить уровень сжатия звукового потока.
Данный параметр будет называться Limit audio playback quality и находиться в разделе Device and Resource Redirection в Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host. Вариантов будет три:
High – звук будет идти без сжатия. Вообще. То есть, он будет подпадать под общее сжатие протокола RDP, но специфическое сжатие звука (с потерей качества) производиться не будет.
Medium – сжатие будет адаптироваться под канал так, чтобы не увеличивать задержку при передаче данных.
Dynamic – сжатие будет динамически адаптироваться под канал так, чтобы задержка не превышала 150ms.
Выберите подходящий. Как понятно, для офисной работы лучше выбрать Dynamic.

Оптимизация соотношения потоков данных в RDP

Трафик RDP-сессии не является чем-то монолитным. Наоборот, он достаточно чётко разделён на потоки данных перенаправляемых устройств (например, копирования файла с локального хоста на терминальный сервер), аудиопоток, поток команд примитивов отрисовки (RDP старается передавать команды примитивов отрисовки, и передаёт битмапы в крайнем случае), а также потоки устройств ввода (мышка и клавиатура).
На взаимное соотношение этих потоков и логику его (соотношения) вычисления (этакий локальный QoS) можно влиять. Для этого надо со стороны сервера зайти в ключ реестра
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServic esTermDD
и создать там для начала (если их там нет) четыре ключа:
FlowControlDisable
FlowControlDisplayBandwidth
FlowControlChannelBandwidth
FlowControlChargePostCompression
Тип у всех – DWORD 32. Функционал у ключей будет следующим.
Ключ FlowControlDisable будет определять, используется ли приоритезация вообще. Если задать единицу, то приоритезация будет выключена, если нуль – включена. Включите её.
Ключи FlowControlDisplayBandwidth и FlowControlChannelBandwidth будут определять взаимное соотношение двух потоков данных:
Поток взаимодействия с пользователем (изображение+устройства ввода)
Прочие данные (блочные устройства, буфер обмена и всё остальное)
Сами значения этих ключей не критичны; критично то, как они соотносятся. То есть, если Вы сделаете FlowControlDisplayBandwidth равным единице, а FlowControlChannelBandwidth – четырём, то соотношение будет 1:4, и на поток взаимодействия с пользователем будет выделяться 20% полосы пропускания, а на остальное – 80%. Если сделаете 15 и 60 – результат будет идентичным, так как соотношение то же самое.
Ключ FlowControlChargePostCompression будет определять, когда считается это соотношение – до сжатия или после. Нуль – это до сжатия, единица – после.
Я рекомендую для использования вида “наш удалённый сервак далеко и к нему все по RDP подключаются и в офисе и 1С работают” ставить соотношение 1:1 и считать его после сжатия. По опыту это может реально помочь в ситуации “печать большого документа с терминального сервера на локальный принтер”. Но это не догма – пробуйте, главный инструмент – знание, как это считается и работает – у Вас уже есть.

Источник



2



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

Содержание:

  • Падение производительности RDS в Windows Server 2016/2019 с UPD
  • Проблемы с мышью в RDP сессии на Windows Server 2019/2016 RDS
  • Медленно работают RemoteApp и отрисовываются меню в Windows 10

Падение производительности RDS в Windows Server 2016/2019 с UPD

На RDS серверах с Windows Server 2019/2016 с большим количеством пользователей можно столкнутся с плохой производительностью при использовании для профилей пользователей User Profile Disks.

Проблема заключается в том, в брандмауэре Windows Defender Firewall создаются новые входящие и исходящие правила при каждом входе пользователя, и эти правила не удаляется при завершении сессии.

Со временем количество таких правил в брандмауэре становится очень много, что вызывает существенное падение производительности RDS сервера (медленный вход в систему, черный экран при входе по RDP, зависают RDS хосты, не открываются меню и не отображается кнопка Пуск).

тысячи правил файервола в брандмауере windows defender на RDS серверах Windows Server 2019

Проверьте количество правил в Windows Defender Firewall с помощью команды PowerShell:

(Get-NetFirewallRule).count

очень много пользовательских правил файервола на rds windows server 2019

В моем случае на одном их хостов оказалось 18 тысяч правил! Эти правила создаются для UWP приложений магазина Windows при каждом входе пользователя.

Для исправления проблемы нужно сначала установить все обновления безопасности для вашей версии Windows Server (как минимум KB4467684 для Windows Server 2016 и KB4490481 для Windows Server 2019). Затем создайте следующий параметр реестра на RDSH хосте:

  • Ветка: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesSharedAccessParametersFirewallPolicy
  • Тип: REG_DWORD
  • Параметр: DeleteUserAppContainersOnLogoff
  • Значение:
    1

Можно создать параметр реестра с помощью команды PowerShell:

New-ItemProperty -Path “HKLM:SYSTEMCurrentControlSetServicesSharedAccessParametersFirewallPolicy” -Type DWord -Path -Name DeleteUserAppContainersOnLogoff -Value 1

Не забудьте вручную очистить входящие и исходящих правил в Windows Defender Firewall. Если правил файервола немного, можно использовать готовый PowerShell скрипт с форума TechNet (https://social.microsoft.com/Forums/Azure/en-US/992e86c8-2bee-4951-9461-e3d7710288e9/windows-servr-2016-rdsh-firewall-rules-created-at-every-login?forum=winserverTS).

Проблемы с мышью в RDP сессии на Windows Server 2019/2016 RDS

Многие пользователи стали жаловаться на проблемы с мышью в RDP сессии после миграции фермы RDS на Windows Server 2019. Мышь очень медленно реагирует на движения, курсор дрожит и зависает.

Эта проблема может связана с высокой частотой опроса (Report Rate) и DPI в настройках некоторых оптических мышек (обычно у игровых мышей). Например, у популярной мыши Logitech G203 по умолчанию задана частота опроса 1000 раз в секунду (1000 Гц). Высокая скорость опроса мыши похоже вызывает высокую нагрузку на RDP подключение, и вы можете столкнуться с тормозами при работе с RemoteApp приложениями. Если уменьшить это значение до 125 раз в секунду (125 Гц), проблема с мышкой в RDP сессии исчезнет.

Уменьшить Polling Rate/Report Rate можно в утилитах настройки параметров мыши от вендора.

уменьшить частоту опроса мыши в rds на windows server 2019

Если вы не можете уменьшить частоту опроса, попробуйте в настройках мыши в панели управления Windows (
main.cpl
) отключить тень курсора мыши (отключите опцию Enable pointer shadow) и выбрать схему None для указателя.

отключить тему для мыши в RDP сесии пользователяpo-umolchaniyu

Медленно работают RemoteApp и отрисовываются меню в Windows 10

При обновлении билда Windows 10 пользователи могут столкнуться с проблемами при работе с RemoteApp приложения, опубликованными на RDS серверах Windows Server 2019/2016/2012К2. RemoteApp могут начать работать заметно медленнее, любое действие, которое вызывается щелчком мыши выполняется (отрисовывается?) в 2-3 раза дольше. Особенно медленно отображаются контекстные меню в приложениях RemoteApp (пункты меню мерцают, приходится нажимать на них по несколько раз, иногда совсем не появляются). Такие проблемы массово встречали при обновлении билда Windows 10 на клиентах до 1803 и 20H2.

При этом проблемы не проявляются в окне обычного подключения к RDS серверу с помощью клиента Mstsc или RDCMan.

Для временного решения проблемы можно попробовать в редакторе локальной GPO (gpedit.msc) на RDS серверах изменить значение параметра Use advanced RemoteFX graphics for RemoteApp (Использовать дополнительную графику для удаленного приложения RemoteApp) на Disabled (раздел Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Remote Session Environment, в русской редакции Windows путь такой: Компоненты Windows -> Службы удаленных рабочих столов -> Узел сеансов удалённых рабочих столов -> Среда удаленных сеансов).

Использовать дополнительную графику для удаленного приложения RemoteApp

Если в качестве RemoteAPP опубликованы графические программы (например, из семейств CAD), то без Remote FX они работать не будут.

Также есть обходное решение, которое заключается в замене версии клиента RDP на более старую. Т.к. проблемы с производительностью Remoteapp встречались еще в Windows 10 1709, лучше всего использовать библиотеки RDP из 1607 или 1703.
Дело в том, что после апгрейда билда Windows 10 в системе устанавливается новая версия клиента RDP, которая на данный момент работает некорректно с опубликованными через RemoteApp приложениями.
Если заменить файлы mstsc.exe и mstscax.dll в каталоге C:WindowsSystem32 на версии файлов из предыдущего билда Windows 10 (1703 или 1607), проблема с производительностью RemoteApp исчезает.

Как заменить файлы клиента RDP в Windows 10:

  1. Закройте все RDP подключения и запущенные RemoteApp (лучше даже перезагрузить компьютер);
  2. Скачайте архив с версиями файлов mstsc.exe и mstscax.dll из Windows 10 1607 (ссылка на скачивание с Я.Диска mstsc-w10-1607.zip);
  3. Скопируйте оригинальные файлы mstsc.exe и mstscax.dll из каталога C:windowssystem32 в каталог C:Backup с помощью команд:
    md c:backup
    copy C:windowssystem32mstsc.exe c:backup
    copy C:windowssystem32mstscax.dll c:backup
  4. Затем нужно назначить свою учетную запись владельцем файлов mstsc.exe и mstscax.dll в каталоге C:windowssystem32, отключите наследование и предоставьте себе права на изменение файлов:
    takeown /F C:windowssystem32mstsc.exe
    takeown /F C:windowssystem32mstscax.dll
    icacls C:windowssystem32mstsc.exe /inheritance:d
    icacls C:windowssystem32mstscax.dll /inheritance:d
    icacls C:windowssystem32mstsc.exe /grant root:F
    icacls C:windowssystem32mstscax.dll /grant root:F

    замена mstsc.exe и mstscax.dll в Windows 10 1803 / 1709.
    (в этом примере имя локальной учтённой записи с правами администратора – root. Замените ее на имя вашей учетной записи).
  5. Замените файлы в каталоге C:windowssystem32 файлами из скачанного архива;
  6. Восстановите оригинальные разрешения на заменённых файлах. Включите наследование NTFS разрешений и установите владельцем файлов NT ServiceTrustedInstaller:
    icacls C:windowssystem32mstsc.exe /inheritance:e
    icacls C:windowssystem32mstscax.dll /inheritance:e
    icacls C:windowssystem32mstsc.exe /setowner "NT ServiceTrustedInstaller" /T /C
    icacls C:windowssystem32mstscax.dll /setowner "NT ServiceTrustedInstaller" /T /C
  7. Осталось перерегистрировать библиотеку:
    regsvr32 C:WindowsSystem32mstscax.dll

Это позволит временно исправить проблему с производительностью RemotApp в клиентах Windows 10.

Содержание

  1. Избавляемся от подвисания RDP сессии
  2. Улучшение производительности RDP-подключения
  3. Решение
  4. Проблемы с Windows 10 1803, медленная работа RemoteAPP
  5. «Мы с друзьями нашли это дерево и не могли пройти мимо»
  6. Защитивший влюблённую пару от пьяных хулиганов МЧСник теперь может попасть в тюрьму
  7. Чем отличается Икеевская инструкция от отечественной?
  8. Так оно и есть
  9. Ехай-на**й.
  10. Были времена
  11. Скриншот коммента
  12. Закон есть закон
  13. Интересное открытие
  14. Налоговый парадокс
  15. Ответ на пост «Святая простота»
  16. У господ тоже кризис
  17. Странный магазин
  18. Разбор статистики COVID 19 в зависимости от % вакцинированных по странам
  19. Как сделать работу с Microsoft Remote Desktop лучше
  20. Апгрейд RPC-HTTP до HTTP
  21. Windows XP или Vista
  22. Апгрейд HTTP до HTTP+UDP
  23. О проблемах
  24. Как мониторить шлюз с RDGW

Избавляемся от подвисания RDP сессии

В это непростое время, когда весь мир пытается справиться с коронавирусной инфекцией COVID-2019, многие перешли на удаленный режим работы.

Те, кто используют подключение к удаленному рабочему столу (RDP) до своего рабочего компьютера могут столкнуться с фризами (подвисаниями) в работе удаленного рабочего стола (RDP). Обычно, переподключение решает эту проблему, но через некоторое время проблема повторяется. При этом нет видимых проблем со связью.

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

В начале, следует проверить используется ли UDP при подключении к RDP, для этого необходимо кликнуть на кнопку в окне подключения:

2020 04 14 13 55 14

Если появится следующее сообщение:

2020 04 14 13 52 25

То для решения проблемы можно попробовать принудительно отключить использование UDP протокола при подключении к RDP.

Указанные действия необходимо проводить на компьютере к которому осуществляется подключение.

2020 04 14 13 56 45

Если у Вас Windows 10 Home, воспользуйтесь статьей на нашем сайте для включения редактора gpedit.

Далее, нам следует найти раздел «Конфигурация компьютера» — «Административные шаблоны» — «Компоненты Windows» — «Службы удаленных рабочих столов» — «Клиент подключения к удаленному рабочему столу«

2020 04 14 14 02 26

Здесь нам нужно изменить параметр «Отключение UDP на клиенте«. Двойной клик на этом параметре и выбираем «Включено«

2020 04 14 14 03 04

Кроме того, нам необходимо найти раздел «Конфигурация компьютера» — «Административные шаблоны» — «Компоненты Windows» — «Службы удаленных рабочих столов» — «Узел сеансов удаленных рабочих столов» — «Подключения«

2020 04 14 14 10 30

Здесь нам следует изменить параметр «Выбор транспортных протоколов RDP«. Двойной клик на этом параметре и выбираем «Включено» и в параметрах указываем тип транспорта «Использовать только TCP«.

2020 04 14 14 10 56

После сохранения необходимо перезагрузить компьютер.

Для проверки того, что подключение идет без использования протокола UDP кликнем на кнопку в окне подключения:

2020 04 14 13 55 14

Теперь в сообщении не должно быть информации о UDP:

2020 04 14 14 13 35

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

Все статьи на тему RDP и устранения проблем в его работе на нашем сайте.

Источник

Улучшение производительности RDP-подключения

Добрый день.
Настроено подключение к удаленной машине, но работает очень медленно. Различные артефакты на экране, долгое сворачиваниеразворачивание приложения и другие «лаги».

В win7, например, можно было настроить colordepth, который ускорял отображение информации.

Существуют ли какие-нибудь «твики» для таких подключений в Win10Home?

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Время ожидания подключения к RDP
Здравствуйте, может кто знает как увеличить время ожидания подключения в стандартной утилите RDP.

Улучшение рейтинга производительности Windows 7
Здравствуйте. Насчет Windows Experience Index (system component rating). Какие есть действенные.

Улучшение производительности путем замены комплектующих
Доброго времени суток, собрал не давно для себя Пк по быстрее чем был до этого, сумма была не.

нет потерь пакетов? запустите команду пинг на ппару минут с кодом

где 192.168.1.1 ip компьютера к которому подключаетесь.

Решение

v1le, речь идет об RDP-подключении в локальной сети, или через интернет?

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

Оптимизация скорости RDP – достаточно обширная тема, поэтому я разделю её на части. В этой будут те способы, которые будут уменьшать нагрузку на протокол до сжатия и до оптимизации сетевого уровня.
Цветность (битовая глубина)

В RDP 7.0 и выше доступны варианты 32,16 и 8 бит. Если речь идёт о работе, то для неё будет достаточно 16 бит. Это ощутимо снизит нагрузку на канал, притом иногда больше, чем в 2 раза, что удивительно, но факт. 8 бит, конечно, тоже можно, но уж больно страшно оно будет выглядеть. 16 бит же вполне приемлемы.
Примечание: В Windows Server 2008 R2 подключения с 8 битами уже не доступны.
Включите на сервере параметр Limit Maximum Color Depth, либо сделайте аналогичное действие в настройках RDP client.
Отключите ClearType

Если у Вас не планируется подключение определённых классов устройств (например, COM и LPT-портов), или аудио, имеет смысл отключить возможность их перенаправления со стороны сервера. Чтобы клиенты с дефолтными настройками RDP Client не тратили время подключения на согласование неиспользуемого функционала. Это делается там же, где и остальные настройки сервера, в Properties у RDP-Tcp, вкладка Client Settings (там же, где мы делали настройки с глубиной цвета), раздел Redirection.
Настраиваем общую логику оптимизации визуальных данных RDP

Сжатие в RDP прошло долгий путь развития. По RDP 5.2 включительно была подсистема сжатия (“компрессор”), имеющий внутреннее название “Version 1” – самый простой и лёгкий вариант с точки зрения загрузки процессора клиента, но самый плохой с точки зрения нагрузки сети трафиком. В RDP 6.0 сделали “Version 2”, который был незначительно, но улучшен по параметру эффективности сжатия. Нам интересен “Version 3”, который работает только при подключении к серверам Windows Server 2008 и старше. Он сжимает лучше всех, а затраты процессорного времени с учётом мощностей современных компьютеров несуществены.
Выигрыш при включении V3 может, судя по тестам, достигать 60% и, в общем-то, и без тестов ощутимо заметен на глаз.
Как включить оптимальное сжатие в RDP

Источник

Проблемы с Windows 10 1803, медленная работа RemoteAPP

Последнее обновление Windows 10 версии 1803 April Update принесло проблемы с отрисовкой для пользователей работающих с RemoteApp приложениями, опубликованными на RDS серверах с Windows Server 2012 R2/ Server 2016. с установленными актуальными обновлениями безопасности.

1526896348191642040

Не корректно отрисовывается окно при развёртывании и свёртывании, иногда в сессии залипают клавиши.

При всём при этом клиенты Windows 7 и более старых версий Windows 10 (1703, 1607) с RemoteApp работают нормально. При подключении через RDP к рабочему столу все приложения и меню на RDS сервере отображаются нормально.

Помимо ошибки CredSSP encryption oracle remediation (https://pikabu.ru/story/oshibka_pri_podklyuchenii_po_rdp_cre. ), о которой я писал ранее, пользователям пришлось столкнуться ещё и с плохой производительностью RemoteApp.

Так как же решить проблему? Технические специалисты компании МАРС Телеком предложили мне 3 варианта решения.

Можно попробовать временно изменить значение политики Use advanced RemoteFX graphics for RemoteApp (Использовать дополнительную графику для удаленного приложения RemoteApp) на Disabled в редакторе локальной GPO (gpedit.msc) на RDS серверах.

1526896487191028513

1526896515172739331

Без Remote FX не будут работать графические программы, опубликованные в RemoteApp (в частности семейства CAD).

Для полноценного решения проблемы, можно откатить версию Windows на предыдущую.

Имеется и третий вариант решения проблемы. Можно заменить на более старую версию клиента RDP. Лучше использовать библиотеки RDP из версии Windows 1607 или 1703, т.к. проблема встречалась ещё на версии 1709.

Проверьте что у Вас стоит именно версия Windows 10 1803 (OS Build 17133.1) или 1709. Запустите «Выполнить» и выполните команду:

1526896571149989192

Проблема с производительностью RemoteApp исчезнет если Вы замените файлы расположенные по пути C:WindowsSystem32 на версии файлов из предыдущих версий Windows 10.

Для этого Вам необходимо:

1. Закрыть все RDP подключения и запущенные RemoteApp

2. Перезагрузить компьютер

3. Скачать архив с версиями файлов mstsc.exe и mstscax.dll из предыдущей версии Windows.

4. Необходимо скопировать в каталог C:Backup оригинальные файлы mstsc.exe и mstscax.dll из каталога C:windowssystem32. Это возможно сделать при помощи команд:

copy C:windowssystem32mstsc.exe c:backup

copy C:windowssystem32mstscax.dll c:backup

5. После необходимо назначить свою учётную запись владельцем файлов mstsc.exe и mstscax.dll в каталоге C:windowssystem32, отключите наследование и предоставьте себе права на изменение файлов:

takeown /F C:windowssystem32mstsc.exe

takeown /F C:windowssystem32mstscax.dll

icacls C:windowssystem32mstsc.exe /inheritance:d

icacls C:windowssystem32mstscax.dll /inheritance:d

icacls C:windowssystem32mstsc.exe /grant root:F

icacls C:windowssystem32mstscax.dll /grant root:F

1526896652184144031

(в примере приведено имя локальной учтённой записи с правами администратора – root. Замените ее на имя вашей учетной записи)

6. После совершённых манипуляций замените файлы в каталоге C:windowssystem32 файлами из скачанного архива.

7. Далее требуется восстановить оригинальные разрешения на заменённых файлах. Включаем наследования NTFS разрешений и поставим владельцем файлов «NT ServiceTrustedInstaller» командами:

icacls C:windowssystem32mstsc.exe /inheritance:e

icacls C:windowssystem32mstscax.dll /inheritance:e

icacls C:windowssystem32mstsc.exe /setowner «NT ServiceTrustedInstaller» /T /C

icacls C:windowssystem32mstscax.dll /setowner «NT ServiceTrustedInstaller» /T /C

8. Перерегистрируем библиотеку:

После проделанных действий в Ваших RemoteApp приложениях восстановится нормальная производительность.

установил 1803 вчера. слетел видео драйвер, отлетел микрофон, система стала тормозить, жесткий на 100%. при запуске любой игры вываливалось сообщение «ваша видеокарта не поддерживает direct» ну такое вот. не вытерпел, вернулся на 1709

Ставь 7win и не парь себе мозг

Спасибо за архив со старой версией mstsc! Не ожидал, что после спустя полчаса поисков найду его именно на пикабу!

Спасибо. Сегодня все с этим слайдшоу, не думал что новая версия RDP так глючит, хотя подозревал

Если система работает норм. то нахуа обновлять?

m1999809 1543978789

«Мы с друзьями нашли это дерево и не могли пройти мимо»

1635480238114554456

m697895 761284169

Защитивший влюблённую пару от пьяных хулиганов МЧСник теперь может попасть в тюрьму

Сотрудник МЧС Игорь Велицян заступился за пару в одном из парков Москвы и дал отпор пьяным хулиганам. Теперь мужчину обвиняют в причинении тяжкого вреда здоровью одному из нетрезвых парней.

Двое нетрезвых парней пристали к влюблённым в московском парке. В этот момент мимо проходил Игорь Велицян. Пара попросила его помочь разобраться с неприятными незнакомцами. Игорь пришёл на помощь и теперь стал обвиняемым по статье «Умышленное причинение тяжкого вреда здоровью».

m1526895 769871387

Чем отличается Икеевская инструкция от отечественной?

Икеевская: «Штучка 1 (рисунок) + штучка 2 (рисунок) = чпок!»

Отечественная: «Центральную царгу установить в проушины поперечных перемычек и наживить болтами, используя шайбы, гроверы и гайки».

m3393772 1233080521

m1583574 351397627

1623513522217842636

Так оно и есть

1635491970144114671

Ехай-на**й.

1635507940176323359

Блогеров Руслана Бобиева и Анастасию Чистову приговорили к десяти месяцам колонии за фото на фоне храма Василия Блаженного. Их обвинили в оскорблении чувств верующих.

Через несколько дней после публикации фото обоим дали по десять суток ареста и обязали выплатить штраф. Но этого не произошло, и на блогеров завели уголовное дело. После отбывания наказания Бобиева депортируют в Таджикистан.

1635508004141931252

m2219134 1250319210

Были времена

1635461330189199433

m1890842 255219024

1619888012217427661

Скриншот коммента

1635491026186178562

163548813016655159

m3316612 240709520

1612588844232368140

Закон есть закон

Недавно прошел суд. Судили главу районной администрации нашего района, за оприходованные в карман 75 миллионов, выделенных на реконструкцию водопровода. Итог : 5 лет условно.

Сижу, пью пиво, и думаю:

— И чего я не глава администрации? За такие деньги, я бы им разрешил меня даже условно расстрелять. Но видимо нельзя. Закон есть закон.

m562121 43676704

Интересное открытие

1635488261147086660

m3663165 209039906

Налоговый парадокс

1635488550128768756

m1443804 1420324458

Ответ на пост «Святая простота»

Заехал как-то к маме по хозяйству помочь. Помог, собрался домой, спускаюсь по лестнице, от подъезда отъезжает автомобиль службы доставки строительного гипермаркета, а у входа в подъезд стоит женщина: «Ой, мужчина, не поможете поднять?» И взглядом указывает на штук примерно 15 мешков со строительными смесями. Я от такой простоты не удержался и открыто заржал, ответив: «Нет»

У господ тоже кризис

Чат нашего подразделения. Вопрос был задан публично на производственном портале про ежегодную индексацию заработной платы.

1635478909174248393

Странный магазин

m180761 99358207

Разбор статистики COVID 19 в зависимости от % вакцинированных по странам

Но, для начала, вводная информация.

Вакцинация от контагиозных (которые передаются между людьми) болезней имеет 2 ступени защиты:

1) Индивидуальная защита вакцинированного человека. У разных вакцин она отличается. Так, например, вакцина от ветряной оспы защищает на 92% от симптоматической болезни и на 100% от тяжелого течения. Вакцина от кори имеет защиту в 97% от болезни и от ее тяжелого течения. А вакцины от ковида защищают от симптоматической болезни на

Обратите внимание (фото 1), как легко вирус распространяется среди невакцинированного населения (и даже если число вакцинированных составляет около 50%) и насколько радикально изменится ситуация, если вакцинировано 70-75% или более. Если 90% или более вакцинированы, то вирус просто прекращает циркулировать.

1635456663153367963

Как вы уже поняли, для того, чтобы мы полностью взяли вирус под контроль и смогли вернуться к нормальной жизни, нам нужно сформировать коллективный иммунитет, а именно, привить больше 70% населения. И да, поддерживать его на таком уровне ПОСТОЯННО. Сразу предупрежу «гениальные» идеи про «давайте просто все вместе переболеем, чтобы не травиться поганой вакциной!» (с). Иммунитет после COVID19 не пожизненный, так что этот фокус не сработает. Мы уже третью волну «все вместе переболеваем» и платим за это тысячами жизней. И как, сильно помогло? Скоро там уже конец пандемии?

Но давайте все же посмотрим, как работает коллективный иммунитет при COVID19 (а мы уже можем на это посмотреть по опыту других стран). Для начала проверим, чем помогла вакцина тем странам, где уровень вакцинированных более 50%, но менее 70%:

Вопреки заблуждению, Израиль не самая привитая страна. Количество привитых 2 дозами 62% населения. «Дельта» из-за сильной заразности дала всплеск новых случаев, и это касается всех стран, но при этом упала летальность (фото 2)

1635456777194147115

1635456805143295825

Германия, двумя дозами привито 66% населения, тут ситуация такая же (фото 4)

1635456847168237814

Теперь посмотрим, как обстоят дела у тех, кто привил более 70% населения:

1635456883120877620

В Португалии привито полностью 85,7% населения «Дельту» сбили на подлёте, летальность на минимальному уровне уже давно (фото 6)

163545691017066442

И теперь посмотрим на сильных и независимых, настоящих чемпионов по борьбе с COVID 19:

В России 32,9% населения и часть из них фальсификаты, нереально огромный рост новых случаев заболевания, цифры по смертности вызывают только ужас (фото 7)

1635456944129367310

В Украине привито 15,5% населения, из них огромная часть фальсификаты, ситуация аналогичная России, «Дельта» даёт сильный всплеск, потому что ей ничего не мешает. Слишком мало вакцинированных, а на липовые справки вирус плевать хотел.

На выходе имеем забитые под завязку больницы и полный хаос (фото 8)

1635457073151313262

Евгений Александрович Щербина, врач-инфекционист

Источник

Как сделать работу с Microsoft Remote Desktop лучше

image loaderХочу поделиться несколькими советами по настройке удаленного подключения к рабочим местам по RDP. Расскажу как проапгрейдить древний RPC-HTTP до UDP, похвалю и поругаю Windows 10 и AVC, разберу решение нескольких типичных проблем.

Считаем, что для подключения используется Remote Desktop Gateway (RDGW), а в качестве серверов выступают рабочие станции. Использовать RDGW очень удобно, потому что шлюз становится общей точкой входа для всех клиентов. Это дает возможность лучше контролировать доступ, вести учет подключений и их продолжительность. Даже если VPN позволяет подключиться к рабочим машинам напрямую — это не лучший вариант.

RDGW настраивается быстро, просто, а Let’s Encrypt и win-acme легко решают проблему с доверенным сертификатом.

Есть три транспортных протокола по которым клиент может подключиться с серверу:

RPC-HTTP ( плохо )
HTTP ( лучше )
HTTP+UDP ( отлично )

Под сервером будем понимать рабочую машину, под клиентом — домашнюю.
Первое, с чего стоит начать, это «плохо» превратить в «отлично».

Апгрейд RPC-HTTP до HTTP

Подключение в сессию с использованием RPC-HTTP легко определить по внешнему виду полоски подключения.

image loader

Здесь нет значка качества подключения (о нем ниже), а значит мы используем старый RPC, обернутый в TLS — это очень медленно. Дело, конечно, не только в обертке — сам протокол меняется с каждым релизом ОС, меняются кодеки, алгоритмы упаковки изображения. Чем свежее протокол, тем лучше.

Windows XP или Vista

В XP можно поднять протокол с 5.1 до 7. Хотфикс windowsxp-kb969084-x86.exe

Но RDP 7 не работает по HTTP и UDP. Поможет только апгрейд клиента и сервера до Windows 7 и новее.

Сначала надо обновить протокол до RDP 8.1, а затем включить его. Поддержка добавляется обновлениями, которые сгруппированы в один загрузочный пакет:

www.microsoft.com/en-US/download/details.aspx?id=40986
Windows6.1-KB2574819-v2-x64.msu
windows6.1-kb2592687-x64.msu
Windows6.1-KB2830477-x64.msu
Windows6.1-KB2857650-x64.msu
Windows6.1-KB2913751-x64.msu (заменен kb2923545)

Так вы получите и свежий клиент mstsc.exe, и поддержку RDP 8.1 серверной части ОС.
Было:

image loader

image loader

image loader

После этого протокол надо включить ключом реестра (для этого можно использовать adm шаблон в комплекте с Windows 7).

Включите поддержку транспорта UDP в групповой политике.

image loader

Перезагружаем сервер с Windows 7. Тот самый случай, когда может потребоваться перезагрузиться дважды — значение в реестре должно быть установлено до того, как включился RDP, а групповая политика применяется позже.

Если все получилось, то при подключении к серверу в полоске сессии появится иконка качества подключения (как в телефоне для мобильной сети):

image loader

Протокол работает «из коробки».

Апгрейд HTTP до HTTP+UDP

Если ваша сеть не склонна к потере пакетов, UDP существенно (для CAD — радикально) повышает отзывчивость сервера за счет использования FEC для сокращения ретрансмиссии, а также перехода подтверждения доставки пакетов с уровня системного стека TCP/IP на уровень протокола RDP-UDP.

От каждого клиента подключается одна основная управляющая сессия по HTTP (в этом канале также передается клавиатура/мышь), плюс одна или несколько сессий UDP для передачи картинки или других виртуальных каналов.

Мы коснемся только верхушки айсберга. Есть 3 различных версии протокола RDP-UDP. Кроме того, сам UDP может работать в двух режимах UDP-R (reliable) и UDP-L (lossy). С Microsoft ничего просто не бывает. Но поскольку от нас здесь ничего не зависит, просто имейте в виду — чем новее операционная система, теме более современный протокол используется.

Снаружи RDP-UDP оборачивается в Datagram Transport Layer Security (DTLS) RFC4347, в чем вы можете убедиться открыв Wireshark.

Что же нужно для включения UDP?

RDP-UDP поддерживается начиная с RDP 8.

На клиенте должен быть открыт порт udp/3389. Если вы его закрыли локальным firewall, ACL на свитче или внешнем файрволле — порт надо открыть.

Для сервера Remote Desktop Gateway к порту tcp/443 надо открыть udp/3391.

Порт можно поменять, вот как он настраивается:

image loader

Для Windows 7 обязательно должен быть включен NLA (Network Level Authentication).

image loader

Можно включить в групповой политике

image loader

В чем связь непонятно. Но без NLA на 7-ке не работает, на более свежих релизах NLA для работы UDP не обязателен.

После установления сессии по HTTP, клиент и сервер пробуют согласовать подключение по UDP. Если есть выпадение пакетов или задержки, то сессия UDP не запустится. Точный алгоритм отказа согласования UDP до конца не понятен.

Если все настроено, то после подключения нажмите на кнопку качества связи. В окошке будет указано, что согласован UDP.

image loader

На шлюзе это выглядит так:

image loader

Если у вас Windows 10 и на сервере, и на клиенте, то это самый быстрый и беспроблемный вариант. В Microsoft активно дорабатывают RDP, и в свежих релизах 10 вы можете рассчитывать на неплохую скорость работы. Коллеги не смогли обнаружить разницу между Citrix и Windows 10 RDP по скорости работы в AutoCAD.

Согласование AVC с аппаратным кодированием можно увидеть в журнале событий (подробнее в статье выше):

image loader

image loader

Замечу только, что проблема искажений все же есть даже с h.264 4:4:4. Она сразу бросается в глаза если работать в PowerShell ISE — текст ошибок выводится с неприятным искажением. Причем на скриншоте и на фотографии все отлично. Волшебство.

Также косвенным признаком работы AVC являются время от времени появляющиеся зеленые квадраты по углам.

AVC и аппаратное кодирование в свежих билдах должно работать из коробки, но групповая политика никогда не бывает лишней:

image loader

С учетом того, что AVC кодируется аппаратно видеокартой, то обновить драйверы видео — хорошая идея.

О проблемах

Если проблема возникает на Windows XP или Vista, попробуйте сначала обновить протокол до 7 версии (писал в начале статьи). Обязательно включите поддержку CredSSP. На сайте Microsoft статьи уже удалены, но Интернет помнит.

Если не помогло — «доктор говорит в морг, значит в морг». Что испытала на себе операционная система за последние 15 лет — лучше об этом даже и не думать.

Иногда помогает отключение NLA на сервере. Выяснить причину не получилось, домашние машины все разные.

Некоторые клиенты пытаются авторизоваться с использованием NTLMv1. Причины разные, но исправить на клиенте можно так:

Если вы молоды и дерзки ничего не боитесь, то есть более радикальное решение — отключение Channel Binding на Remote Desktop Gateway

Делать так не надо. Но мы делали. 🙂 Для клиента, который настаивал (нет не так, НАСТАИВАЛ) что NTLMv1 на рабочих станциях ему необходим. Не знаю, может там серверы на NT4 без SP еще в работе.

Отключение RDP 8+ в Windows 10

Если ничего не помогает, а идеи кончились, можно воспользоваться недокументированным ключом для даунгрейда протокола RDP до 7 версии.

Сам не делал, и вам не советую. Но кому-то, пишут, что помогает.

Компонент Dr.Web SpIDerGate может запретить подключение. В этом случае возвращается ошибка:
image loader
В статистике Dr.Web будет запись:
image loader
В комментариях к этой статье со мной связался сотрудник Dr.Web и наша проблема решилась в ближайшем обновлении антивирусных баз.
Если у вас такая же ошибка, лучше обратиться в поддержку.
Как временное решение, можно внести URL вашего RDGW в исключения:
image loader
И только если не помогло отключить компонент SpIDer Gate полностью.

Встретился списанный компьютер из какой-то компании, где в качестве системного прокси был прописан местный TMG, и подключение к RDGW не работало. Это можно исправить так:

Переключение раскладок клавиатуры

Иногда приезжают лишние раскладки. Можно отключить проброс раскладки с клиента

Масштабирование приходит с клиентской машины, и если на домашнем ноутбуке стоит 125%, то и на рабочей машине будет так же. На серверах это можно отключить, а на рабочих станциях не нашел как. Но в магазине приложений Windows 10 есть «современный» клиент.

В нем можно настроить DPI:

image loader

Как мониторить шлюз с RDGW

Есть счетчик производительности «Шлюз служб терминаловТекущие подключения», который немного глючит, если нет подключений или сервер долго не перезагружался. Он показывает именно число подключений, но как мы помним, для HTTP+UDP их как минимум два, а может быть и больше. Поэтому это не совсем объективный показатель числа подключений сотрудников.

Есть класс WMI Win32_TSGatewayConnection. Его содержимое соответствует тому, что вы видите в разделе «Наблюдение» шлюза удаленных рабочих столов.

С ним число подключений можно посчитать поточнее:

Just for fun есть утилита Remote Display Analyzer. Бесплатная версия мне ничего полезного не показала, но вдруг кому-то пригодится.

А как же тонкий тюнинг, настройка нескольких десятков параметров сессии?

Здесь уместен принцип Парето: 20% усилий дают 80% результата. Если вы готовы инвестировать ваше время в оставшиеся 20% результата — отлично. Только имейте в виду, что когда вы читаете статью о настройке протокола в Windows 7, то не знаете про какой протокол писал автор — 7, 8 или 8.1. Когда читаете про Windows 10 без указания релиза — проблемы те же. Например, пишут что в свежих билдах Windows 10 кодек AVC/h.264 изменился на RDPGFX_CODECID_AVC444V2, а в Windows Server 2016 остался RDPGFX_CODECID_AVC444.

Из всех таких советов мы используем только две настройки:

Вот мы и подошли к концу статьи. Хотел покороче, а получилось как всегда. Рад, если кому-то эти советы помогут сэкономить время или улучшить настройку своей инфраструктуры.

Источник

Понравилась статья? Поделить с друзьями:
  • Как устанавливать cab файлы windows 10
  • Как ускорить работу старого ноутбука на windows хр
  • Как устанавливать apk файлы на windows phone
  • Как ускорить работу старого компьютера windows 10
  • Как устанавливать apk приложения на windows 11