Имя: Пароль:
1C
1С v8
Обновление базы: как ускорить?
0 slafor
 
25.03.22
03:27
Получил сегодня по рассылке интереснейшую статью с видео, про обновление баз 1С, вернее, про его ускорение этого процесса. Вот ссылка: https://курсы-по-1с.рф/news/2022-03-24-how-to-speed-up-restructuring/ . Не реклама, просто правда интересно.

А теперь основные вопросы ) . Стоит задача обновления доработанной Розницы, через 10 промежуточных релизов, объем базы порядка 15 Гб. На MS SQL. Как посоветуете ускорить процесс (ну если в стандартном варианте, без использования предложений по ссылке выше)?
Я сторонний программист, работаю по удаленке, в другом городе. По rdp. Надо ли как-то договориться с сисадминами о предоставлении большего объема оперативки (как вообще посмотреть, сколько мне сейчас выделено?), о каких-то еще изменениях в системе, чтобы обновление шло у меня быстрее? Они согласятся, просто мне надо знать, чего от них нужно.

Ну и в дополнение - кто-то вариант по ссылке пробовал? ) Тоже очень интересно.
1 slafor
 
25.03.22
03:55
К скорости это не относится, но может быть кому-нибудь пригодится.

Сейчас пока делаю обновление на SQL-копии базы розницы, и сразу же столкнулся с той же проблемой, с которой уже сталкивался и о которой спрашивал на этом форуме. но нужного ответа не получил: Обновление Розницы 2.2 - 2.3. Ошибка при обновлении .

На первой же итерации обновления, после установки нужных параметров обновления и обновления конфигурации базы данных с реструктуризацией, при запуске 1С в режиме Предприятия возникла ошибка: "Слишком много фактических параметров" (по ссылке более подробно написано).

В прошлый раз я просто перенес обновление на файловый вариант базы, и это помогло. Но в этот раз решил действовать "до победного" на SQL - и понял, в чем тут дело.

Сначала несколько раз перезагрузил Предприятие - не помогло. А потом вспомнил, что перед обновлением я отключил ВСЕ регламентные задания, которые могли выполняться в фоне. Зашел в консоль администрирования серверов 1С Предприятия - и увидел, что там опять стали выполняться фоновые задания. Наверное, включились сами после обновления.Несколько раз подряд опять перезапустил Предприятие, попутно отключая самозапускающиеся фоновые задания через консоль, и когда получилось "успеть" - все ЗАРАБОТАЛО, и первое обновление прошло успешно!

Может быть, кому пригодится...
2 Anchorite
 
25.03.22
04:57
(1) >> Несколько раз подряд опять перезапустил Предприятие, попутно отключая самозапускающиеся фоновые задания через консоль, и когда получилось "УСПЕТЬ"

А зачем такие пляски с бубном? В Рознице есть какие-то проблемы с блокировкой регламентных через консоль сервера?
3 slafor
 
25.03.22
05:09
(2) Мне стыдно, но я об этом ничего не знал. Где можно получить подробную информацию о работе с консолью серверов?
4 Anchorite
 
25.03.22
05:20
(3) Честно сказать, и не знаю даже. Может, подскажет кто. Ну, кроме традиционных источников — вероятно, в руководстве администратора это есть, может где-нибудь в методических рекомендациях на партнёрском портале это в удобной форме как-нибудь изложено, там вообще много интересного. В любом случае, хоть что-нибудь-то почитать нужно бы. Ну, хотя бы просто внимательно изучить консоль управления и погуглить все интересные пункты, тогда бы точно стало известно про блокировку регламентных, там же прямо бросается в глаза этот пункт.
5 Фрэнки
 
25.03.22
09:12
// Зашел в консоль администрирования серверов 1С Предприятия - и увидел, что там опять стали выполняться фоновые задания.

т.е. все у него по идее включено. Доступ ему админы предоставили в RDP на минимально необходимое для нормальной работы админ-саппорта1С
6 Фрэнки
 
