Назад | Перейти на главную страницу

Поток «интерактивных» пакетов Citrix на сервер через WAN-соединение

У меня проблема с приложениями, обслуживаемыми клиентами ПК с Windows XP с клиентом Citrix IA. Мы используем перенаправление COM-порта Citrix для туннелирования последовательных данных с устройства сбора данных на клиентском ПК в приложение, работающее на сервере.

Основываясь на захватах Wireshark, мы наблюдаем скорость отправки около 400 пакетов в секунду (при использовании полосы пропускания около 28 килобайт / с) с каждого клиентского ПК, каждый с примерно 10-15 байтами данных и 50 с некоторыми байтами TCP. / IP накладные расходы, и это насыщает нашу глобальную сеть и вызывает проблемы с перегрузкой.

Думаю, проблема в том, что citrix считает этот трафик COM-порта интерактивным трафиком и пытается отправить его как можно быстрее. Что касается приложения на сервере, эти данные COM-порта на самом деле не являются интерактивным трафиком, и они не повлияли бы на приложение отрицательно, если бы данные COM-порта были буферизованы, а затем отправлялись каждые 100 мс или что-то в этом роде, что уменьшило бы накладные расходы на пакетные данные.

Мне не удалось получить от Citrix особую помощь по этому вопросу. Большая часть документации Citrix посвящена оптимизации нисходящего трафика от сервера к клиенту или оптимизации реакции клиента за счет оптимизации восходящего «интерактивного» трафика от клиента. К сожалению, в моем случае это наводняет мою WAN крошечными граммами.

Что я могу сделать, чтобы предотвратить возникновение этой перегрузки? Я видел несколько ссылок на ограничение пропускной способности виртуального канала для данных COM-порта, но мне интересно, как это работает, и я не могу найти никакой подробной информации об этом даже в Citrix. Будет ли он просто буферизовать данные COM-порта, полученные на стороне клиента, и отправлять их на сервер только с меньшей скоростью, разрешенной ограничением пропускной способности для виртуального канала?

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

К сожалению, com-порт через Citrix / RDP / и т. Д. Страдает теми же проблемами. Приложение должно правильно вести себя с com-портом. Если приложение пытается прочитать 1 байт из компорта 10000 раз в секунду ... вы получите 10000 запросов на 1 байт по сети ... что приводит к тому, что вы видите. Если не считать переписывания вашего приложения, чтобы оно было более дружественным к Citrix / RDP ... вы можете установить только жесткие ограничения на потребление полосы пропускания ... но это может работать не так хорошо, как вы надеялись.

http://support.citrix.com/proddocs/topic/xenapp6-w2k8-admin/ps-console-policies-rules-bandwidth-v3.html