Почему долго сохраняется конфигурация 1С в файл по сети и как ускорить выгрузку?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При работе в клиент-серверном варианте 1С:Предприятия разработчики нередко сталкиваются с ситуацией: открытие конфигурации и сохранение файла метаданных (.cf) на удаленном клиентском компьютере занимает часы, в то время как при работе через терминальный сервер или локально операция завершается за пару минут. При этом обычное копирование крупных файлов по сети через проводник Windows выполняется на полной скорости канала. Проанализируем архитектурные особенности платформы 1С, выясним технические причины такого поведения и разберем практические способы решения этой проблемы.

Архитектурные причины медленной выгрузки конфигурации по сети

Для понимания проблемы важно различать потоковую передачу данных (копирование файла по протоколу SMB) и процесс формирования файла конфигурации клиентским приложением 1С:

  1. Огромное количество синхронных сетевых вызовов (RPC): В процессе выгрузки конфигурации в файл .cf Конфигуратор не запрашивает у сервера готовый цельный архив. Клиентское приложение отправляет к рабочему процессу сервера (rphost) десятки тысяч мелких последовательных запросов на получение структуры метаданных, текстов модулей, макетов и форм. В таком режиме ключевое значение имеет не пропускная способность сети (Мбит/с), а задержка сетевого отклика (RTT / пинг). Даже минимальная задержка в 5–15 мс при последовательном выполнении 50 000 запросов превращается в часы ожидания.
  2. Локальная сборка контейнера метаданных: Конфигуратор получает фрагменты данных и самостоятельно упаковывает их в файл-контейнер на стороне клиентского компьютера. В процессе сборки происходит постоянное создание, перезапись и чтение тысяч мелких временных файлов в пользовательском каталоге %TEMP%. Если на клиенте медленный накопитель или кэш перегружен, время выгрузки возрастает многократно.
  3. Однопоточный режим работы Конфигуратора: Процедура сериализации метаданных и сборки файла выполняется в один поток с блокирующим ожиданием каждого сетевого пакета от сервера приложений.

Способ 1. Пакетная выгрузка конфигурации на стороне сервера

Рассмотрим самое быстрое и надежное решение для получения файла конфигурации — запуск выгрузки непосредственно на сервере 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 за считанные секунды.

Способ 2. Организация удаленной разработки через Хранилище конфигурации

Если требуется постоянно вносить изменения и сохранять конфигурацию, правильной практикой является отказ от прямого подключения удаленного Конфигуратора к рабочей клиент-серверной базе. Разберем стандартную схему организации процесса:

  1. На сервере 1С разворачивается Хранилище конфигурации.
  2. На рабочем компьютере разработчика создается локальная файловая информационная база.
  3. Локальная база подключается к сетевому хранилищу конфигурации через протокол TCP (сервер хранилища crserver) или HTTP/HTTPS.
  4. Разработчик захватывает в хранилище только изменяемые объекты, сохраняет конфигурацию и тестирует доработки в своей локальной базе, где выгрузка в .cf и обновление выполняются моментально.
  5. По завершении работы измененные объекты помещаются обратно в хранилище, а рабочая база на сервере обновляется из хранилища в пакетном режиме.

Способ 3. Оптимизация сетевых параметров и операционной системы

Если интерактивная работа в Конфигураторе по сети неизбежна, проанализируем параметры операционной системы, которые помогут сократить сетевые задержки:

  1. Отключение аппаратных разгрузок сетевой карты (Offload): Механизмы Large Send Offload (LSO), TCP Chimney Offload и Checksum Offload на сетевом адаптере клиента и сервера могут буферизовать и задерживать отправку коротких пакетов протокола 1С. Отключение этих опций в свойствах сетевой карты на вкладке «Дополнительно» позволяет ускорить передачу транзакций.
  2. Отключение неиспользуемого протокола IPv6: В смешанных сетях клиент 1С может тратить время на попытки резолвинга и подключения по IPv6 перед переходом на IPv4. Отключение компонента «IP версии 6 (TCP/IPv6)» в свойствах сетевого подключения устраняет скрытые таймауты.
  3. Перенос каталога временных файлов: На клиентском компьютере рекомендуется перенести переменные среды TEMP и TMP на быстрый SSD-накопитель или RAM-диск, а также добавить каталог платформы 1С и папки временных файлов в исключения антивирусного сканера.

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

← На главную