25.03.22
09:17
И момент, на который часто наступают, как на грабли.

Если конфа на актуальных релизах БСП, то установливать блокировку регламентых заданий на всю базу не желательно. Поскольку в конфигурацию встроено использование фоновых заданий, а они как раз и реализованы в виде регламентных. Уж не знаю как там получается с путаницей наименований терминов.
По идее, регламентное - это для обслуживания базы по какому-то регламенту. А рамках работы с конфигурацией получается не только обслуживание базы, но и произвольные фоновые задания тоже проходят в виде "регламентных", если смотреть на них из консоли администрирования
7 ДедМорроз
 
25.03.22
10:29
Регламентное задание - это запуск фонового задания по расписанию.
Все действия,которые вызываются неявно,вызываются через регламентные задания.
Блокировка регламентных заданий не мешает их явному запуску из программного кода.

В консоле есть галочка блокировки регламентных заданий,перед обновлением,желательно,ставить,а после успешного первого запуска - снимать.

В файловой базе регламентные задания выполняются только после запуска хоть одного подключения в режиме предпртятия,поэтому,при для обновления файловой базы ничего отключать не нужно,так как ничего нет.
Опубликованная файловая база,однако,требует остановки web-сервеоа,так как может быть им захвачена.
8 Фрэнки
 
25.03.22
10:31
(7) теорию услышал. Все верно.
на практике - не желательно устанавливать этой галочки по избежание необъяснимых трудностей при обновлении.
9 slafor
 
25.03.22
15:07
А кто-нибудь пробовал такой вариант длительного пошагового обновления через несколько релизов:
10 slafor
 
25.03.22
15:10
+(9) 1. Выгружаем базу, загружаем на SQL копию, обновляем.
2. За те 2-3 дня, что мы это делали, в рабочей базе, естественно, накопилась куча документов, новых элементов справочников и т.д., но сама конфигурация не менялась, они по прежнему идентичны. Используя обработку для обмена между идентичными базами (Выгрузка/загрузка данных XML для 8.3), переносим данные за этот период из рабочей базы в копию.
3. Загружаем копию в рабочую базу.

Какие здесь возможны подводные камни?
11 slafor
 
25.03.22
15:18
+(10) Да, и, конечно, надо предупредить всех пользователей, что если они что-то поменяют в старых документах вне этого периода, эти изменения так и останутся в старой базе )
Но это уже мелочи.
12 slafor
 
25.03.22
15:19
Больше меня беспокоит, будет ли эта обработка переносить новую номенклатуру - причем не всю, а именно НОВУЮ.
13 BBDragon
 
25.03.22
15:21
(10) Разница все-таки в конфигурациях будет, пусть и небольшая, все-таки вы обновления поставите. Но думаю особых проблем быть не должно, разве что серьезно поменяются сами документы, справочники. Я делал так не раз, но то была обычная БП 3.0. Насколько помню проблемы были лишь с документами по ЗП, правильный алгоритм выгружать их без движений, а уже после перепроводить.
Справочник Номенклатуры я выгружал полностью, проблем не было. Но тут конечно все зависит от его объема, у меня был не такой большой
14 Ногаминебить
 
25.03.22
15:26
(10) С чего бы это они идентичные? Одну обновили, вторая старая. В выходные стопануть или не сразу все 10, а постепенно делать. Переносить новое - геморно и главное непредсказуемо в плане косяков. В итоге наверняка попадалово вылезет.
15 slafor
 
25.03.22
15:28
(14) "С чего бы это они идентичные? "

Да, это я действительно сказал ерунду какую-то. Структура поменяется, без КД 2.1 здесь точно не обойтись...

Лучше уж начну обновление прямо на рабочей, и пока не закончу - фиг кто в базу сунется! )
16 slafor
 
25.03.22
15:30
(14) Насчет "В выходные стопануть" - не получится, это магазин, работает без выходных...
17 slafor
 
25.03.22
15:34
(0) Что-то я не услышал ответа на основной, первый вопрос этой ветки )

