Новый режим реструктуризации (обновление базы данных на сервере в режиме v2)

Публикация № 934237 31.10.18

База данных - HighLoad оптимизация

реструктуризация обновление баз данных

Данная статья скорее является заметкой и отчетом об успешном использовании нового механизма реструктуризации баз данных 1С. Актуально для больших баз данных.

Дано:

Произвольная таблица (регистр, документ, справочник) в произвольной базе данных 1С, 100 млн строк, 60 Гб места на жестких дисках.

Требуется:

1. Добавить 1 произвольный реквизит (измерение).

2. Добавить индекс по уже существующему реквизиту (измерению).

3. Удалить 1 или несколько существующих реквизитов (измерений).

 

В режиме обычного обновления платформа по каждому из этих пунктов будет действовать следующим образом:

- создание копии исходной таблицы с новой структурой колонок;

- select из старой таблицы insert в новую;

- переименование новой таблицы, truncate старой таблицы.

И все это в транзакции.

Понятно, что для таких действий со 100 млн строк потребуется безумно много времени и весьма немало места.

 

Наш любимый вендор 1С наконец-таки пошел навстречу крупным компаниям, использующим платформу для промышленных решений и серьезной автоматизации. Начиная с версии 8.3.11 появился новый механизм реструктуризации, более "интеллектуальный", чем описанный выше.

Как он отработает?

1. Для любой таблицы будет выполнена инструкция alter table. Выполняется мгновенно. Без копирования строк из старой таблицы в новую. Будет добавлена колонка в таблицу БД с указанным Вами типом. Если тип, к примеру, ссылочный - значение колонки во всех строках будет вида "ПустаяСсылка" (16-ричное число 0x00000000000000000000000000000000).

2. Для добавления индекса сразу будет запущена инструкция create index. Без копирования строк из старой таблицы в новую. Если индексов несколько - команды create выполняются параллельно. На таблице 100 млн строк индексы по 3 реквизитам добавились за 30 минут (реальный живой тест не на самом мощном ПК с обычным жестким диском, не SSD).

3. В случае с реквизитом будет также выполнена инструкция alter. А вот в случае с удалением измерения из регистра накопления (например) - все несколько сложнее. Платформе придется выполнить "свертку" (group by) по новому составу измерений и записать новые данные в новую таблицу. Также это вызовет и перезапись таблицы итогов. 

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

Проведенные тесты:

1. Таблица табличной части документа, 80 млн строк, добавлены индексы по 3-м реквизитам ТЧ. Отработало за 35 минут.

2. Таблица периодического регистра сведений (ЦеныНоменклатуры), у 3-х измерений установлено свойство "ведущее". 100 млн. строк. Индексы построились за 1 час 20 минут.

При всех операциях лог-файл "распухал" вполне прогнозируемо относительно исходного размера таблицы в мегабайтах.

 

Как запустить обновление в новом режиме?

1. На сервере 1С обязательно должен быть установлен runtime Java 8. Разрядность Java обязательно должна совпадать с разрядностью сервер 1С. Для 32 бит качаем 32 бит, для 64 - 64. Скачать можно здесь: https://java.com/ru/download/

2. На сервере БД 1С, для службы агента sql обязательно должны быть разрешены подключения по TCP/IP (настраивается в диспетчере конфигурации SQL). Драйвер JDBC использует подключение tcp/ip для выполнения запросов t-sql.

3.1 Пакетный запуск

Текст скрипта для PowerShell (файлы .ps1)

Start-Sleep -Seconds 3
Get-WMIObject Win32_Process|where{$_.name -eq '1cv8.exe' -and $_.getowner().user -eq $env:UserName}|%{stop-process $_.ProcessId}Start-Sleep -Seconds 1
Start-Process -FilePath "C:\Program Files (x86)\1cv8\8.3.12.1529\bin\1cv8.exe" -ArgumentList " CONFIG /S localhost\bd_test /N UpdateRobot /P 123456 /UC 123456789 /UpdateDBCfg -Server -v2 "

В БД 1С должен быть создан пользователь UpdateRobot, с одной единственной ролью, с одним единственным правом доступа "Обновление конфигурации базы данных". Все остальные права доступа (администрирование, администрирование данных) - не нужны.

В таком режиме ход обновления можно отслеживать только через консоль администрирования кластера 1С и с помощью инструментов сервера БД (MS SQL Studio).

3.2 Настройка файла conf

Смотрим, что написано в файле conf

C:\Program Files (x86)\1cv8\8.3.12.1529\bin\conf

Ка правило, путь в нем указан так: ConfLocation=C:\Program Files (x86)\1cv8\conf

Правим указанный файл так, чтобы он содержал строку: UpdateDBCfg=v2

Пример:

SystemLanguage=System
UpdateDBCfg=v2

Далее, чтобы обновиться в режиме v2:

Конфигуратор - конфигурация БД - обновить конфигурацию БД на сервере.

 

Тесты проводились: платформа 8.3.12.1529 (клиент-сервер, 32 бит), сервер БД MS SQL 2012.

Буквально недавно в нашей организации таким образом было успешно обновлено 14 баз данных 1С размером от 500 Гб до 1 Тб.

ВАЖНО (выдержка с ИТС):

"2-я версия механизма реструктуризации работает только для клиент-серверного варианта работы информационной базы в том случае, если в качестве СУБД используется Microsoft SQL Server или PostgreSQL. Если планируется использование 2-й версии механизма реструктуризации совместно с СУБД Microsoft SQL Server, то сервер «1С:Предприятия» для соединения с СУБД должен использовать сетевой протокол TCP/IP (в терминах СУБД). Работа 2-й версии механизма реструктуризации не поддерживается в том случае, если сервер «1С:Предприятия» подключается к СУБД Microsoft SQL Server с использованием сетевых протоколов Разделяемая память или Именованные каналы."

https://its.1c.ru/db/v8311doc#bookmark:adm:TI000000376

UPD 14.06.2019

ВАЖНО: Если обновление по v2 падает с ошибкой - одна из причин может быть в том, что в вашей БД есть индексы, отличные от стандартных платформенных (добавленные вручную) - их необходимо физически удалить (именно удалить, а не отключить) перед запуском обновления.

UPD 10.09.2019

Если обновление v2 падает с ошибкой вида:

При работе механизма реструктуризации второй версии возникла ошибка. Код возврата: 1. Операция: prepare.

одна из возможных причин может быть следующей:

- вы добавили реквизит в документ/справочник/регистр и после добавления отсортировали список реквизитов по имени/синониму;

В этом случае java падает в зацикливание. Решение: сначала просто добавить реквизит, выполнить реструктуризацию по v2, затем уже отсортировать реквизиты и выполнить обновление по v1.

UPD 13.04.2022

