Как ускорить запуск 1С:ERP из конфигуратора при разработке?

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

Каждый разработчик 1С, работающий с крупными конфигурациями вроде ERP, сталкивался с проблемой долгого ожидания. Вы вносите небольшое изменение в код, нажимаете F5 для запуска отладки и... ждете несколько минут, пока система обновит конфигурацию и запустит клиентский сеанс. Этот процесс может занимать 4, 6 и более минут, что серьезно бьет по продуктивности и выбивает из рабочего потока. В то же время запуск без обновления конфигурации может занимать всего 15-20 секунд.

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

Метод 1: Изменение подхода к разработке

Самые значительные улучшения в скорости разработки достигаются не столько за счет "железа", сколько за счет изменения самого процесса работы. Рассмотрим ключевые подходы.

Разработка в расширениях

Это, пожалуй, самый эффективный и рекомендуемый способ ускорения. Вместо того чтобы вносить изменения напрямую в основную, гигантскую конфигурацию ERP, доработки выносятся в одно или несколько расширений.

В чем преимущество? При запуске из конфигуратора обновляется не вся конфигурация целиком, а только небольшое по объему расширение. Это в разы быстрее. Как показывает опыт коллег, время запуска может сократиться с 4-6 минут до 1-1.5 минут. Применение изменений в расширении часто можно выполнить динамически, что еще больше ускоряет процесс.

Конечно, у этого метода есть свои нюансы. Например, если вы добавили реквизит в объект через расширение, стандартный конструктор запроса в конфигураторе его не "увидит". Но эта проблема легко решается: для написания и отладки таких запросов используйте Консоль запросов, запущенную в режиме Предприятия. В ней будут видны все данные, включая те, что добавлены расширениями.

Разработка на локальной файловой копии

Еще один кардинальный способ — полностью исключить из уравнения сервер и сеть на время основной разработки.

  1. Создайте копию базы данных разработки в файловом варианте.
  2. Разверните ее на своем локальном мощном компьютере, желательно с быстрым NVMe SSD диском.
  3. Выполняйте всю разработку и отладку на этой локальной копии. Скорость запуска будет максимальной, так как все операции происходят на одном высокопроизводительном устройстве.
  4. После завершения доработки переносите изменения на сервер разработки. Это можно сделать через выгрузку конфигурации в файл *.cf или, что более правильно, используя хранилище конфигурации.

Основной недостаток этого метода — работа с большими объемами данных. Если база разработки весит сотни гигабайт, ее копирование может стать отдельной задачей. Однако для отладки конкретного функционала часто можно использовать и "облегченную" копию базы.

Метод 2: Оптимизация рабочего окружения и технические приемы

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

Использование "вечного" сеанса для кэширования конфигурации

Идея этого метода заключается в том, чтобы не давать серверу 1С выгружать конфигурацию из оперативной памяти. Когда вы запускаете отладку, рабочий процесс сервера (rphost) загружает в память огромный объем данных конфигурации, что и занимает основное время.

Как это работает:

  1. Запустите обычный (не из конфигуратора) сеанс пользователя в нужной базе.
  2. Сверните его и не закрывайте. Этот сеанс будет удерживать конфигурацию в кэше рабочего процесса на сервере.
  3. Теперь запускайте отладку из конфигуратора как обычно.

Теоретически, последующие запуски должны быть значительно быстрее, так как конфигурация уже находится в памяти. Важно: этот метод может сработать не всегда. Некоторые пользователи сообщают, что в их случае это не дало ускорения или даже замедлило процесс. Требуется проверка на вашем конкретном окружении.

Очистка кэша 1С

Это стандартная процедура, которая может помочь решить множество проблем, включая замедление запуска. Накопленный кэш метаданных может приводить к ошибкам и "тормозам". Регулярно очищайте каталоги кэша на клиентской машине:

Отключение фоновых обработчиков

При запуске клиентского сеанса могут стартовать различные системные обработчики: проверка обновлений, интернет-поддержка, формирование данных для начальной страницы и т.д. В базе для разработки их можно смело отключать, чтобы сэкономить драгоценные секунды при каждом запуске.

Метод 3: Анализ и оптимизация аппаратной части и сервера

Медленная работа часто связана с недостатком или неоптимальной конфигурацией серверных ресурсов.

Производительность дисковой системы

Процесс обновления конфигурации — это интенсивная работа с файлами. Поэтому скорость дисков на сервере 1С и сервере СУБД является критически важным фактором. Использование быстрых SSD-дисков (в идеале NVMe) — обязательное условие для комфортной работы с ERP.

Процессор и оперативная память

Для процесса обновления конфигурации более важна высокая тактовая частота одного ядра процессора, чем большое количество ядер, так как этот процесс плохо распараллеливается. Убедитесь, что серверу 1С и СУБД хватает оперативной памяти, чтобы они не использовали медленный файл подкачки на диске.

Работа через RDP

Если вы, как и автор исходного вопроса, работаете через удаленный рабочий стол (RDP), производительность напрямую зависит от ресурсов, выделенных вашей сессии. Часто системные администраторы сильно ограничивают пользователей. Пообщайтесь с вашими администраторами и выясните:

Возможно, проблема кроется именно в "ватном" сервере или жестких ограничениях вашей сессии.

Сетевое взаимодействие и антивирус

По возможности, запускайте конфигуратор непосредственно на сервере приложений 1С, а не со своего рабочего компьютера по сети. Это исключит задержки, связанные с передачей файлов конфигурации по сети.

Также убедитесь, что антивирусное ПО на серверах настроено корректно: каталоги временных файлов 1С и файлы баз данных СУБД должны быть добавлены в исключения, чтобы избежать замедления дисковых операций.

В заключение, долгое ожидание при запуске ERP из конфигуратора — распространенная, но решаемая проблема. Наибольший эффект дает переход на разработку в расширениях. Если это невозможно, стоит проанализировать и оптимизировать аппаратную часть и попробовать применить технические хитрости для ускорения кэширования конфигурации.

← На главную