Исправляем медленное выполнение операций с хранилищем конфигурации

02.07.20

Разработка - Групповая разработка (Git, хранилище)

В статье описан способ решения проблемы долгого захвата/помещения объектов в хранилище конфигурации

При работе с хранилищем конфигурации иногда возникает проблема долгого захвата/помещения объектов - любая даже самая маленькая операция захвата/помещения объекта выполняется десятки секунд. Переподключение к хранилищу не помогает. Очистка кэша версий конфигурации хранилища на сервере не помогает. Очистка локального кэша версий конфигурации не помогает. Через интерфейс конфигуратора 8.3.15 я нашел возможность очистки только этих кэшей. Но в пакетном запуске конфигуратора еще есть возможность очистки локальной базы данных хранилища - ConfigurationRepositoryClearCache. Пример такой команды

1cv8 DESIGNER /S myserver\mybase /ConfigurationRepositoryF tcp://repserver/repbase /ConfigurationRepositoryN myname /ConfigurationRepositoryP mypass /ConfigurationRepositoryClearCache

Именно эта очистка решила проблему в моем случае. Однако формировать корректную строку пакетного запуска с таким параметром непросто.

Вот более простой способ очистки локальной базы данных хранилища

  1. Открываем каталог кэшей базы. Обычно он расположен в C:\Users\<User>\AppData\Local\1C\1Cv8\<ID>. Варианты:
    1. Через Инструменты разработчика

       
    2. Через 1CStartManager

       
    3. Через настройку использования локальных данных хранилища



       
  2. Удаляем каталог cfgrepo

    Однако при этом удаляется список последних комментариев к коммитам хранилища. Чтобы он сохранился, нужно внутри папки "cfgrepo" удалить все, кроме файла "comments".

 

хранилище конфигурации

См. также

Системы контроля версий для 1С-разработчиков.

1С-программирование DevOps и автоматизация разработки Групповая разработка (Git, хранилище) DevOps для 1С Платформа 1С v8.3 Платные (руб)

Основы командной разработки на 1С. Использование систем контроля версий при разработке на платформе 1С:Предприятие 8

4900 руб.

29.06.2022    9143    78    4    

110

Особенности национального Workflow: Github Actions и OneScript

Групповая разработка (Git, хранилище) OneScript Бесплатно (free)

Сегодня мы посмотрим на Github Actions - встроенный инструментарий Github для автоматизации рабочих процессов. Разберем, что это такое, зачем и причем тут OneScript.

25.03.2024    1184    bayselonarrend    3    

35

Автоматизация процесса разработки с помощью сервиса GitFlic

Групповая разработка (Git, хранилище) Бесплатно (free)

GitFlic – первая в России полностью самостоятельная реализация сервиса для хранения репозиториев с исходным кодом. За три года разработки сервис GitFlic стал полноценным инструментом, которым можно заменить GitLab, GitHub и BitBucket. Расскажем о том, как выстроить в GitFlic процесс автоматического тестирования, статического анализа кода и сборки приложений.

05.03.2024    1866    user1989937    6    

15

OpenYellow - рейтинг открытых GitHub репозиториев для платформы 1С:Предприятие

Групповая разработка (Git, хранилище) Бесплатно (free)

Обновляемый топ GitHub репозиториев для 1С по всем языкам программирования и еще немного рассуждений про open-source.

05.02.2024    3780    bayselonarrend    15    

61

Насколько глубок 1С-ный GitHub?

Групповая разработка (Git, хранилище) Бесплатно (free)

Open-source проекты - важная часть мира программного обеспечения. 1С привычно держится немного в стороне от глобальных трендов, но бросить холодный статистический взгляд на положение дел мне показалось небезынтересным.

22.01.2024    7841    bayselonarrend    50    

86

TCP прокси-сервер хранилища конфигурации 1С

DevOps и автоматизация разработки Групповая разработка (Git, хранилище) OneScript Платформа 1С v8.3 Бесплатно (free)