На свежих релизах платформы (начиная с какой версии - не подскажу, не проверял, но точно старше 8.3.12) для включения настройки обновления v2 нужно редактировать "клиентский" conf.cfg, то есть файл на ПК, где физически открыт конфигуратор.

https://its.1c.ru/db/v8311doc#bookmark:adm:TI000000376

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. nyam-nyam 31.10.18 17:22 Сейчас в теме
Ещё по теме для тех кто тюнингует 1С+MS SQL: https://its.1c.ru/db/metod8dev/content/5945/hdoc.
Kinestetik; Дмитрий74Чел; Dach; Repich; +4 Ответить
2. Dach 361 31.10.18 17:48 Сейчас в теме
(1) да, весьма в тему, спасибо!
39. nytlenc 24.06.19 11:51 Сейчас в теме
(2) и еще в догонку по теме "для тех кто тюнингует 1С+MS SQL" http://v8.1c.ru/predpriyatie/questions_licence.htm#lrvs1cpp

это к последнему апдейту
ВАЖНО: Если обновление по v2 падает с ошибкой - одна из причин может быть в том, что в вашей БД есть индексы, отличные от стандартных платформенных (добавленные вручную) - их необходимо физически удалить (именно удалить, а не отключить) перед запуском обновления.
47. Andreynikus 1250 16.12.19 14:18 Сейчас в теме
(1) Ирония в том, что в старом механизме реструктуризации указание MAXDOP=0 используется по умолчанию, она добавлена в качестве опции в запросе на создание индекса.
А вот в новом механизме, который описан в данной статье, разработчики почему-то забыли эту опцию включить в запрос и если в настройках сервера MAXDOP равен 1, то реструктуризация будет медленнее чем хотелось бы . Возможно следует в статье 4-м пунктом добавить, что включение на сервере MAXDOP=0 на время реструктуризации, дополнительно ускорит этот процесс.
Shmell; a.doroshkevich; +2 Ответить
3. user612295_death4321 31.10.18 19:53 Сейчас в теме
Буду тестировать скоро отключение режима совместимости 8.2))) БД почти 3 ТБ.
4. vcv 89 31.10.18 20:02 Сейчас в теме
Двойственные чувства.
С одной стороны слава тебе Господи, наконец-то 1С сподобилась взяться за то, что куча народа ждало еще со времён 7.7. С другой стороны тут и Java, тут и Powershell… А сплясать в водолазном костюме в гамаке не надо?
kot26rus; svmix; Somebody1; NikeeNik; user790708; starik-2005; NoRazum; TeMochkiN; user774630; Glebis; Kinestetik; VitusBering; Antonov.AV; blackjack666; CodeNull; Brawler; Krio2; insurgut; manlak; memb3r; babys; sm.artem; Silenser; monkbest; Yakud3a; alest; Gang031; o.nikolaev; Ta_Da; djam_arttek; comol; Boulala; roman77; ilialin; zqzq; user747571; frkbvfnjh; LavinVladik; DrAku1a; slawanix; +40 Ответить
5. slawanix 9 31.10.18 23:08 Сейчас в теме
(4) аналогичные чувства... только обрадоваться хотел, но остался вопрос, почему нельзя сделать это всё прямо из платформы, по кнопке «сделать всё хорошо»?
TeMochkiN; Brawler; memb3r; Serg3141; djam_arttek; +5 Ответить
6. Vladimir Litvinenko 2786 31.10.18 23:36 Сейчас в теме
(4) Java - это отголоски наработок по платформе 1C 8.4. Развитие этой версии идет медленно и новостей давно не слышно, но ее наработки постепенно появляются в 8.3. На Java никто писать не заставляет, а представить машину без JRE сейчас сложно. И судя по всему с Java придется дружить всё больше - EDT, сервер взаимодействия и т.д.

Powershell для примера же приведен. Там кроме команды запуска 1С с параметрами "UpdateDBCfg -Server -v2" и нет ничего, одна консольная команда. Не внешнюю же обработку для выполнения одной консольной команды писать...
9. DrAku1a 1590 01.11.18 02:19 Сейчас в теме
(6)
Там кроме команды запуска 1С с параметрами "UpdateDBCfg -Server -v2" и нет ничего

CMD не подойдёт?
21. comol 4833 01.11.18 13:19 Сейчас в теме
(6)
а представить машину без JRE сейчас сложно
представить машину с JRE при нормальном админе сейчас сложно. Я про Win конечно...

Просто Java программистов "как грязи" и 1С решили подбирать весь мусор и писать на том подо что есть программисты. На Java не пишут системное ПО нормальные люди конечно, просто C++ ника нормального попробуй найди
Gilev.Vyacheslav; Chai Nic; Yashazz; frkbvfnjh; Brawler; Synoecium; Evg-Lylyk; monkbest; +8 9 Ответить
31. philya 76 07.11.18 08:13 Сейчас в теме
(21) я на java драйвера для фискальных регистраторов пишу, очень удобно, т.к. один код работает под виндой, линуксом и андроидом. Что я делаю не так? С++ я тоже умею.
METAL; o.nikolaev; manuel; Boulala; memb3r; LordKim; milov.aleksey; pfilyk; +8 Ответить
32. 7OH 68 07.11.18 11:06 Сейчас в теме
(31) драйвера или обёртки для готовых dll\so ?
33. philya 76 07.11.18 20:51 Сейчас в теме
(32) библиотеки работы с com/usb готовые, драйвера мои что-то типа....

@Override
public ByteBuffer getCommand() {
ByteBuffer data = ByteBuffer.allocate(12 + cashier.length() + cashierFiscalId.length());
data.order(ByteOrder.LITTLE_ENDIAN);
data.putShort((short) 2); // отчет об открытии смены
data.putShort((short) (4 + cashier.length() + 4 + cashierFiscalId.length()));
data.putShort((short) 1021);
data.putShort((short) cashier.length());
data.put(cashier.getBytes(Charset.forName("IBM866")));
data.putShort((short) 1203);
data.putShort((short) cashierFiscalId.length());
data.put(cashierFiscalId.getBytes(Charset.forName("IBM866")));

setData(data);
return super.getCommand();
}
38. Evil Beaver 7868 24.06.19 10:26 Сейчас в теме
(21) Ну при всей моей нелюбви к Джаве, я бы все-таки не стал называть ее мусором :) Тот же Apache Kafka на ней написан и шустр до безобразия.
dimadeev; Artem-B; Shmell; o.nikolaev; +4 Ответить
41. Antonov.AV 12.07.19 06:34 Сейчас в теме
(4) я думал только у меня такое ощущение)
7. palsergeich 01.11.18 00:08 Сейчас в теме
Я один раз пробовал.
Мне вывело сообщение ошибка и на какой то внутренний модуль.
Гугл сказал что ничего не светит. я сказал ок и по старому за 6 часов обновился.
Обидно конечно.
28. Repich 556 01.11.18 13:49 Сейчас в теме
(7)
Вот такое у меня сейчас. Ковыряемся. Ради спортивного интереса хочу докопаться до причин.

