← На главную
При длительной командной разработке в крупных конфигурациях (например, 1С:ERP Управление предприятием) разработчики часто сталкиваются с существенным замедлением операций захвата, отмены захвата объектов или обновления конфигурации из хранилища. Ожидание элементарного захвата объекта может занимать минуту и более. Проанализируем, за счет чего платформой 1С:Предприятие 8.3.10 достигается ускорение работы с хранилищем и как правильно выполнить оптимизацию.
Выясним причины замедления работы хранилища
Основными факторами, снижающими производительность при работе с хранилищем конфигурации, являются:
- Накопление большого числа файлов объектов: Объекты метаданных хранятся в файловой системе хранилища. При регулярных изменениях накапливаются десятки тысяч мелких неупакованных файлов, чтение и запись которых приводят к длительным задержкам на операциях I/O.
- Сетевые блокировки: При работе через shared-папку операционная система выполняет множественные файловые блокировки по сети, из-за чего возникают долгие ожидания.
- Рост физического размера базы хранилища: Накопление полной истории версий увеличивает объем файловой СУБД базы хранилища до десятков гигабайт.
Механизм оптимизации данных хранилища в 1С 8.3.10
В платформе 8.3.10 появился специальный механизм упаковывания и оптимизации локальных данных хранилища об объектах разработки. Процедура позволяет оптимизировать структуру хранения файлов объектов, за счет чего время выполнения операций захвата и обновления сокращается в десятки раз.
Рассмотрим, как запускается процесс оптимизации и когда он доступен:
- Для выполнения оптимизации необходимо зайти в меню хранилища конфигурации (в раздел действий с локальными данными хранилища).
- Нажмем кнопку Оптимизировать. Кнопка и recommendation появляются автоматически в том случае, если с хранилищем конфигурации ранее работали в версиях платформы младше 8.3.10.
- Данная операция выполняется разработчиком для его локального кэша и локальной структуры данных хранилища.
Важные ограничения и совместимость версий
Разберем ключевые особенности, которые необходимо учитывать перед выполнением процедуры оптимизации:
- Отказ в поддержке старых версий: После того как база хранилища или локальные данные оптимизированы под формат 8.3.10, при попытке подключиться к хранилищу с использованием платформ версии
8.3.9 и младше будет выдаваться предупреждение о невозможности работы с хранилищем. Все разработчики проекта должны быть переведены на платформу 8.3.10 или выше.
- Изменение пароля пользователя: Если в процессе работы меняется пароль пользователя хранилища, рекомендуется переподключиться к хранилищу во избежание сбоев при вызове команд оптимизации и захвата.
Комплексный подход к ускорению разработки
Для достижения максимальной производительности при групповой разработке рекомендуется сочетать встроенную оптимизацию хранилища с другими техническими решениями:
- Перенос базы хранилища и кэша на SSD/NVMe: Размещение каталогов базы хранилища и локальных рабочих каталогов Конфигуратора на высокоскоростных накопителях снижает время ожидания операций ввода-вывода.
- Использование сервера хранилища: Использование службы
crserver вместо доступа к сетевым папкам ликвидирует задержки сетевых файловых блокировок OS.
- Автоматизация по расписанию: В крупных командах оптимизацию данных хранилища можно выполнять в пакете через командную строку конфигуратора с параметром
/ConfigurationRepositoryOptimizeData.