Продолжение истории с прокси хранилища, но уже не на HTTP, а на TCP и без падений по памяти веб-сервера. Проверяем комментарии хранилища, вызываем веб-хуки, старты пайплайнов, gitsync по событию помещения версии в хранилище. И все это полностью на знакомом и понятном OneScript.

17.01.2024    2772    kamisov    17    

57

Отдай корень! Библиотека OneScript для получения информации о захваченных объектах в хранилище

Групповая разработка (Git, хранилище) Бесплатно (free)

Хранилище конфигурации 1С - это инструмент групповой разработки. Работают с хранилищем следующим образом: захватывают какой-либо объект, редактируют, потом отдают его в хранилище. Хранилище помечает уже захваченные объекты и не дает возможности захватить их другим пользователям. Это рождает и самый большой недостаток хранилища - невозможность работы с одним объектом нескольких пользователей, например в случае доработки разных методов в одном большом модуле. Корень конфигурации - это самый верхний ее узел. Только захватив корень, мы можем добавить в конфигурацию новые общие модули, документы, справочники, регистры и подобное. Только захватив корень можно изменить настройки поддержки конфигурации. Соответственно, если корень захвачен одним программистом, другой программист не может добавить новые объекты или снять что-то с поддержки. Потому то и всплывает эта фраза - отдай корень, мне нужно тоже что-то добавить.

26.12.2023    1336    ardn    1    

26

Git Code Review - инструмент для рецензирования кода

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Конфигурации 1cv8 1С:ERP Управление предприятием 2 Абонемент ($m)

Git Code Review - инструмент, позволяющий быстро анализировать изменения из git-репозитория прямо в 1С

1 стартмани

20.12.2023    3958    59    salexdv    26    