В процессе обновления конфигурации базы данных при работе оптимизированного механизма обновления произошла критическая ошибка
по причине:
Критическая ошибка работы Java-процесса.
Путь к Java: C:\Program Files\Java\jre1.8.0_181\bin\java.exe
Действие: prepare
Process ID: 22296
Код возврата: 1
Ошибка: Exception in thread "main" java.lang.IllegalStateException: Duplicate key ae4a0c5e-f97b-4cf4-96d8-c040bf8e222b
at java.util.stream.Collectors.lambda$throwingMerger$0(Unknown Source)
at java.util.HashMap.merge(Unknown Source)
at java.util.stream.Collectors.lambda$toMap$58(Unknown Source)
at java.util.stream.ReduceOps$3ReducingSink.accept(Unknown Source)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)
at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source)
at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.util.stream.ReferencePipeline.collect(Unknown Source)
at com._1c.dmf.v8.converters.parameters.documentjournal.GraphContent.<init>(GraphContent.java:24)
at com._1c.dmf.v8.cli.modelparsing.ConfigurationModelParser.deserializeGraphContent(ConfigurationModelParser.java:352)
at com._1c.dmf.v8.cli.modelparsing.ConfigurationModelParser.deserializeValue(ConfigurationModelParser.java:208)
at com._1c.dmf.v8.cli.modelparsing.ConfigurationModelParser.deserializeParameter(ConfigurationModelParser.java:172)
at com._1c.dmf.v8.cli.modelparsing.ConfigurationModelParser.deserializeAttributeParameter(ConfigurationModelParser.java:155)
at com._1c.dmf.v8.cli.modelparsing.ConfigurationModelParser.deserializeEntityParameters(ConfigurationModelParser.java:139)
at com._1c.dmf.v8.cli.modelparsing.ConfigurationModelParser.deserializeParameters(ConfigurationModelParser.java:112)
at com._1c.dmf.v8.cli.modelparsing.ConfigurationModelParser.parse(ConfigurationModelParser.java:92)
at com._1c.dmf.v8.internal.integration.Arguments.getOldModel(Arguments.java:84)
at com._1c.dmf.v8.internal.integration.DmfService.prepareMigration(DmfService.java:64)
at com._1c.dmf.v8.cli.Migration.run(Migration.java:90)
at com._1c.dmf.v8.cli.Migration.main(Migration.java:65)
29. palsergeich 01.11.18 17:05 Сейчас в теме
(28)
at java.util.HashMap.merge(Unknown Source)

Да что то очень похожее.
Причем все базы кроме нужной реструктурировались новым методом нормально.
Но там было не к спеху, и я просто сделал по старинке.
Изменений очень много было, может в этом была проблема?
30. Dach 361 01.11.18 19:43 Сейчас в теме
(28) поставь Яву не 181, а 171 или младше
8. silberRus 70 01.11.18 01:00 Сейчас в теме
Интересно что за данные в базе на 1тб.
10. buganov 195 01.11.18 05:09 Сейчас в теме
(8)скорее всего продажи, чеки, заказы на перемещение / перемещения на магазины.
У нас база 3 Тб
11. dsdred 2612 01.11.18 08:11 Сейчас в теме
(8)Размер базы обычной небольшой торговой сети, может быть еще с небольшим производством...
12. Dach 361 01.11.18 09:25 Сейчас в теме
Можно и cmd. Друзья, конечно это не одна кнопка "сделать всё хорошо", но уже существенный задел. База - склад, продажи, логистика. Плюс у нас ещё и РИБ. Механизм обновления активно используем, все работает... На ИТС информации мало, поэтому посчитал нужным поделиться опытом и отчитаться об успехе) в дальнейшем неплохо было бы иметь возможность обновляться пакетно с возможностью логгировать ход обновления
djam_arttek; +1 Ответить
13. Fox-trot 151 01.11.18 09:31 Сейчас в теме
(12)пока логирование обновления можно наблюдать на стороне базы данных
14. Xershi 1388 01.11.18 11:07 Сейчас в теме
У конфигурации режим совместимости был 8.3.11? Или ниже?
15. Dach 361 01.11.18 11:31 Сейчас в теме
(14) режим совместимости был выключен. Но думаю, в режиме совместимости 8.3.11 должно отработать
16. Xershi 1388 01.11.18 11:54 Сейчас в теме
(15) значит как и завялено при режиме совместимости 8.3.10 все будет по старому!
17. comol 4833 01.11.18 13:06 Сейчас в теме
О даааа!!!!! Это случилось! В 1С выучили Alter Table!
ipoloskov; alk; starik-2005; +3 Ответить
18. comol 4833 01.11.18 13:08 Сейчас в теме
Малину портит только " На сервере 1С обязательно должен быть установлен runtime Java 8". Вопрос "зачем так" наверное риторический...
ipoloskov; starik-2005; +2 Ответить
19. Dach 361 01.11.18 13:11 Сейчас в теме
(18) весь "интеллект" умных скриптов T-SQL написан на Java, в недрах платформы, насколько я понял ))
20. acanta 01.11.18 13:15 Сейчас в теме
(19) т.е. можно в принципе написать левый скрипт на Java, который реструктуризует базу под новую конфигурацию и зальет туда измененный cf с гитхаба или с какого нибудь каталога?
И все будет работать?
23. comol 4833 01.11.18 13:21 Сейчас в теме
(20) можно декомпильнуть то что написано, подправить и юзать как хочется теперь :)
25. acanta 01.11.18 13:25 Сейчас в теме
(23) на каждое добавление булева не надекомпилируешься. Но сама идея о неразрывном совмещении данных в базе и их интерфейса достаточно спорная.
При том, что на все итоги и индексы, целостность которых якобы гарантирует платформа, существуют процедуры SQL, выполняющие пересчеты.
22. comol 4833 01.11.18 13:20 Сейчас в теме
(19) в недрах платформы Java нет, иначе мы бы это уже "почувствовали".
Пока надеюсь что и не будет.
26. Dach 361 01.11.18 13:28 Сейчас в теме
(22) ну как-то же она тексты скриптов собирает, в зависимости от выполненных действий в конфигураторе
27. acanta 01.11.18 13:36 Сейчас в теме
(26) мы бы тоже хотели знать как и почему alter возник только сейчас. Исторически сложилось, что реструктуризация выполнялась таким образом в DBF. Сначала все измененные файлы складывались в папку NewStru, затем копировались вместо находящихся в базе. Почти цитирую старый мануал: при возникновении сбоя на первом этапе файлы в базе будут первоначальных вариантов и никакие данные не будут утеряны.
При возникновении сбоя на втором этапе часть данных в базе может стать некорректной, но всегда есть возможность скопировать файлы из NewStru и завершить процесс реструктуризации вручную. Исходили из положения что бакап и изменение структуры в процессе работы с DBF по-горячему сделать невозможно, а программист, обслуживающий конфигурацию не полезет в dbf и работу платформы, но точно знает основы работы с файлами в файловом менеджере.

