Нередко при сравнении и объединении объемных конфигураций (например, УПП, ERP или Комплексной автоматизации) разработчики сталкиваются с низкой скоростью работы. При этом аппаратные ресурсы современного сервера и клиентского ПК остаются практически незадействованными: общая загрузка многоядерного процессора не превышает 10–15%, оперативная память свободна, а дисковая активность минимальна. Разберем по шагам, почему так происходит, выясним причину такого поведения платформы и рассмотрим действенные способы ускорения процесса обновления.
Главный фактор низкой общей загрузки многоядерного процессора заключается в архитектуре платформы. Клиентская часть Конфигуратор является однопоточным приложением для большинства вычислительных операций, включая синтаксический анализ, разбор метаданных и их сопоставление. Проанализируем типичную ситуацию:
Таким образом, процессор на самом деле работает на пределе возможностей того ядра, на котором выполняется процесс 1cv8.exe. Наличие 16 или 32 ядер сервера никак не ускоряет непосредственно построение дерева сравнения объектов конфигурации. Поэтому первостепенное значение имеет не количество ядер, а максимальная однопоточная производительность процессора (Single-Core Performance) и его тактовая частота в режиме Turbo Boost.
Помимо вычислительной мощности одного ядра процессора, на скорость сравнения влияют два скрытых узких места:
%TEMP%. Если антивирус или встроенный защитник Windows проверяет каждый такой файл «на лету», скорость падает в разы.Рассмотрим, какие системные настройки помогут выжать максимум из имеющегося оборудования:
1cv8.exe, а также папки %TEMP%, %LOCALAPPDATA%\1C и %APPDATA%\1C.TEMP на быстром диске или в оперативной памяти существенно ускоряет операции ввода-вывода при распаковке объектов метаданных.Чтобы полностью исключить сетевые задержки при взаимодействии клиента и сервера приложений, подключитесь к серверу через RDP и выполните сравнение и объединение конфигураций непосредственно там. Локальное обращение конфигуратора к серверу 1С сводит задержки передачи пакетов к нулю, что значительно сокращает общее время построения дерева сравнения.
Рассмотрим эффективную методику подготовки обновления, которая исключает долгие многократные сравнения на рабочей информационной базе:
.cf работает стабильнее и быстрее, чем последовательное применение файлов обновлений .cfu..cf) и выполните сравнение и объединение с новой версией поставщика локально. В файловом режиме отсутствуют сетевые накладные расходы клиент-серверного обмена..cf.Если обновление выполняется по типовому сценарию без необходимости ручного анализа кода в окне сравнения, задействуйте пакетный запуск конфигуратора через командную строку. Разберем пример пакетного обновления конфигурации:
"C:\Program Files\1cv8\8.3.10.2168\bin\1cv8.exe" DESIGNER /S "Server1C\BaseName" /N "Admin" /P "Password" /UpdateCfg "C:\Updates\1Cv8.cf" /ApplyConfigurationChanges
Пакетный запуск с параметрами /UpdateCfg и /ApplyConfigurationChanges существенно экономит процессорные ресурсы, так как системе не требуется отрисовывать графический интерфейс дерева сравнения объектов конфигурации.