Но это я сам виноват - сразу на "фоновые задания" перескочил.

"Я сторонний программист, работаю по удаленке, в другом городе. По rdp. Надо ли как-то договориться с сисадминами о предоставлении большего объема оперативки (как вообще посмотреть, сколько мне сейчас выделено?), о каких-то еще изменениях в системе, чтобы обновление шло у меня быстрее? Они согласятся, просто мне надо знать, чего от них нужно.".
18 Ногаминебить
 
25.03.22
15:36
(16) Тогда не сразу 10 релизов, а рубить хвост кусочками. Возможно даже в режиме накатил парочку, они недельку поработали, всякие ошибочки поправил. Доработки мало ли как согласуются с новым функционалом. Оно может и дольше получится - но зато спокойнее.
19 Ногаминебить
 
25.03.22
15:40
(17) Если база нормально работает на текущем железе - ну плюс-минус обновление тоже отработает в разумные сроки. Не надо ничего трогать, тем более с позиции "стороннего программиста". Оно охота до кучи еще разбираться потом с "до тебя все работало, а после твоих настроек умерло"?
20 slafor
 
25.03.22
15:43
(17) Ну да, ты прав. К тому же, судя по всему, оперативка распределяется по пользователям как надо - когда ночью работаю в базе один, у меня все раза в два быстрее летает.
21 Ёпрст
 
25.03.22
15:50
(0) если что, реструктуризация v2 может закончится порчей базы и это, не обратимый процесс.
И от неё уже нельзя отказаться, в отличии от v1, где будет показ окошка с изменениями, что будет и что было.
22 Ёпрст
 
25.03.22
15:52
и помимо v2 есть еще рекомендации с ИТС на счет реструктуризации и регламентов в sql, типа мдоп увеличить и перевода базы в симпл + отключение планов на время реструктуризации и т.д.
Ну и это всё, не для ларьков с Розницей.
23 Фрэнки
 
25.03.22
15:53
5 копеек... если идет перескок через множество релизов и при этом это типовая, то работу с базой стопорить все-таки придется.

Снять актуальную копию. Снять актуальный срез накопившихся изменений в конфигурации.
Накатить на копию все обновления.
Накатить на послек обновления акутальный срез изменений.
Оттестировать, что функциональность конфигурации в пользовательском режиме не испортилась.
Сколько-то времени эта вся канитель займет.

Стопорнул базу для пользователь в удобный момент времени.
Зная о всех граблях, на высокой скорости накатил обновления структуры метаданных типовым обновлением до актуального релиза.
Заливаешь на актуальный релиз свою подготовленную обновленную и измененную конфигурацию.

Если время позволяет на копии проверить, то можно проверить и бывает такое, что все промежуточные релизы без сбоев накатываются одним обновлением.
Но это будет зависит от количества и наличия пошаговых реструктуризаций данных с выполнением обработок обновления, привязанных к структурам.
24 timurhv
 
25.03.22
16:21
(0) >Стоит задача обновления доработанной Розницы, через 10 промежуточных релизов, объем базы порядка 15 Гб
Дальше не читал, такие вопросы задают с базами >100Гб (редко), чаще >1Тб

На стороне SQL:
Сделать резервную копию
MDOP выставить в 0 или > 1 (количество потоков)
Simple Mode (чтобы не генерировать записи в журнал транзакций).
Обновить базу
Вернуть настройки обратно
Сделать резервную копию
25 rozer76
 
25.03.22
17:40
(24) как раз хинты MDOP = 0 уже работает и без V2. А вот если ТС "отважится" на V2 тогда (21) и (22)
26 PR
 
25.03.22
17:54
(0) Я так понимаю, это то же самое https://wonderland.v8.1c.ru/blog/optimizatsiya-restrukturizatsii-bazy-dannykh/
Пробовали, реально быстрее, 20 минут вместо 1 часа 50 минут
Закон Брукера: Даже маленькая практика стоит большой теории.