В SQL есть возможность добавить колонку в таблицу в процессе работы. Немонопольно. Это не проблема для SQL, это проблема конфигуратора, который не умеет работать одновременно с разными версиями данных (до и после) какой то реструктуризации.
Gureev; 7OH; +2 Ответить
34. Andrefan 08.11.18 09:28 Сейчас в теме
(0) Спасибо за интересный материал! Не подскажите, режим совместимости с 8.2.13 возможно заставить работать этот механизм?
35. Dach 361 08.11.18 09:58 Сейчас в теме
(34) к сожалению, нет. Вам придется прибегать к другим методам... О том, как добавлять колонки и индексы в большие таблицы БД - куча статей есть на ИС, в том числе и у меня (не реклама)
36. Kamikadze 46 07.12.18 19:46 Сейчас в теме
Надо добавить, что для клиент - серверного варианта базы нужно перезапустить службу сервера 1С

У меня возникла ошибка

В процессе обновления конфигурации базы данных при работе механизма реструктуризации второй версии произошла критическая ошибка
по причине:
При работе механизма реструктуризации второй версии возникла ошибка. Код возврата: 1. Операция: execute.

Версия платформы 8.3.13.1513
48. Koluma 17.03.20 15:35 Сейчас в теме
(36)
При работе механизма реструктуризации второй версии возникла ошибка. Код возврата: 1. Операция: execute.




ВЫ поняли из-за чего эта ошибка выпала?
49. ITPartner1C 21.05.20 09:27 Сейчас в теме
(48) Получилось разобраться в чем причина?
50. Koluma 19.08.20 14:39 Сейчас в теме
(49) Добрый день!
Нет , не разобрались.
104. METAL 273 18.02.22 14:35 Сейчас в теме
(36)
для клиент - серверного варианта базы нужно перезапустить службу сервера 1С
Не нужно, даже конфигуратор перезапускать не надо после изменения conf.cfg
37. dmarenin 337 09.12.18 18:37 Сейчас в теме
40. 3vs 25.06.19 06:20 Сейчас в теме
А, говорят, Java теперь платная, Oracle денег просит за её использование
не в домашнем применении.
42. kauksi 211 19.07.19 11:17 Сейчас в теме
почти типовая УПП...
В процессе обновления конфигурации базы данных при работе оптимизированного механизма обновления произошла критическая ошибка
по причине:
Критическая ошибка работы Java-процесса.
Путь к Java: C:\Program Files (x86)\Java\jre1.8.0_221\bin\java.exe
Действие: prepare
Process ID: 2660
Код возврата: 1
Ошибка: Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
43. kauksi 211 19.07.19 11:44 Сейчас в теме
Эта проблема решилась добавлением опции JavaOpts=-Xmx2048m в conf.cfg, но теперь ошибка без расшифровки
Критическая ошибка работы Java-процесса.
Путь к Java: C:\Program Files (x86)\Java\jre1.8.0_221\bin\java.exe
Действие: prepare
Process ID: 3392
Код возврата: 1
Ошибка:
44. kauksi 211 19.07.19 11:45 Сейчас в теме
повышение режима совместимости УПП до 8.3.1 результатов не дало. Видать сырая еще опция
45. Dach 361 19.07.19 15:16 Сейчас в теме
(44) механизм работает с версии 8.3.11. Совместимость должна быть не ниже этой версии
46. bforce 479 10.08.19 12:37 Сейчас в теме
(45)
Неверно. У меня в режиме совместимости 8.3.6 отрабатывает.
105. METAL 273 18.02.22 14:37 Сейчас в теме
(46) Напрашивается вывод, что работает начиная с платформы 8.3.11, но режим совместимости не важен...
51. user912442 02.09.20 16:34 Сейчас в теме
Почему при установленной Джаве(64 бит, как и 1с на той же машине) ошибка

В процессе обновления конфигурации базы данных при работе оптимизированного механизма обновления произошла критическая ошибка
по причине:
Не определен путь до каталога установки Java.

Где 1С-ка пытается найти и не находит путь ?
85. exitel 10 24.11.21 11:01 Сейчас в теме
(51) получилось разобраться?
52. pavel_prostokishin 17.12.20 14:10 Сейчас в теме
Кто знает как вернуть старый механизм реструктуризации?

Из файла conf.cfg удалена строка UpdateDBCfg=v2.
Запуск обновления конфигурации выполняется через стандартную команду - F7.
Кэш клиента - очищен
Кэш сервера - очищен

Ошибка нового механизма появляется при обновлении любой базы на кластере
59. METAL 273 10.07.21 19:02 Сейчас в теме
(52)
Из файла conf.cfg удалена строка UpdateDBCfg=v2

Попробуйте вернуть эту строку UpdateDBCfg=v1
53. fatimasl 02.03.21 18:48 Сейчас в теме
Пробую добавить Разделитель в базу с данными. Разделитель = Общий реквизит типа Число,2. Если делать после этого обновление обычным механизмом обновления, то вижу, что в таблицах SQL была добавлена колонка _Fldхххх и значение в ней заполнено нулем. Эту колонку вижу в регистрах накопления, сведений, в справочниках и ТЧ спр-ков, документах и ТЧ док-тов.
54. fatimasl 02.03.21 18:57 Сейчас в теме
продолжаю: если же делать обновление оптимизированным образом, то выходит ошибка:
В процессе обновления конфигурации базы данных при работе оптимизированного механизма обновления произошла критическая ошибка
по причине:
Критическая ошибка работы Java-процесса.
Путь к Java: C:\Program Files (x86)\Java\jre1.8.0_144\bin\java.exe
Действие: execute
Process ID: 11096
Код возврата: 1
Ошибка: Exception in thread "main" com._1c.dmf.sqlframework.SqlExecutionException: An error occurred during execution of the sql operator
SQL reason: Cannot ins ert the val ue NULL into column '_Fld15210_NO', table 'AlkKrcTrade_test.dbo._Document11188_VT11194'; column does not allow nulls. UPD ATE fails.
SQL state: 23000
SQL: UPDATE __alias1 WITH(TABLOCK) SE T _Fld15210_NO = __alias2._Fld15210 FROM (_Document11188_VT11194 AS __alias1 LEFT JOIN _Document11188_NO AS __alias2 ON ((0x00002BB4 = 0x00002BB4) AND (__alias1._Document11188_IDRRef = __alias2._IDRRef)))

полный текст ошибки во вложении.
В таблицах SQL вижу, что в документах была создана колонка _Fld15210, а в ТЧ документов была создана колонка _Fld15210_NO и заполнены эти колонки нулями. Но UPDATE не проходит потому ,что нет таблицы _Document11188_NO? такой таблицы нет в базе данных. Подскажите, пожалуйста, как бороться с этим?

