При работе в клиент-серверном варианте 1С:Предприятия разработчики нередко сталкиваются с ситуацией: открытие конфигурации и сохранение файла метаданных (.cf) на удаленном клиентском компьютере занимает часы, в то время как при работе через терминальный сервер или локально операция завершается за пару минут. При этом обычное копирование крупных файлов по сети через проводник Windows выполняется на полной скорости канала. Проанализируем архитектурные особенности платформы 1С, выясним технические причины такого поведения и разберем практические способы решения этой проблемы.
Для понимания проблемы важно различать потоковую передачу данных (копирование файла по протоколу SMB) и процесс формирования файла конфигурации клиентским приложением 1С:
.cf Конфигуратор не запрашивает у сервера готовый цельный архив. Клиентское приложение отправляет к рабочему процессу сервера (rphost) десятки тысяч мелких последовательных запросов на получение структуры метаданных, текстов модулей, макетов и форм. В таком режиме ключевое значение имеет не пропускная способность сети (Мбит/с), а задержка сетевого отклика (RTT / пинг). Даже минимальная задержка в 5–15 мс при последовательном выполнении 50 000 запросов превращается в часы ожидания.%TEMP%. Если на клиенте медленный накопитель или кэш перегружен, время выгрузки возрастает многократно.Рассмотрим самое быстрое и надежное решение для получения файла конфигурации — запуск выгрузки непосредственно на сервере 1С без передачи мелких RPC-пакетов по сети. Для этого используем пакетный режим запуска Конфигуратора через командную строку.
Разберем по шагам создание скрипта для выгрузки. На сервере 1С выполняем команду:
"C:\Program Files\1cv8\8.3.XX.XXXX\bin\1cv8.exe" DESIGNER /S "ИмяСервера1С\ИмяБазы" /N "Администратор" /P "Пароль" /DumpCfg "D:\Backup\dump.cf" /UC "КодРазрешения"
Параметр /DumpCfg указывает путь к итоговому файлу конфигурации. Поскольку выполнение команды происходит локально на сервере, сетевые задержки отсутствуют, а весь процесс занимает 1–2 минуты даже для тяжелых конфигураций (ERP, УТ, КА). Полученный готовый файл dump.cf можно скопировать на рабочий компьютер стандартными средствами Windows за считанные секунды.
Если требуется постоянно вносить изменения и сохранять конфигурацию, правильной практикой является отказ от прямого подключения удаленного Конфигуратора к рабочей клиент-серверной базе. Разберем стандартную схему организации процесса:
crserver) или HTTP/HTTPS..cf и обновление выполняются моментально.Если интерактивная работа в Конфигураторе по сети неизбежна, проанализируем параметры операционной системы, которые помогут сократить сетевые задержки:
Large Send Offload (LSO), TCP Chimney Offload и Checksum Offload на сетевом адаптере клиента и сервера могут буферизовать и задерживать отправку коротких пакетов протокола 1С. Отключение этих опций в свойствах сетевой карты на вкладке «Дополнительно» позволяет ускорить передачу транзакций.TEMP и TMP на быстрый SSD-накопитель или RAM-диск, а также добавить каталог платформы 1С и папки временных файлов в исключения антивирусного сканера.Таким образом, длительное сохранение конфигурации по сети обусловлено архитектурой передачи метаданных мелкими пакетами. Для эффективной работы рекомендуется использовать пакетный режим выгрузки на сервере или схему разработки с локальной базой и Хранилищем конфигурации.