Как ускорить работу с хранилищем конфигурации в 1С:Предприятие 8.3.10 и выполнить его оптимизацию?

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

При длительной командной разработке в крупных конфигурациях (например, 1С:ERP Управление предприятием) разработчики часто сталкиваются с существенным замедлением операций захвата, отмены захвата объектов или обновления конфигурации из хранилища. Ожидание элементарного захвата объекта может занимать минуту и более. Проанализируем, за счет чего платформой 1С:Предприятие 8.3.10 достигается ускорение работы с хранилищем и как правильно выполнить оптимизацию.

Выясним причины замедления работы хранилища

Основными факторами, снижающими производительность при работе с хранилищем конфигурации, являются:

  1. Накопление большого числа файлов объектов: Объекты метаданных хранятся в файловой системе хранилища. При регулярных изменениях накапливаются десятки тысяч мелких неупакованных файлов, чтение и запись которых приводят к длительным задержкам на операциях I/O.
  2. Сетевые блокировки: При работе через shared-папку операционная система выполняет множественные файловые блокировки по сети, из-за чего возникают долгие ожидания.
  3. Рост физического размера базы хранилища: Накопление полной истории версий увеличивает объем файловой СУБД базы хранилища до десятков гигабайт.

Механизм оптимизации данных хранилища в 1С 8.3.10

В платформе 8.3.10 появился специальный механизм упаковывания и оптимизации локальных данных хранилища об объектах разработки. Процедура позволяет оптимизировать структуру хранения файлов объектов, за счет чего время выполнения операций захвата и обновления сокращается в десятки раз.

Рассмотрим, как запускается процесс оптимизации и когда он доступен:

  1. Для выполнения оптимизации необходимо зайти в меню хранилища конфигурации (в раздел действий с локальными данными хранилища).
  2. Нажмем кнопку Оптимизировать. Кнопка и recommendation появляются автоматически в том случае, если с хранилищем конфигурации ранее работали в версиях платформы младше 8.3.10.
  3. Данная операция выполняется разработчиком для его локального кэша и локальной структуры данных хранилища.

Важные ограничения и совместимость версий

Разберем ключевые особенности, которые необходимо учитывать перед выполнением процедуры оптимизации:

  1. Отказ в поддержке старых версий: После того как база хранилища или локальные данные оптимизированы под формат 8.3.10, при попытке подключиться к хранилищу с использованием платформ версии 8.3.9 и младше будет выдаваться предупреждение о невозможности работы с хранилищем. Все разработчики проекта должны быть переведены на платформу 8.3.10 или выше.
  2. Изменение пароля пользователя: Если в процессе работы меняется пароль пользователя хранилища, рекомендуется переподключиться к хранилищу во избежание сбоев при вызове команд оптимизации и захвата.

Комплексный подход к ускорению разработки

Для достижения максимальной производительности при групповой разработке рекомендуется сочетать встроенную оптимизацию хранилища с другими техническими решениями:

  1. Перенос базы хранилища и кэша на SSD/NVMe: Размещение каталогов базы хранилища и локальных рабочих каталогов Конфигуратора на высокоскоростных накопителях снижает время ожидания операций ввода-вывода.
  2. Использование сервера хранилища: Использование службы crserver вместо доступа к сетевым папкам ликвидирует задержки сетевых файловых блокировок OS.
  3. Автоматизация по расписанию: В крупных командах оптимизацию данных хранилища можно выполнять в пакете через командную строку конфигуратора с параметром /ConfigurationRepositoryOptimizeData.
← На главную