81
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. vcv 89 27.05.19 08:12 Сейчас в теме
А в каких условиях это работает? У меня все каталоги cfgrepo, найденные в подкаталогах C:\Users\<User>\AppData\Local\1C\1Cv8 пусты.
2. tormozit 7136 27.05.19 09:44 Сейчас в теме
(1) Назначение БД в папке cfgrepo по всей видимости в том, что она хранит локальную информацию о том, кем захвачен каждый объект метаданных. Если она пуста, то все должно работать быстро.
3. 1c_nik923 27.05.19 10:01 Сейчас в теме
(2) Каталоги пусты, но не всегда работает быстро, иногда просто считывает по 3-4 минуты. А иногда захват происходит моментально.
4. tormozit 7136 27.05.19 10:39 Сейчас в теме
(3)
Каталоги пусты, но не всегда работает быстро, иногда просто считывает по 3-4 минуты. А иногда захват происходит моментально.
В статье я описал решение проблемы, когда каждая операция выполняется долго. Не нужно проверять все каталоги. Нужно проверять только от конкретной базы.
5. zawal 15 27.05.19 11:21 Сейчас в теме
Постоянно сталкиваюсь с этой ситуацией при подключению к хранилищу.
Выяснил: если подключиться к хранилищу, и остаться в конфигурации, хранилище будет тормозить и жестко.
Подключиться и перезапустить программу все работает гут.
У меня это четкая закономерность.
Unk92; Lapitskiy; POWone; Pawlick; LeXXeR; zuxelzz; Gaster; TrofimovOK; wowik; defini; cleaner_it; SmArtist; Serj1C; Liily; jONES1979; Danil.Potapov; user836255; +17 Ответить
6. PerlAmutor 129 27.05.19 20:57 Сейчас в теме
(5) Ничего не понял. Когда открываете конфигуратор выдается запрос на ввод логина и пароля для подключения к хранилищу. Вводите, затем, закрываете конфигуратор, открываете заново и больше ничего не вводите?
7. Liily 28.05.19 10:29 Сейчас в теме
(5) Тоже так срабатывает. При первом подключении базы к хранилищу закрываю, открываю и всё работает ок.
Но все равно иногда тормоза бывают.
12. V1V 112 30.05.19 14:44 Сейчас в теме
(5) Не понял. Каждый раз отключатся и подключатся когда появляются тормоза? Да это же умереть можно, это очень долгий процесс.
user717534; +1 Ответить
8. igo1 266 28.05.19 20:30 Сейчас в теме
а ларчик просто открывался
Прикрепленные файлы:
9. tormozit 7136 29.05.19 09:21 Сейчас в теме
(8) Эта кнопка касается только серверной БД хранилища. В статье же речь про локальную БД хранилища.
10. tormozit 7136 29.05.19 09:27 Сейчас в теме
Добавил в статью еще один способ открыть каталог кэшей базы.
11. _coolmax_ 30.05.19 08:50 Сейчас в теме
Спасибо за информацию, но мне не помогло. Взаимодействие с хранилищем происходит очень медленно.
13. tormozit 7136 04.02.20 10:20 Сейчас в теме
Сегодня в очередной раз убедился в эффективности описанного в статье метода и заметил что он удаляет историю комментариев к коммитам. Чтобы история комментариев сохранилась, нужно внутри папки "cfgrepo" удалить все кроме файла "comments". Добавил это замечание в статью.
kostas; user811769; acanta; +3 Ответить
16. Cyberhawk 135 02.07.20 08:54 Сейчас в теме
(13) Предлагаю в статье уточнить, что эти комментарии удаляются только из локальной копии хранилища, а после "полного" переподключения к хранилищу эти комментарии восстановятся (станут снова видны).
А то у читателя может сложиться впечатление, что комментарии очищаются навсегда (в самом хранилище). По крайней мере у меня сначала сложилось именно такое впечатление.
user811769; +1 Ответить
14. Famza 84 06.02.20 10:30 Сейчас в теме
Серверное хк, служба крутиться вместе с сервером 1С и SQL, железо быстрое (SSD, SAS), конфигурация отраслевая на ERP УП.
Время последнего подключения 7,5 часов, памяти выделено 10Г в настройках хк. Подскажите, как определить почему тупит?
15. tormozit 7136 02.07.20 08:53 Сейчас в теме
Полезное обсуждение на тему публикации https://forum.mista.ru/topic.php?id=855881
Сам не проверял, но там рекомендуют такой способ
1. Остановка сервиса сервера приложений
2. Очистка кеша метаданных
3. Очистка через СУБД таблицы DepotFiles - "DELETE FROM [<ИмяБазыДанных>].[dbo].[DepotFiles]"
Papilion; +1 Ответить
18. tolyan_ekb 104 11.03.21 14:59 Сейчас в теме
(15) где находится таблица DepotFiles ? Я в базе, подключенной к хранилищу, нашел только Files, в которой есть строки с FileName = depot.dat и = depot.nfo. При ошибке
Ошибка доступа к файлу 'v8srvr://NN/NN/Files'
по причине:
Ошибка доступа к файлу '\depot.dat'
работы с хранилищем появляется строка depot.dat.new. Лечим пока полным удалением базы и созданием с новым именем. Был бы рад узнать как можно лечить эту ошибку.
user811769; +1 Ответить
19. leemuar 03.09.21 18:06 Сейчас в теме
(18) если таблицы DepotFiles в БД нет - значит либо у вас старая платформа либо эту таблицу кто-то руками удалял.
Вам нужно эту таблицу создать (можно перенести из другой серверной базы), затем сделать выгрузку базы в DT и потом загрузить из этого DT. Просто перенос таблицы не работает, а вот загрузка и выгрузка DT создает нужные метаданные где-то внутри. После этого быстрый захват начинает работать
17. Warrior82 23.09.20 08:42 Сейчас в теме
Мне помогла очистка локального кэша конфигурации! (не кэша локальной копии хранилища). И также необходимо после очистки перезайти в конфигуратор. Служба репозитария хранилища работает на серваке.
Lapitskiy; +1 Ответить
21. frkbvfnjh 785 20.10.21 07:15 Сейчас в теме
20. frkbvfnjh 785 20.10.21 07:15 Сейчас в теме
Для случая когда используется сервер хранилищ, мне метод не помог. Вопрос теперь в том как ускорить сервер хранилищ, видимо он тормозит
Оставьте свое сообщение