Платформа 8.3.18.1208
Конфигурация самописная, режим совместимости 8.3.11
Прикрепленные файлы:
ошибка.txt
55. fatimasl 04.03.21 10:06 Сейчас в теме
Проблема, описанная в 54, решилась: оказалось, что в таблице табличной части _Document11188_VT11194 были записи, которые ссылались на несуществующие записи в таблице _Document11188. После удаления этих записей из _Document11188_VT11194 оптимизированное обновление прошло успешно. Спасибо Николаю А. за подсказку!
56. Clyde_2007 25.05.21 16:22 Сейчас в теме
Подскажите, где ошибка:
Прописал в conf
ConfLocation=C:\Program Files\1cv8\conf
SystemLanguage=System
UpdateDBCfg=v2

Выходит ошибка:

Ошибка при выполнении операции с информационной базой
Запись не найдена в менеджере имен базы данных

Если удалить строки
SystemLanguage=System
UpdateDBCfg=v2

То Конфигуратор - конфигурация БД - обновить конфигурацию БД на сервере. запускается, но уже в обычном режиме. База не типовая 740Г
57. Dach 361 25.05.21 20:46 Сейчас в теме
(56) удалите расширения из базы, если они есть, почистите все кэши, обновитесь, накатите расширения обратно
107. e.a.afanasyev 17 04.03.22 00:13 Сейчас в теме
(56)
Запись не найдена в менеджере имен базы данных

как решили проблему?
58. пользователь 20.06.21 11:42
Сообщение было скрыто модератором.
...
60. METAL 273 10.07.21 19:05 Сейчас в теме
У меня вот такая ошибка

com.microsoft.sqlserver.jdbc.SQLServerException: This driver is not configured for integrated authentication. ClientConnectionId:9c149f85-00df-4bcd-8fe0-e6f123a96579

В чём может быть причина кто-то может подсказать?
Полный текст сообщения во вложении
Прикрепленные файлы:
Полный текст ошибки.txt
61. Dach 361 13.07.21 10:21 Сейчас в теме
(60)

"Caused by: java.lang.UnsatisfiedLinkError: no sqljdbc_auth in java.library.path:"

Вы либо используете MS SQL Server Express (а он не умеет в trusted connection через jdbc), либо у вас пакет с java "битый".

Как вариант, можно попробовать скачать библиотеку для авторизации и положить ее в папку java/bin

https://docs.microsoft.com/en-us/sql/connect/jdbc/release-notes-for-the-jdbc-driver?view=sql-server-ver15#92
62. METAL 273 13.07.21 10:55 Сейчас в теме
(61)
Microsoft SQL Server 2019 (RTM-GDR) (KB4583458) - 15.0.2080.9 (X64) Nov 6 2020 16:50:01 Copyright © 2019 Microsoft Corporation Developer Edition (64-bit) on Windows 10 Pro 10.0 <X64> (Build 19043: ) (Hypervisor)

А Developer Edition умеет?
63. Dach 361 13.07.21 15:10 Сейчас в теме
(62) умеет. Попробуйте снести jdk Liberica и поставить официальный jre по ссылке из статьи
64. METAL 273 01.10.21 22:23 Сейчас в теме
(63) Сработало! Качал отсюда https://java.com/ru/download/ (как и написано в статье)

Добавление 2х реквизитов документа
65. petrov_2015 08.10.21 14:47 Сейчас в теме
(45) В режиме совместимости в 8.2.13 тоже работает (УПП, 1С платфома 8.3.16.1148).
66. user645801_yyyuuu123q 11.10.21 00:51 Сейчас в теме
UpdateDBCfg=v2 Прописываем на сервере или с компа где обновляем?
67. Lihti 30.10.21 16:13 Сейчас в теме
Добрый день! При обновлении новым механизмом возникла ошибка:
Ошибка: Exception in thread "main" com._1c.dmf.sqlframework.SqlExecutionException: An error occurred during execution of the sql operator
SQL reason: The transaction log for database '1C_T_ERP_ABI_2' is full due to 'LOG_BACKUP'.
SQL state: S0002
Может кто сталкивался, как исправить?
68. frkbvfnjh 729 02.11.21 15:38 Сейчас в теме
Укажите еще в статье как проверить наличие на компьютере runtime Java 8, а то фиг пойми, надо его скачивать или нет
70. Dach 361 02.11.21 19:58 Сейчас в теме
(68) а что там проверять то?
В cmd наберите "where java"
72. frkbvfnjh 729 03.11.21 06:38 Сейчас в теме
(70) Спасибо. Я открыл для себя команду where
69. frkbvfnjh 729 02.11.21 15:42 Сейчас в теме
Это фиговина только с MS SQL работает что ли?
71. Dach 361 02.11.21 19:58 Сейчас в теме
(69) я не проверял работу механизма с PG, как-то не довелось ещё
73. frkbvfnjh 729 03.11.21 06:39 Сейчас в теме
(71) А, ну то есть теоретически нет ограничений на используемую СУБД? Или в документации где то ест список поддерживаемых?
74. frkbvfnjh 729 03.11.21 06:46 Сейчас в теме
(71) С PG работает как минимум хреново:
В процессе обновления конфигурации базы данных при работе оптимизированного механизма обновления произошла критическая ошибка
по причине:
Скрытый текст


Никакие индексы не менялись и вообще никакие манипуляции ни разу через PG выполнялись, так что 1С не потянул
75. Dach 361 03.11.21 11:14 Сейчас в теме
(74) попробуйте jdbc для PG скачать и положить jar-ник в папку java/bin

https://jdbc.postgresql.org/download.html
76. frkbvfnjh 729 03.11.21 12:41 Сейчас в теме
(75) Нет не помогло. Скачал postgresql-42.3.1.jar. У меня много версий java, закинул postgresql-42.3.1.jar в bin каждой версии. Ошибка примерно такая же. Если структуру БД не менять, то норм, а если к примеру ресурс в регистр добавить или реквизит в справочник, то ошибка. Может этот драйвер нужно как то по особенному прописывать в java? или файл как то переименовать?
78. Dach 361 03.11.21 15:03 Сейчас в теме
(76) не нужно. Делаем вывод, что с PG функционал не работает. Какая версия PG у вас?
80. frkbvfnjh 729 04.11.21 07:48 Сейчас в теме
(78) Платформа 1С 8.3.17.1549, PG 12
77. frkbvfnjh 729 03.11.21 12:47 Сейчас в теме
Как мне кстати закомментировать строку UpdateDBCfg=v2 в файле C:\Program Files (x86)\1cv8\conf\conf.cfg? Что бы не удалять ее и прописывать каждый раз.
79. Dach 361 03.11.21 15:03 Сейчас в теме
81. frkbvfnjh 729 04.11.21 07:49 Сейчас в теме
82. Sergeevich 34 10.11.21 17:23 Сейчас в теме
Столкнулся с ошибкой "В процессе обновления конфигурации базы данных при работе оптимизированного механизма обновления произошла критическая ошибка", в процессе обновления базы на стадии реструктуризации. База была Розница объем 364 Гб. Пробовал разное, не помогало. В итоге получилось обойти ошибку. Мне лично помогло, возможно поможет ещё кому то.

