При развертывании новой серверной инфраструктуры для 1С:Предприятие системные администраторы часто сталкиваются с дилеммой: стоит ли тратить значительный бюджет на лицензии удаленного рабочего стола (Windows RDS CAL) для всех сотрудников или можно ограничиться локальным подключением. Ситуация осложняется, когда в компании одновременно используются конфигурации разных поколений, например, 1С:Бухгалтерия государственного учреждения 1.0 (на обычных формах) и 1С:Зарплата и управление персоналом 3.1 (на управляемых формах). В этой статье мы подробно разберем, как архитектура программы и параметры сети влияют на выбор режима работы.
Первым делом проанализируем имеющееся программное обеспечение. В нашем случае это БГУ 1.0 и ЗУП 3.1. Это принципиально разные продукты с точки зрения взаимодействия клиентского приложения и сервера.
Конфигурации на обычных формах (БГУ 1.0): Рассмотрим, как работает "Толстый клиент". В этой архитектуре значительная часть бизнес-логики выполняется на стороне пользователя. При открытии любого списка или документа программа перекачивает огромные массивы данных между сервером базы данных и компьютером пользователя для их обработки "на лету". Выясним причину, по которой это критично для сети: даже при наличии мощного процессора и большого объема оперативной памяти на клиентском ПК, узким местом становится сетевой интерфейс. Любая микрозадержка (latency) в цепочке "сетевая карта — коммутатор — сетевая карта сервера" приводит к визуальным "подтормаживаниям" интерфейса 1С.
Конфигурации на управляемых формах (ЗУП 3.1): Здесь ситуация иная. Основные вычисления происходят на сервере приложений 1С. Клиенту (Тонкому клиенту) передаются лишь инструкции по отрисовке интерфейса и минимальные наборы данных. Разберем по шагам: для таких программ RDP часто является избыточным, так как Тонкий клиент отлично справляется с работой даже через нестабильные каналы связи или веб-браузер.
Проанализируем ситуацию с производительностью, упомянутую в обсуждении. Когда 1С работает внутри терминальной сессии (RDP), исполняемый файл 1С и серверная часть базы данных общаются, по сути, внутри одного физического сервера. Скорость обмена данными здесь ограничена только скоростью работы системной шины и "южного моста" материнской платы, что в десятки и сотни раз быстрее любой локальной сети.
Если же мы запускаем 1С локально на мощном компьютере пользователя, данные должны пройти длинный путь:
Для БГУ 1.0 в режиме "Толстого клиента" этот трафик может быть колоссальным. Поэтому, если ваша локальная сеть работает на скорости 100 Мбит/с, работа без RDP будет крайне некомфортной даже на самом мощном компьютере. Для нормальной работы вне терминала необходима гигабитная сеть (1 Гбит/с) и качественное активное сетевое оборудование.
Посмотрим на пример распределения ресурсов для 20 пользователей. Чтобы урезать бюджет и не покупать лишние лицензии RDS, мы можем применить дифференцированный подход:
RDP (или технологии RemoteApp) является обязательным. Это позволит им работать с БГУ 1.0 без задержек, так как по сети будет передаваться только "картинка" рабочего стола.ЗУП 3.1 им не нужен RDP. Мы можем настроить подключение через Тонкий клиент напрямую к серверу 1С или через веб-сервер (Apache/IIS). Это сэкономит нам 10 терминальных лицензий Windows.БГУ 1.0 их можно оставить на локальном подключении ("Толстый клиент"), но при одном условии: на их компьютерах обязательно должны стоять SSD-накопители. Выясним причину: 1С активно использует локальный кэш конфигурации, который записывается на диск C:\Users\.... Если диск медленный (HDD), то даже мощный процессор не спасет от медленного открытия форм.Рассмотрим подробнее, как ведут себя программные лицензии 1С в разных режимах. Это критический момент для планирования закупок.
При работе в режиме удаленного рабочего стола (RDP), лицензии 1С выдаются на сеанс пользователя ОС. Если пользователь внутри своего RDP-окна запустит три разные базы 1С, будет израсходована всего одна клиентская лицензия 1С. Это серьезный аргумент в пользу терминального режима, если сотрудники работают с несколькими базами одновременно.
При локальном запуске (без RDP), если лицензии программные и раздаются сервером 1С, каждый запуск новой базы будет "съедать" отдельную лицензию. В этом случае бюджет, сэкономленный на лицензиях Windows RDS, может быть потрачен на дополнительные лицензии 1С.
Если вы используете аппаратные ключи защиты (USB), обратите внимание на файл nhest.ini и параметр UseHwLicenses=1. Настройка менеджера лицензий позволит более гибко управлять раздачей ключей в локальной сети.
Проанализируем нагрузку на сервер при выборе RDP. Каждый терминальный пользователь потребляет от 500 МБ до 1.5 ГБ оперативной памяти сервера только на поддержку сессии и работу интерфейса. Для 20 пользователей только под эти цели потребуется около 32 ГБ RAM сверх того, что потребляет сама ОС и SQL-сервер.
Если мы переводим локальных пользователей на прямой запуск 1С (клиент-сервер без терминала), мы перекладываем нагрузку по отрисовке интерфейса и хранению клиентского кэша на их "мощные компьютеры". Это позволяет сэкономить ресурсы сервера и направить их на ускорение работы базы данных (SQL-сервера).
Разберем еще один практический аспект. Работа в RDP часто сопряжена с проблемами "проброса" принтеров и сканеров. Если бухгалтеры в БГУ 1.0 печатают сотни первичных документов в день, использование локального подключения избавит системного администратора от постоянной борьбы с зависшими очередями печати и несовместимостью драйверов в терминальной сессии. Для удаленных же сотрудников в режиме RDP рекомендуется использовать специализированное ПО для печати, что также следует заложить в бюджет.
Тонкий клиент. Это быстро, современно и не требует покупки дорогих терминальных лицензий Windows.RDP для удаленных сотрудников.RDS и перевести их в терминал, так как серверная часть 1С у вас уже настроена в клиент-серверном варианте.