При переходе на новые релизы 1С:Зарплата и управление персоналом 3.1 (особенно версии КОРП) многие технические специалисты сталкиваются с аномально долгим процессом обновления. Ситуация, когда этап «Сравнение-объединение» или «Обновление конфигурации поставщика» затягивается на 2-3 часа вместо привычных 15-20 минут, часто связана не с объемом данных в базе, а с особенностями работы конкретных версий платформы 1С:Предприятие 8.3. В данной статье мы подробно разберем причины возникновения этой проблемы, проанализируем влияние архитектуры метаданных на скорость компиляции и рассмотрим пошаговые инструкции по оптимизации процесса.
Разберем ситуацию, описанную пользователями: при обновлении с версии 3.1.5.129 на 3.1.5.170 на платформе 8.3.11.2899 процесс практически «зависает» на этапе работы в Конфигураторе. Выясним причину такого поведения. Платформа версии 8.3.11 внедрила ряд изменений в механизмы индексации объектов, которые в определенных условиях приводят к регрессии производительности.
Рассмотрим основные факторы замедления:
ОбщиеРеквизиты для разделения данных и версионирования. Существует известная ошибка платформы (код 10174547), из-за которой компиляция программных модулей выполняется крайне медленно, если в конфигурации происходит активная работа с метаданными, включающими общие реквизиты.rphost при выполнении административных задач на этой платформе может потреблять значительные объемы памяти (до нескольких гигабайт на один сеанс), особенно если конфигурация находится на поддержке с возможностью изменения.Проанализируем рекомендации опытных администраторов. Если вы столкнулись с «бесконечным» обновлением на 8.3.11, первым делом стоит пересмотреть используемый релиз платформы. Рассмотрим два пути:
1. Откат на стабильную версию 8.3.10: Многие специалисты отмечают, что релиз 8.3.10.2699 является одним из самых сбалансированных для линеек ЗУП 3.1. На этой версии процесс сравнения объединения проходит в разы быстрее, так как в ней еще не внедрены «тяжелые» механизмы анализа метаданных, появившиеся в 11-й ветке.
2. Переход на платформу 8.3.12 и выше: Если требования типовой конфигурации не позволяют оставаться на 8.3.10 (например, для новых версий БП 3.0 требуется 8.3.12+), следует переходить сразу на ветку 8.3.12. В ней разработчики 1С радикально пересмотрели механизм хранения и индексации конфигурации поставщика. Посмотрим на нюанс: первое обновление на 8.3.12 может быть долгим, так как система будет перестраивать внутренние индексы, но последующие операции будут выполняться значительно быстрее.
Если смена платформы невозможна в текущий момент, проанализируем настройки сервера 1С и СУБД. Часто задержки вызваны неэффективным распределением ресурсов кластера.
Выполним следующие настройки:
rphost приходилось не более одной информационной базы. Это предотвратит конкуренцию за память между фоновыми заданиями других баз и сеансом конфигуратора.Reorganize Index или Rebuild Index для таблицы Config в SQL Server Management Studio.%AppData%\Local\Temp. Проанализируем нагрузку: если антивирус сканирует каждый такой файл, время обновления увеличивается в геометрической прогрессии. Добавьте процессы 1cv8.exe и rphost.exe, а также папки с временными файлами в исключения.Рассмотрим методику, которая помогает обойти «глюки» серверного кэша и механизмов сравнения на поддержке. Посмотрим, как выполнить обновление максимально безопасно:
.dt.rphost и SQL значительно ускоряет этап сопоставления объектов метаданных.Разберем подробнее, почему именно ЗУП 3.1 страдает от этой проблемы больше других конфигураций. В этой программе широко используется механизм разделения данных. Рассмотрим пример объекта ОбщийРеквизит.ОбластьДанныхОсновныеДанные. Когда платформа выполняет сравнение конфигураций, наличие таких реквизитов заставляет систему проверять связи практически в каждом объекте метаданных — от справочников до регистров расчета.
В платформе 8.3.11 алгоритм этой проверки был изменен в сторону избыточности. Рассмотрим, как это выглядит на практике: при добавлении всего одного нового общего модуля в релизе 3.1.5.170, конфигуратор пытается перекомпилировать зависимости всех форм и модулей, где используются разделяемые данные. Именно это и создает эффект «зависания» на 2 часа.
Краткий итог и рекомендации:
%AppData%\1C\1cv8\), чтобы исключить влияние старых индексов сравнения.Следование этим инструкциям позволит вам сократить время простоя системы и избежать ошибок при обновлении критически важных кадровых баз.