Последовательность следующая :

1. Отключаем режим #UpdateDBCfg=v2
2. Запускаем обновление в обычном режиме.
На стадии реструктуризации (так как у меня процесс заваливался именно на данной стадии), через диспетчер задач убить процесс 1cv8.
3. Включаем режим V2 UpdateDBCfg=v2
4. Запускаем и ждём.

После этого процесс завершился успешно.
83. Danila-Master 113 23.11.21 10:06 Сейчас в теме
Добрый день

Установил Java
В конфиг.-файле прописал UpdateDBCfg=v2

Уточните пожалуйста:
Нужно ли в строке запуска службы (в реестре) добавлять какие либо параметры?
Нужно ли перезапускать службу сервера 1С? Или так сразу будет работать?
84. Dach 361 23.11.21 13:09 Сейчас в теме
(83) строку запуска не надо трогать. Сразу будет работать, ничего более не нужно
Danila-Master; +1 Ответить
86. TMV 14 04.12.21 17:32 Сейчас в теме
Подскажите,
Работа 2-й версии механизма реструктуризации не поддерживается в том случае, если сервер «1С:Предприятия» подключается к СУБД Microsoft SQL Server с использованием сетевых протоколов Разделяемая память или Именованные каналы."
правильно понимаю, что сначала нужно отключить или пункта 2 достаточно?
2. На сервере БД 1С, для службы агента sql обязательно должны быть разрешены подключения по TCP/IP (настраивается в диспетчере конфигурации SQL).
87. METAL 273 14.12.21 13:14 Сейчас в теме
Подскажите пожалуйста, в чём может быть проблема?

8.3.20.1613

Microsoft SQL Server 2012 (SP1) - 11.0.3156.0 (X64)
May 4 2015 18:48:09
Copyright © Microsoft Corporation
Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)


В процессе обновления конфигурации базы данных при работе оптимизированного механизма обновления произошла критическая ошибка
по причине:
Критическая ошибка работы Java-процесса.
Путь к Java: C:\Program Files (x86)\Java\jre1.8.0_311\bin\java.exe
Действие: prepare
Process ID: 5640
Код возврата: 1
Ошибка: Exception in thread "main" com._1c.dmf.v8.cli.ApplicationException: com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "The server selected protocol version TLS10 is not accepted by client preferences [TLS12]".
остальной текст ошибки


Пробовал решить так - - но не помогло (конфигуратор перезапускал)
Пробую обновить MSSQL....
95. emcya 4 23.01.22 01:27 Сейчас в теме
(87) Мне помогло редактирование файла java.security (C:\Program Files\Java\jre1.8.0_321\lib\security) - удаление из строки jdk.tls.disabledAlgorithms "TLSv1, TLSv1.1,"
gerandy; user1739608; +2 Ответить
98. METAL 273 17.02.22 15:08 Сейчас в теме
(87) Обновление MSSQL до 2017 решило проблему
88. Dach 361 14.12.21 17:37 Сейчас в теме
(87)

Microsoft SQL Server 2012 (SP1) - 11.0.3156.0 (X64)
а на скрине Java 32

Может быть дело в этом
99. METAL 273 17.02.22 15:09 Сейчас в теме
(88) Насколько я смог выяснить - разрядность Java должна совпадать с клиентским приложением 1С, через которое открывается конфигуратор
100. Dach 361 17.02.22 19:23 Сейчас в теме
(99) с чего вдруг на клиентском то? Все запросы в СУБД выполняются от имени учетной записи сервера 1С (ну или от другой, прописанной в параметрах соединения базы в кластере НА СЕРВЕРЕ), но именно сервер 1С их и генерит. Да и сама функция в конфигураторе называется "Обновить конфигурацию БД *на сервере*". На клиенте у вас вообще Java может быть не установлена, главное, чтобы она была на сервере 1С и по разрядности совпадала с разрядностью платформы.

Если понаблюдать в мониторе текущих процессов в MS Studio, во время обновления по v2 - коннект к СУБД идет jdbc-драйвера, явно ведь он не из клиентского конфигуратора открыт.

Ну все ж логично и очевидно.

"смог выяснить" - г-н Шерстобитов у себя на курсе про разработку EDT ляпнул, что "на клиенте" и все за ним повторяют как попугаи
101. METAL 273 18.02.22 14:00 Сейчас в теме
(100)
с чего вдруг на клиентском то?
Ну conf.cfg мы где настраиваем? На клиенте, где конфигуратор открываем, так?
Но, возможно, Вы правы, а я мог ошибиться, из-за того, что сервер 1С у нас тоже 32хбитный... Проверю

"Обновить конфигурацию БД *на сервере*"
Что касается этого, то оптимизированный механизм в таком ключе я никогда не использовал, обычно по F7 обновляю, и он работает

На клиенте у вас вообще Java может быть не установлена
Вечером попробую
106. Dach 361 18.02.22 15:17 Сейчас в теме
(101)

если жмете "обновить конфу БД на сервере" - то conf.cfg на сервере
если жмете f7 ("синий бочонок") - то conf.cfg на клиенте

Но Java должна стоять на сервере 1С. Читаем ИТС:

UpdateDBCfg

Указывает, какая версия механизм реструктуризации информационной базы будет использоваться в том случае, если это явно не указано.

Параметр может принимать следующие значения:

● v1 ‑ 1-я версия механизма реструктуризации. Единственный вариант реструктуризации в «1С:Предприятии» версии 8.3.10 и младше.

● v2 ‑ 2-я версия механизма реструктуризации. Работает только для клиент-серверного варианта работы информационной базы в том случае, если в качестве СУБД используется Microsoft SQL Server или PostgreSQL. Если планируется использование 2-й версии механизма реструктуризации совместно с СУБД Microsoft SQL Server, то сервер «1С:Предприятия» для соединения с СУБД должен использовать сетевой протокол TCP/IP (в терминах СУБД). Работа 2-й версии механизма реструктуризации не поддерживается в том случае, если сервер «1С:Предприятия» подключается к СУБД Microsoft SQL Server с использованием сетевых протоколов Разделяемая память или Именованные каналы.
111. METAL 273 13.04.22 14:43 Сейчас в теме
(100)
с чего вдруг на клиентском то?

(106) https://its.1c.ru/db/v8311doc#bookmark:adm:TI000000376
UpdateDBCfg

Указывает, какая версия механизм реструктуризации информационной базы будет использоваться в том случае, если это явно не указано.

