Тестирование латенси RDP протокола

Что вы хотели бы видеть в следующих версиях?
Ответить
lapomme1
Сообщения: 26
Зарегистрирован: Вт июн 25, 2013 6:33 am

Тестирование латенси RDP протокола

Сообщение lapomme1 »

Добрый день!
Возникла необходимость тестировать время отклика протокола RDP в различных сложных условиях. Как наиболее простой способ, возникла идея разработать на стороне WTware что-то вроде внутрипротокольного пинга.
Концепция:
Программа на стороне RDP сервера посылает тестовый байт запрос в сторону клиента WTware, Wtware отвечает на этот тестовый запрос.
Рассмотрели вариант с Virtual Channel, он на стороне сервера требует регистрацию библиотеки, что неудобно с точки зрения администрирования.
И рассмотрели вариант пинга через виртуальный COM-порт. этот вариант нам показался самым простым и подходящим, на сервере будет достаточно запустить простую консольную утилиту нашей разработки.
С точки зрения конфига WTware это могло бы выглядеть так:
serial = com2(pinger)
Прошу рассмотреть возможность разработки такой функции в WTware.
aka
Разработчик
Разработчик
Сообщения: 11800
Зарегистрирован: Ср окт 01, 2003 12:06 am
Откуда: Роcсия, Тольятти
Контактная информация:

Re: Тестирование латенси RDP протокола

Сообщение aka »

lapomme1 писал(а): Вт ноя 19, 2019 12:44 pm Рассмотрели вариант с Virtual Channel, он на стороне сервера требует регистрацию библиотеки, что неудобно с точки зрения администрирования.
Eсть Dynamic Virtual Channel. Мы в конфигураторе делаем так:

Код: Выделить всё

WTSVirtualChannelOpenEx (WTS_CURRENT_SESSION, "WTDVC", WTS_CHANNEL_OPTION_DYNAMIC | WTS_CHANNEL_OPTION_DYNAMIC_NO_COMPRESS)
Регистрации библиотеки не требуется, работает с 2008 сервера.
Простую консольную утилиту вашей разработки надо будет запускать именно в сеансе пользователя, каналы живут только внутри RDP сессии. Это подходит?
lapomme1
Сообщения: 26
Зарегистрирован: Вт июн 25, 2013 6:33 am

Re: Тестирование латенси RDP протокола

Сообщение lapomme1 »

Подходит!
Спасибо за наводку, не знали про динамические каналы, определенно это лучше, чем наш вариант.
Сотворено логика будет примерно такая:
1. Открываем канал через WTSVirtualChannelOpenEx
2. Пишем «пинг» запрос через WTSVirtualChannelWrite
3. Читаем ответ через WTSVirtualChannelRead

Делаем все это в цикле замеряя время и отправляя в наш мониторинг.
Остается только вопрос что нужно послать чтобы получить ответ? Такая функция уже есть или нужно разрабатывать?
akaplenko
Сообщения: 187
Зарегистрирован: Пн мар 13, 2017 5:30 pm

Re: Тестирование латенси RDP протокола

Сообщение akaplenko »

а подскажите, ради чего это все?
aka
Разработчик
Разработчик
Сообщения: 11800
Зарегистрирован: Ср окт 01, 2003 12:06 am
Откуда: Роcсия, Тольятти
Контактная информация:

Re: Тестирование латенси RDP протокола

Сообщение aka »

lapomme1 писал(а): Ср ноя 20, 2019 1:36 pm Сотворено логика будет примерно такая:
1. Открываем канал через WTSVirtualChannelOpenEx
WTSVirtualChannelOpenEx отправляет терминалу запрос и ждет от терминала ответ. Этого недостаточно для измерения "латенси RDP протокола"?
lapomme1
Сообщения: 26
Зарегистрирован: Вт июн 25, 2013 6:33 am

Re: Тестирование латенси RDP протокола

Сообщение lapomme1 »

aka писал(а): Чт ноя 21, 2019 3:39 am WTSVirtualChannelOpenEx отправляет терминалу запрос и ждет от терминала ответ. Этого недостаточно для измерения "латенси RDP протокола"?
Попробуем так. Но есть подозрение, что функция открытия канала имеет значительные накладные расходы ( например, по аналогии c API функцией открытия файла, которая может занимать больше времени чем запись небольшого объема данных в этот файл), что повлияет на результат измерений.
Попробуем ваш вариант, если все хорошо, то на нем и остановимся. Если увидим, что время отклика большое даже на не загруженной локальной сети, тогда отпишемся.
Ответить

Вернуться в «Планы развития. Пожелания.»