Параметр может принимать следующие значения:

● v1 ‑ 1-я версия механизма реструктуризации. Единственный вариант реструктуризации в «1С:Предприятии» версии 8.3.10 и младше.

● v2 ‑ 2-я версия механизма реструктуризации. Работает только для клиент-серверного варианта работы информационной базы в том случае, если в качестве СУБД используется Microsoft SQL Server или PostgreSQL. Если планируется использование 2-й версии механизма реструктуризации совместно с СУБД Microsoft SQL Server, то сервер «1С:Предприятия» для соединения с СУБД должен использовать сетевой протокол TCP/IP (в терминах СУБД). Работа 2-й версии механизма реструктуризации не поддерживается в том случае, если сервер «1С:Предприятия» подключается к СУБД Microsoft SQL Server с использованием сетевых протоколов Разделяемая память или Именованные каналы.

Значение по умолчанию: v1.

Используется в конфигурационном файле на компьютере, где запускается конфигуратор.
Цитата с ИТС
112. Dach 361 13.04.22 18:31 Сейчас в теме
(111)

сегодня буквально разбирались с этим

На более старых релизах работало так, как написано здесь в статье. То есть, если нажимали "синий бочонок" в конфигураторе на клиенте - анализировался клиентский conf.cfg. Если нажимали "конфигурация БД - обновить на сервере" - анализировался на сервере.

С какого-то релиза платформы ее разработчики отдали приоритет в рамках этого механизма клиентскому conf.cfg. И теперь неважно, что нажимать: "бочонок" или "обновить на сервере" - анализируется клиентский conf.cfg

Но так работало не всегда, на 8.3.12, на которой я впервые этот механизм попробовал - при "обновить конфигурацию на сервере" анализировался именно "серверный" conf.cfg

Релиз, с которого поведение стало соответствовать описанию на ИТС (кстати, возможно и описание поправили вместе с изменением) - не подскажу, надо проверять, тестировать.
Оставьте свое сообщение

См. также

Простой способ проверки быстродействия

HighLoad оптимизация Платформа 1С v8.3 Бесплатно (free)

Простой (а точнее, мегапростой) способ проверки быстродействия, когда очень важно его, быстродействие, улучшить

10.04.2023    2070    vkrivov@yandex.ru    14    

32

Пример многопоточной обработки (БСП)

Обработка документов HighLoad оптимизация Обработка справочников БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

13.02.2023    6186    5    echo77    8    

76

Нагрузочное тестирование в 1С:ERP

HighLoad оптимизация Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

Для того чтобы еще до внедрения информационной системы убедиться, что целевая система справится с ожидаемой нагрузкой, требуется провести нагрузочное тестирование. О том какие инструменты и методики помогут организовать подобный проект при внедрении 1С:ERP, и о том, какие неожиданные факторы могут влиять на производительность системы я и хотел бы рассказать в данной статье.

02.11.2022    4081    Tavalik    23    

34

MS SQL Server: ваши статистики не работают! Так ли все плохо на самом деле?

HighLoad оптимизация Бесплатно (free)

Состояние и качество статистик критически важны для эффективной работы системы. Но у заметной части типовых конфигураций статистики просто не могут работать эффективно. О том, почему так происходит и что с этим делать, на конференции Infostart Event 2021 Post-Apocalypse рассказал Александр Денисов.

27.09.2022    3372    Филин    11    

37

Утилита тестирования сервера 1С от HADGEHOGs

HighLoad оптимизация Мониторинг Платформа 1С v8.3 Россия Бесплатно (free)

Программа для тестирования вашей инфраструктуры 1С. Анализ ключевых параметров оборудования и ПО серверов 1С и MS SQL, поиск ошибок в базах 1С на стороне MS SQL, тестирование производительности серверов MS SQL и 1С, обмен результатами замеров с сообществом, построение отчета.

21.09.2022    13355    1020    Hadgehogs    56    

132

Быстрый фронт в базе размером 6.8 терабайт – наши стандарты при разработке и рефакторинге запросов

HighLoad оптимизация Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

От быстродействия запросов, которые обращаются к крупным таблицам, напрямую зависит скорость работы всей базы в целом. Артем Кузнецов, тимлид команды 1С в компании ООО «Финтех решения» на конференции Infostart Event 2021 Moscow Premiere рассказал, как оптимизировать производительность при поддержке больших систем. Показал, на что следует обращать внимание при код-ревью запросов, как оптимизировать RLS, виртуальные таблицы, индексы и условия, и как доработка архитектуры решения может ускорить работу базы.

29.08.2022    6443    Chernazem    44    

109

Ускорим проведение в 1С:Управление холдингом

HighLoad оптимизация Запросы Платформа 1С v8.3 1С:Управление холдингом Бесплатно (free)

В 1С:Управление холдингом есть "нехороший" запрос, который съедает значительную часть времени проведения документов. Если его подправить, то проведение заметно ускорится.

10.08.2022    5355    sapervodichka    64    

74

Методика похудения для 1С – 100%

Свертка базы HighLoad оптимизация Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Удаление архивных данных из базы - это непростая задача как для 1С, так и для любой базы данных. В статье изложены различные способы решения задачи, включая самый эффективный для 1С.

28.07.2022    6050    1CUnlimited    39    

45

Экспертный кейс. История расследования одного небыстрого закрытия месяца в 1C:ERP. Пример неочевидных путей расследования в виде детективной истории

HighLoad оптимизация Механизмы платформы 1С Запросы Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

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

11.07.2022    5808    it-expertise    27    

57

10 «заповедей» эксплуатации крупной информационной системы 1С

Управление ИТ-подразделением Внедрение ИТ-системы HighLoad оптимизация Бесплатно (free)

Крупные системы 1С давно уже перешагнули и десятки терабайт, и тысячи пользователей, но во многих случаях подход к эксплуатации таких систем остаётся не на должном уровне. Антон Дорошкевич на конференции Infostart Event 2021 Post-Apocalypse поделился более чем 10-ти летним опытом эксплуатации подобных систем, сведя его к 10 «заповедям», соблюдение которых сделает 1С надёжнее, а труд разработчика – благодарнее и благороднее.

11.07.2022    7959    a.doroshkevich    33    

86

Решение проблем подвисания 1С “в онлайне”. Инструмент - консоль управления блокировками и процессами 1С и PostgreSQL (MS SQL - тестируется)

HighLoad оптимизация Администрирование СУБД Платформа 1С v8.3 Управляемые формы 8.3.14 Конфигурации 1cv8 Абонемент ($m)

Обработка-консоль, улучшенная версия консоли администрирования 1С для решения проблем с производительностью, поиска и устранения блокировок и длительных запросов. Тестировалось на платформе 8.3.14, 8.3.17, 8.3.20 УФ.

1 стартмани

04.07.2022    7510    65    victor_goodwill    23    

38

Производительный режим работы RLS

HighLoad оптимизация Роли и права Платформа 1С v8.3 8.3.14 8.3.6 8.3.8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Комплексная автоматизация 2.х Бесплатно (free)

Функционал подсистемы УправлениеДоступом позволяет работать с RLS в двух режимах: стандартном и производительном. Каждый из режимов имеет свои преимущества и недостатки относительно другого. Основные из них будут рассмотрены в данном материале.

14.06.2022    9351    Neti    7    

97

Любовь. Быстродействие. 1С

HighLoad оптимизация Платформа 1С v8.3 Бесплатно (free)

Несколько эпизодов на общую тему, собранные за последние полгода. Первый вариант, будет исправляться и дополняться.

26.05.2022    4236    vasilev2015    20    

34

Оптимизация высоконагруженных конфигураций: история маленькой победы, или советы тем, кто столкнулся с проблемой впервые и не знает, что делать

HighLoad оптимизация Администрирование СУБД Платформа 1С v8.3 8.3.14 1С:ERP Управление предприятием 2 Россия Бесплатно (free)

Пост будет больше интересен руководителям отделов ИТ сопровождения или проектным менеджерам, перед которыми будет стоять задача решения проблемы деградации производительности баз данных 1С. Пост для тех, кому эта тема нова, нет особого опыта, и с ходу непонятно, с чего начать.

24.05.2022    4320    avolsed    15    

33

Несколько слов про платформенный механизм оптимизации RLS

HighLoad оптимизация Платформа 1С v8.3 Бесплатно (free)

Смотрим, как работает платформенный механизм оптимизации RLS, сравним поведение на разных СУБД MS SQL, Postgres 11,13,14.

07.04.2022    3894    ivanov660    23    

69

Экспертный кейс. Расследование фатального замедления времени расчета себестоимости в 1С:ERP 2

HighLoad оптимизация Механизмы типовых конфигураций Запросы Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

При выполнении нагрузочного тестирования информационной системы на базе 1С:ERP для одного из клиентов с целью оценки возможности миграции системы на PostgreSQL и Astra Linux мы столкнулись с неприемлемым увеличением времени выполнения расчета себестоимости. Строго говоря, сценарий тестирования закрытия месяца не был выполнен вообще – он не укладывался в таймаут выполнения теста, 24 часа. По прошествии 18 часов всё ещё шло выполнение операции «Распределение затрат и расчет себестоимости». Более 16 часов выполнялся подэтап “Расчет партий и себестоимости. Этап. Расчет себестоимости: РассчитатьСтоимость”. Всё это время выполнялся запрос, который в текущей инфраструктуре клиента (СУБД MS SQL Server) выполняется чуть более 3 минут на аналогичных данных.

25.03.2022    5917    it-expertise    92    

68

Пример пошагового решения проблемы производительности на базе Postgres SQL с картинками

HighLoad оптимизация Технологический журнал Платформа 1С v8.3 Бесплатно (free)

Рассмотрим по шагам процесс обнаружения, анализа и решения проблемы производительности на примере базы ERP, сравним отличия в работе Postgres и MS SQL.

28.02.2022    13662    ivanov660    18    

147

Привилегированные отчеты

Роли и права HighLoad оптимизация Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Расширение позволяет настроить для пользователей выполнение отчетов в привилегированном режиме. 1) Убирает тормоза формирования отчета, возникающие при наложении прав пользователя на запросы отчета; 2) Позволяет обойти ошибки формирования отчета из-за отсутствия прав на часть объектов у пользователя.

4 стартмани

24.01.2022    11291    27    sapervodichka    36    

102

Ускорение работы конфигуратора 1С с большими прикладными решениями

HighLoad оптимизация Платформа 1С v8.3 Бесплатно (free)

Ускорение работы 1С конфигуратора с большими прикладными решениями путем размещения системных каталогов 1С на RAM диске.

13.01.2022    7457    stg2005    105    

40

AMD RYZEN 5600X: погоня за попугаями

HighLoad оптимизация Бесплатно (free)

Все по-взрослому...

08.12.2021    8624    starik-2005    333    

39

Инструкция по получению плана запроса через Extended Events

HighLoad оптимизация Бесплатно (free)

Доброго времени суток, коллеги. Хочу рассказать, как можно посмотреть план запроса через механизм Extended Events. Я хочу ответить на вопрос - как разработчику через SQL Management Studio посмотреть, что запрос, который он сделал, работает оптимально. На Инфостарте есть несколько статей, которые посвящены трассировкам в этом механизме. Мне, когда я не понимал, как это правильно делать, не хватало простой пошаговой инструкции. Я напишу инструкцию, выполняя которую можно будет увидеть план запроса, который выполняется из базы данных.

22.11.2021    3090    Andrei_Ivanov    3    

46

Повышение производительности веб-сервисов. Переиспользование сеансов

WEB-интеграция HighLoad оптимизация Платформа 1С v8.3 Бесплатно (free)

Повышение производительности веб-сервисов. Переиспользование сеансов. Практическая реализация.

20.10.2021    4969    sorter1    3    

47

Изыскания на тему записи в регистр сведений

HighLoad оптимизация Платформа 1С v8.3 Платформа 1C v8.2 Конфигурации 1cv8 Абонемент ($m)

Уважаемые коллеги, здравствуйте! Сегодня хочу поделиться с Вами своими изысканиями на тему записи в регистр сведений в контексте оптимизации одной операции. Однажды мы столкнулись со следующей проблемой: поступили жалобы от разработчиков сайта, что наш веб-сервис очень медленно реагирует, точней, обработка запроса не укладывается в таймаут 5 секунд, и сайт получает ошибку 500. Стали разбираться, и вот что выяснили.

1 стартмани

21.09.2021    14060    0    METAL    57    

104

Адекватный параллелизм в 1С

HighLoad оптимизация Платформа 1С v8.3 Бесплатно (free)

Параллелизм ускоряет выполнение тяжелых регламентных операций на СУБД, но может негативно влиять на работу многопользовательских учетных систем. О том, как анализировать влияние параллелизма и настраивать его для MS SQL и PostgreSQL, рассказал ведущий разработчик компании ООО МКК «Ваш Инвестор» Вадим Фоминых.

13.08.2021    15532    Shmell    8    

59

Создаем счетчики производительности Windows для 1С

HighLoad оптимизация Бесплатно (free)

В статье описан подход, позволяющий создавать счетчики производительности Windows для 1С:Предприятие.

09.08.2021    5088    blackhole321    8    

50

Распространенные ошибки разработчиков, приводящие к проблемам производительности

HighLoad оптимизация Рефакторинг и качество кода Платформа 1С v8.3 Бесплатно (free)

Рассмотрим примеры ошибок, анализ, исправление и мероприятия по недопущению подобного в будущем. Всего будет 18 примеров.

02.08.2021    16573    ivanov660    77    

142